From 1e2f325c55e05bc711f8b97a1d96fd5c7316b0f4 Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Thu, 1 May 2025 17:55:54 +0530 Subject: [PATCH] fix: setup form script in document.js --- frontend/src/data/document.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/frontend/src/data/document.js b/frontend/src/data/document.js index 052023b5..884d0876 100644 --- a/frontend/src/data/document.js +++ b/frontend/src/data/document.js @@ -1,15 +1,19 @@ +import { getScript } from '@/data/script' import { createToast } from '@/utils' import { createDocumentResource } from 'frappe-ui' const documentsCache = {} export function useDocument(doctype, docname) { + const { setupScript } = getScript(doctype) + documentsCache[doctype] = documentsCache[doctype] || {} if (!documentsCache[doctype][docname]) { documentsCache[doctype][docname] = createDocumentResource({ doctype: doctype, name: docname, + onSuccess: () => setupFormScript(), setValue: { onSuccess: () => { createToast({ @@ -30,7 +34,20 @@ export function useDocument(doctype, docname) { }) } + function setupFormScript() { + const controllers = setupScript(documentsCache[doctype][docname]) + const doctypeName = doctype.replace(/\s+/g, '') + const doctypeController = controllers[doctypeName] + + if (!doctypeController) return + + documentsCache[doctype][docname]['controller'] = doctypeController + } + return { document: documentsCache[doctype][docname], + getActions: () => + documentsCache[doctype][docname]?.controller?.actions || [], + setupFormScript, } }