From f01130d1da8262c2037963e0845a99bb6a0f3fee Mon Sep 17 00:00:00 2001 From: Faris Ansari Date: Fri, 22 Mar 2019 18:56:22 +0530 Subject: [PATCH] fix(HTML Editor): Update preview when form changes (#7108) --- frappe/public/js/frappe/form/controls/code.js | 2 +- frappe/public/js/frappe/form/controls/html_editor.js | 1 + frappe/public/js/frappe/form/controls/markdown_editor.js | 7 +++++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/form/controls/code.js b/frappe/public/js/frappe/form/controls/code.js index 256a44e106..9d6f705523 100644 --- a/frappe/public/js/frappe/form/controls/code.js +++ b/frappe/public/js/frappe/form/controls/code.js @@ -54,7 +54,7 @@ frappe.ui.form.ControlCode = frappe.ui.form.ControlText.extend({ }, set_formatted_input(value) { - this.load_lib().then(() => { + return this.load_lib().then(() => { if (!this.editor) return; if (!value) value = ''; if (value === this.get_input_value()) return; diff --git a/frappe/public/js/frappe/form/controls/html_editor.js b/frappe/public/js/frappe/form/controls/html_editor.js index cb6950fb2f..f708bdbd98 100644 --- a/frappe/public/js/frappe/form/controls/html_editor.js +++ b/frappe/public/js/frappe/form/controls/html_editor.js @@ -5,6 +5,7 @@ frappe.ui.form.ControlHTMLEditor = frappe.ui.form.ControlMarkdownEditor.extend({ this._super(); }, update_preview() { + if (!this.markdown_preview) return; let value = this.get_value() || ''; value = frappe.dom.remove_script_and_style(value); this.markdown_preview.html(value); diff --git a/frappe/public/js/frappe/form/controls/markdown_editor.js b/frappe/public/js/frappe/form/controls/markdown_editor.js index 7d773e8a34..ee00fef0f7 100644 --- a/frappe/public/js/frappe/form/controls/markdown_editor.js +++ b/frappe/public/js/frappe/form/controls/markdown_editor.js @@ -35,5 +35,12 @@ frappe.ui.form.ControlMarkdownEditor = frappe.ui.form.ControlCode.extend({ update_preview() { const value = this.get_value() || ""; this.markdown_preview.html(frappe.markdown(value)); + }, + + set_formatted_input(value) { + this._super(value) + .then(() => { + this.update_preview(); + }); } });