From 16a3f3d66c3eec4c2e9ded6ae1468002409107ad Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Thu, 1 May 2025 17:56:18 +0530 Subject: [PATCH] fix: created triggerOnChange method --- frontend/src/data/document.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/frontend/src/data/document.js b/frontend/src/data/document.js index 884d0876..0c2f96a3 100644 --- a/frontend/src/data/document.js +++ b/frontend/src/data/document.js @@ -44,10 +44,30 @@ export function useDocument(doctype, docname) { documentsCache[doctype][docname]['controller'] = doctypeController } + async function triggerOnChange(fieldname) { + if (!documentsCache[doctype][docname]?.controller) return + + const c = documentsCache[doctype][docname].controller + c.oldValue = getOldValue(fieldname) + c.value = documentsCache[doctype][docname].doc[fieldname] + + return await c[fieldname]?.() + } + + function getOldValue(fieldname) { + if (!documentsCache[doctype][docname]) return '' + + const document = documentsCache[doctype][docname] + const oldDoc = document.originalDoc + return oldDoc?.[fieldname] || document.doc[fieldname] + } + return { document: documentsCache[doctype][docname], getActions: () => documentsCache[doctype][docname]?.controller?.actions || [], + getOldValue, + triggerOnChange, setupFormScript, } }