From 3a8354ab3d1143e01eb28629b0b386a1b8f08e49 Mon Sep 17 00:00:00 2001 From: Pardhav Maradani Date: Sat, 20 Jun 2026 21:16:45 +0530 Subject: [PATCH 1/2] Add dashboard grid layout presets --- .../src/__tests__/views/DashboardView.spec.js | 28 ++++ mdadash/frontend/src/views/DashboardView.vue | 144 +++++++++++++++++- 2 files changed, 168 insertions(+), 4 deletions(-) diff --git a/mdadash/frontend/src/__tests__/views/DashboardView.spec.js b/mdadash/frontend/src/__tests__/views/DashboardView.spec.js index 699da35..cd35d12 100644 --- a/mdadash/frontend/src/__tests__/views/DashboardView.spec.js +++ b/mdadash/frontend/src/__tests__/views/DashboardView.spec.js @@ -366,4 +366,32 @@ describe('DashboardView.vue', () => { // check remove widget sent to server expect(socket.emit).toHaveBeenCalledWith('widgets:remove_widget', 'uuid1') }) + + it('test display presets', async () => { + const wrapper = mount(KeepAliveDashboardView, { + global: { + provide: allProvides, + }, + }) + expect(wrapper.findComponent(DashboardView).exists()).toBe(true) + const dashboard = wrapper.findComponent(DashboardView) + expect(dashboard.exists()).toBe(true) + // create test layout + dashboard.vm.layoutWidgets = widgetsLayout + dashboard.vm.displayedLayoutWidgets = ref(widgetsLayout) + await flushPromises() + // check preset values + let components = dashboard.findAllComponents({ name: 'VSelect' }) + const gridPresetSelect = components[0] + gridPresetSelect.vm.$slots.item({ item: dashboard.vm.gridPresetIconItems }) + expect(gridPresetSelect).toBeDefined() + await gridPresetSelect.setValue(dashboard.vm.gridPresetIcons.col1) + expect(dashboard.vm.gridEditable).toBe(false) + await gridPresetSelect.setValue(dashboard.vm.gridPresetIcons.col2) + expect(dashboard.vm.gridEditable).toBe(false) + await gridPresetSelect.setValue(dashboard.vm.gridPresetIcons.col3) + expect(dashboard.vm.gridEditable).toBe(false) + await gridPresetSelect.setValue(dashboard.vm.gridPresetIcons.editable) + expect(dashboard.vm.gridEditable).toBe(true) + }) }) diff --git a/mdadash/frontend/src/views/DashboardView.vue b/mdadash/frontend/src/views/DashboardView.vue index 261fcc5..ba3c863 100644 --- a/mdadash/frontend/src/views/DashboardView.vue +++ b/mdadash/frontend/src/views/DashboardView.vue @@ -81,6 +81,39 @@
+
+ + + + +
@@ -253,7 +286,7 @@ - + From fa59610d63232395c4f5b1677dad84121f93c5eb Mon Sep 17 00:00:00 2001 From: Pardhav Maradani Date: Sat, 20 Jun 2026 21:18:23 +0530 Subject: [PATCH 2/2] Update CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e47f87f..06ed6cf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,6 +33,7 @@ The rules for this file: - Reduce package size by moving away from mdi/font to mdi/js (PR #9) - Added support to display imdclient session info (PR #10) - Added widget inputs support (PR #11) +- Added dashboard grid layout presets (PR #12) ### Fixed