From 01beb61f0c6fb050d616457fc7c288e0306f3939 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Sun, 31 Dec 2023 14:51:43 +0530 Subject: [PATCH] fix: added CRM View Settings store --- frontend/src/stores/views.js | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 frontend/src/stores/views.js diff --git a/frontend/src/stores/views.js b/frontend/src/stores/views.js new file mode 100644 index 00000000..64039643 --- /dev/null +++ b/frontend/src/stores/views.js @@ -0,0 +1,34 @@ +import { defineStore } from 'pinia' +import { createListResource } from 'frappe-ui' +import { reactive } from 'vue' + +export const viewsStore = defineStore('crm-views', () => { + let viewsByName = reactive({}) + + const views = createListResource({ + doctype: 'CRM View Settings', + fields: ['*'], + cache: 'crm-views', + initialData: [], + auto: true, + transform(views) { + for (let view of views) { + viewsByName[view.name] = view + } + return views + }, + }) + + function getView(view) { + if (!view) return null + if (!viewsByName[view]) { + views.reload() + } + return viewsByName[view] + } + + return { + views, + getView, + } +})