From 92973a1cf9f5967fdc723f5a3aaace66f4a3e9b3 Mon Sep 17 00:00:00 2001 From: mbauskar Date: Fri, 15 Sep 2017 12:47:40 +0530 Subject: [PATCH 1/2] [minor] don't setup checkbox if the childtable is read_only --- frappe/public/js/frappe/form/grid.js | 3 ++- frappe/public/js/frappe/form/grid_row.js | 10 +++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/frappe/public/js/frappe/form/grid.js b/frappe/public/js/frappe/form/grid.js index f1a5ab10fe..0a3b2db48c 100644 --- a/frappe/public/js/frappe/form/grid.js +++ b/frappe/public/js/frappe/form/grid.js @@ -142,6 +142,8 @@ frappe.ui.form.Grid = Class.extend({ grid: this }); } + // to hide checkbox if grid is not editable + this.header_row.toggle_check(); }, refresh: function(force) { !this.wrapper && this.make(); @@ -170,7 +172,6 @@ frappe.ui.form.Grid = Class.extend({ } else { // redraw var _scroll_y = $(document).scrollTop(); - this.make_head(); if(!this.grid_rows) { diff --git a/frappe/public/js/frappe/form/grid_row.js b/frappe/public/js/frappe/form/grid_row.js index aee170b35c..cea9c04551 100644 --- a/frappe/public/js/frappe/form/grid_row.js +++ b/frappe/public/js/frappe/form/grid_row.js @@ -2,10 +2,10 @@ frappe.ui.form.GridRow = Class.extend({ init: function(opts) { this.on_grid_fields_dict = {}; this.on_grid_fields = []; - this.row_check_html = ''; this.columns = {}; this.columns_list = []; $.extend(this, opts); + this.row_check_html = ''; this.make(); }, make: function() { @@ -121,6 +121,8 @@ frappe.ui.form.GridRow = Class.extend({ if(this.grid_form) { this.grid_form.layout && this.grid_form.layout.refresh(this.doc); } + + this.toggle_check(); }, render_template: function() { this.set_row_index(); @@ -592,4 +594,10 @@ frappe.ui.form.GridRow = Class.extend({ toggle_editable: function(fieldname, editable) { this.set_field_property(fieldname, 'read_only', editable ? 0 : 1); }, + toggle_check: function() { + // to hide checkbox if grid is not editable + this.wrapper + .find('.grid-row-check') + .css("display", this.grid.is_editable()? 'block':'none'); + } }); \ No newline at end of file From 9b1f46d2c86ea952dbde6062f8828d713080bce0 Mon Sep 17 00:00:00 2001 From: mbauskar Date: Wed, 20 Sep 2017 12:02:22 +0530 Subject: [PATCH 2/2] [minor] move the toggle_check funcation call to refresh --- frappe/public/js/frappe/form/grid.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frappe/public/js/frappe/form/grid.js b/frappe/public/js/frappe/form/grid.js index 0a3b2db48c..ad018a1c79 100644 --- a/frappe/public/js/frappe/form/grid.js +++ b/frappe/public/js/frappe/form/grid.js @@ -142,8 +142,6 @@ frappe.ui.form.Grid = Class.extend({ grid: this }); } - // to hide checkbox if grid is not editable - this.header_row.toggle_check(); }, refresh: function(force) { !this.wrapper && this.make(); @@ -173,6 +171,8 @@ frappe.ui.form.Grid = Class.extend({ // redraw var _scroll_y = $(document).scrollTop(); this.make_head(); + // to hide checkbox if grid is not editable + this.header_row && this.header_row.toggle_check(); if(!this.grid_rows) { this.grid_rows = [];