From 3f3bf04395ee8cdb4ee7192d4be6f3cc0b35967f Mon Sep 17 00:00:00 2001 From: Shariq Ansari Date: Sun, 23 Oct 2022 20:21:09 +0530 Subject: [PATCH] fix: show read only indicator --- frappe/public/js/form_builder/form_builder.bundle.js | 7 +++++-- frappe/public/js/form_builder/store.js | 8 +++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/frappe/public/js/form_builder/form_builder.bundle.js b/frappe/public/js/form_builder/form_builder.bundle.js index f6b3ee1891..b40e204321 100644 --- a/frappe/public/js/form_builder/form_builder.bundle.js +++ b/frappe/public/js/form_builder/form_builder.bundle.js @@ -64,7 +64,7 @@ class FormBuilder { () => this.store.dirty, (dirty) => { if (dirty) { - this.page.set_indicator("Not Saved", "orange"); + this.page.set_indicator(__("Not Saved"), "orange"); this.reset_changes_btn.show(); } else { this.page.clear_indicator(); @@ -85,7 +85,10 @@ class FormBuilder { watch( () => this.store.read_only, - (value) => this.primary_btn.toggle(!value), + (value) => { + this.primary_btn.toggle(!value); + value && this.page.set_indicator(__("Read Only"), "orange"); + }, { immediate: true } ); } diff --git a/frappe/public/js/form_builder/store.js b/frappe/public/js/form_builder/store.js index 3baa13b993..4589b8197a 100644 --- a/frappe/public/js/form_builder/store.js +++ b/frappe/public/js/form_builder/store.js @@ -53,10 +53,8 @@ export const useStore = defineStore("store", { doc.doc_type = this.doctype; let r = await frappe.call({ method: "fetch_to_customize", doc }); this.doc = r.docs[0]; - this.read_only = false; } else { this.doc = await frappe.db.get_doc("DocType", this.doctype); - this.read_only = !frappe.boot.developer_mode && !this.doc.custom; } if (!this.get_docfields.length) { @@ -72,7 +70,11 @@ export const useStore = defineStore("store", { this.layout = this.get_layout(); this.active_tab = this.layout.tabs[0].df.name; - nextTick(() => (this.dirty = false)); + nextTick(() => { + this.dirty = false; + this.read_only = + !this.is_customize_form && !frappe.boot.developer_mode && !this.doc.custom; + }); }, async reset_changes() { await this.fetch();