From 165607565ee29985490c6f3f059e0c6f6a05ad61 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Thu, 22 Apr 2021 12:43:30 +0530 Subject: [PATCH 1/2] fix: Hide grid Add Row & Add Multiple buttons when document grid is not editable --- frappe/public/js/frappe/form/grid.js | 2 ++ frappe/public/js/frappe/form/grid_row.js | 4 ++-- frappe/public/js/frappe/form/grid_row_form.js | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/frappe/public/js/frappe/form/grid.js b/frappe/public/js/frappe/form/grid.js index 86feefed7a..30a3597ec7 100644 --- a/frappe/public/js/frappe/form/grid.js +++ b/frappe/public/js/frappe/form/grid.js @@ -387,6 +387,8 @@ export default class Grid { this.wrapper.find('.grid-footer').toggle(false); } + this.wrapper.find('.grid-add-row, .grid-add-multiple-rows').toggle(this.is_editable()) + } truncate_rows() { diff --git a/frappe/public/js/frappe/form/grid_row.js b/frappe/public/js/frappe/form/grid_row.js index 4afa251c27..08267112de 100644 --- a/frappe/public/js/frappe/form/grid_row.js +++ b/frappe/public/js/frappe/form/grid_row.js @@ -558,10 +558,10 @@ export default class GridRow { // this.form_panel.toggle(true); if (this.grid.cannot_add_rows || (this.grid.df && this.grid.df.cannot_add_rows)) { - this.wrapper.find('.grid-insert-row-below, .grid-insert-row, .grid-duplicate-row') + this.wrapper.find('.grid-insert-row-below, .grid-insert-row, .grid-duplicate-row, .grid-append-row') .addClass('hidden'); } else { - this.wrapper.find('.grid-insert-row-below, .grid-insert-row, .grid-duplicate-row') + this.wrapper.find('.grid-insert-row-below, .grid-insert-row, .grid-duplicate-row, .grid-append-row') .removeClass('hidden'); } diff --git a/frappe/public/js/frappe/form/grid_row_form.js b/frappe/public/js/frappe/form/grid_row_form.js index 68e4178ae7..f5a4af206f 100644 --- a/frappe/public/js/frappe/form/grid_row_form.js +++ b/frappe/public/js/frappe/form/grid_row_form.js @@ -119,7 +119,7 @@ export default class GridRowForm { }); } toggle_add_delete_button_display($parent) { - $parent.find(".row-actions") + $parent.find(".row-actions, .grid-append-row") .toggle(this.row.grid.is_editable()); } refresh_field(fieldname) { From b4fa6d56df154f3b659a46243b2f73c733d85121 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Thu, 22 Apr 2021 13:34:45 +0530 Subject: [PATCH 2/2] refactor: Using toggle instead of addClass-removeClass --- frappe/public/js/frappe/form/grid.js | 2 +- frappe/public/js/frappe/form/grid_row.js | 11 ++++------- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/frappe/public/js/frappe/form/grid.js b/frappe/public/js/frappe/form/grid.js index 30a3597ec7..4d381c9be7 100644 --- a/frappe/public/js/frappe/form/grid.js +++ b/frappe/public/js/frappe/form/grid.js @@ -387,7 +387,7 @@ export default class Grid { this.wrapper.find('.grid-footer').toggle(false); } - this.wrapper.find('.grid-add-row, .grid-add-multiple-rows').toggle(this.is_editable()) + this.wrapper.find('.grid-add-row, .grid-add-multiple-rows').toggle(this.is_editable()); } diff --git a/frappe/public/js/frappe/form/grid_row.js b/frappe/public/js/frappe/form/grid_row.js index 08267112de..9a689fabf4 100644 --- a/frappe/public/js/frappe/form/grid_row.js +++ b/frappe/public/js/frappe/form/grid_row.js @@ -557,13 +557,10 @@ export default class GridRow { this.row.toggle(false); // this.form_panel.toggle(true); - if (this.grid.cannot_add_rows || (this.grid.df && this.grid.df.cannot_add_rows)) { - this.wrapper.find('.grid-insert-row-below, .grid-insert-row, .grid-duplicate-row, .grid-append-row') - .addClass('hidden'); - } else { - this.wrapper.find('.grid-insert-row-below, .grid-insert-row, .grid-duplicate-row, .grid-append-row') - .removeClass('hidden'); - } + let cannot_add_rows = this.grid.cannot_add_rows || (this.grid.df && this.grid.df.cannot_add_rows); + this.wrapper + .find('.grid-insert-row-below, .grid-insert-row, .grid-duplicate-row, .grid-append-row') + .toggle(!cannot_add_rows); frappe.dom.freeze("", "dark"); if (cur_frm) cur_frm.cur_grid = this;