diff --git a/frontend/src/pages/Dashboard.vue b/frontend/src/pages/Dashboard.vue index b3c1df8b..0100ba26 100644 --- a/frontend/src/pages/Dashboard.vue +++ b/frontend/src/pages/Dashboard.vue @@ -34,6 +34,7 @@ v-if="editing" variant="solid" :label="__('Save')" + :loading="saveDashboard.loading" @click="save" /> @@ -252,6 +253,28 @@ function cancel() { dashboardItems.reload() } +const saveDashboard = createResource({ + url: 'frappe.client.set_value', + method: 'POST', + onSuccess: () => { + dashboardItems.reload() + editing.value = false + }, +}) + +function save() { + const dashboardItemsCopy = JSON.parse(JSON.stringify(dashboardItems.data)) + dashboardItemsCopy.forEach((item: any) => { + delete item.data + }) + saveDashboard.submit({ + doctype: 'CRM Dashboard', + name: 'Manager Dashboard', + fieldname: 'layout', + value: JSON.stringify(dashboardItemsCopy), + }) +} + usePageMeta(() => { return { title: __('CRM Dashboard') } })