From cbf0c800422bc082af05891372706a92c751c54e Mon Sep 17 00:00:00 2001 From: Corentin Forler <8860073-cforler_dokos@users.noreply.gitlab.com> Date: Fri, 5 Apr 2024 17:59:15 +0200 Subject: [PATCH] fix(TextEditor): In grid row, make read only and hide toolbar --- frappe/public/js/frappe/form/controls/text_editor.js | 10 +++++++++- frappe/public/js/frappe/form/grid_row.js | 6 ------ frappe/public/scss/common/grid.scss | 7 ++++++- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/frappe/public/js/frappe/form/controls/text_editor.js b/frappe/public/js/frappe/form/controls/text_editor.js index b51c4eae63..4195efea58 100644 --- a/frappe/public/js/frappe/form/controls/text_editor.js +++ b/frappe/public/js/frappe/form/controls/text_editor.js @@ -330,7 +330,7 @@ frappe.ui.form.ControlTextEditor = class ControlTextEditor extends frappe.ui.for } get_quill_options() { - return { + const options = { modules: { toolbar: Object.keys(this.df).includes("get_toolbar_options") ? this.df.get_toolbar_options() @@ -345,6 +345,14 @@ frappe.ui.form.ControlTextEditor = class ControlTextEditor extends frappe.ui.for bounds: document.body, placeholder: this.df.placeholder || "", }; + + // In a grid row where space is constrained, hide the toolbar and make the editor read-only. + if (this.grid_row) { + options.theme = "bubble"; + options.readOnly = true; + } + + return options; } get_mention_options() { diff --git a/frappe/public/js/frappe/form/grid_row.js b/frappe/public/js/frappe/form/grid_row.js index 18cd8d34bf..95e26054ed 100644 --- a/frappe/public/js/frappe/form/grid_row.js +++ b/frappe/public/js/frappe/form/grid_row.js @@ -1095,12 +1095,6 @@ export default class GridRow { parent = column.field_area, df = column.df; - // no text editor in grid - if (df.fieldtype == "Text Editor") { - df = Object.assign({}, df); - df.fieldtype = "Text"; - } - var field = frappe.ui.form.make_control({ df: df, parent: parent, diff --git a/frappe/public/scss/common/grid.scss b/frappe/public/scss/common/grid.scss index eafc167f1b..ae5f7d35cf 100644 --- a/frappe/public/scss/common/grid.scss +++ b/frappe/public/scss/common/grid.scss @@ -264,7 +264,8 @@ height: var(--grid-row-height) !important; } - .form-control { + .form-control, + .ql-editor { border-radius: 0px; border: 0px; padding: var(--grid-padding); @@ -332,6 +333,10 @@ .grid-static-col[data-fieldtype="Text Editor"] { overflow: hidden; + .ql-editor { + min-height: 0 !important; + max-height: unset !important; + } } } -- GitLab