From b018236d183dfb524afc6d6849562ef906210d4b Mon Sep 17 00:00:00 2001 From: shariquerik Date: Mon, 10 May 2021 11:16:47 +0530 Subject: [PATCH 1/4] fix: Grid row deletion fix --- frappe/public/js/frappe/form/grid.js | 7 ++++++- frappe/public/js/frappe/form/grid_row.js | 7 +++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/frappe/public/js/frappe/form/grid.js b/frappe/public/js/frappe/form/grid.js index 4d381c9be7..9b05809aba 100644 --- a/frappe/public/js/frappe/form/grid.js +++ b/frappe/public/js/frappe/form/grid.js @@ -196,7 +196,9 @@ export default class Grid { tasks.push(() => { if (dirty) { this.refresh(); - this.frm.script_manager.trigger(this.df.fieldname + "_delete", this.doctype); + if (this.frm) { + this.frm.script_manager.trigger(this.df.fieldname + "_delete", this.doctype); + } } }); @@ -345,6 +347,9 @@ export default class Grid { if (d.idx === undefined) { d.idx = ri + 1; } + if (d.name === undefined) { + d.name = "row" + d.idx + } if (this.grid_rows[ri] && !append_row) { var grid_row = this.grid_rows[ri]; grid_row.doc = d; diff --git a/frappe/public/js/frappe/form/grid_row.js b/frappe/public/js/frappe/form/grid_row.js index f6da88df57..bbcf0f707b 100644 --- a/frappe/public/js/frappe/form/grid_row.js +++ b/frappe/public/js/frappe/form/grid_row.js @@ -93,8 +93,11 @@ export default class GridRow { } else { data = this.grid.df.data; } - - const index = data.findIndex(d => d.name === me.doc.name); + let index = -1; + + if (me.doc.name) { + index = data.findIndex(d => d.name === me.doc.name); + } if (index > -1) { // mutate array directly, From 6a9b93bfa5d6b5569681c358cc0a2c66351603fa Mon Sep 17 00:00:00 2001 From: shariquerik Date: Mon, 10 May 2021 11:37:48 +0530 Subject: [PATCH 2/4] fix: sider fix --- frappe/public/js/frappe/form/grid.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/public/js/frappe/form/grid.js b/frappe/public/js/frappe/form/grid.js index 9b05809aba..00f9d6abca 100644 --- a/frappe/public/js/frappe/form/grid.js +++ b/frappe/public/js/frappe/form/grid.js @@ -348,7 +348,7 @@ export default class Grid { d.idx = ri + 1; } if (d.name === undefined) { - d.name = "row" + d.idx + d.name = "row" + d.idx; } if (this.grid_rows[ri] && !append_row) { var grid_row = this.grid_rows[ri]; From 2bbf71ade0c12ac931a898783a6e8fc330738083 Mon Sep 17 00:00:00 2001 From: shariquerik Date: Tue, 25 May 2021 15:30:12 +0530 Subject: [PATCH 3/4] fix: refactor code --- frappe/public/js/frappe/form/grid.js | 2 +- frappe/public/js/frappe/form/grid_row.js | 7 ++----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/frappe/public/js/frappe/form/grid.js b/frappe/public/js/frappe/form/grid.js index 00f9d6abca..aa3cf51314 100644 --- a/frappe/public/js/frappe/form/grid.js +++ b/frappe/public/js/frappe/form/grid.js @@ -348,7 +348,7 @@ export default class Grid { d.idx = ri + 1; } if (d.name === undefined) { - d.name = "row" + d.idx; + d.name = "row " + d.idx; } if (this.grid_rows[ri] && !append_row) { var grid_row = this.grid_rows[ri]; diff --git a/frappe/public/js/frappe/form/grid_row.js b/frappe/public/js/frappe/form/grid_row.js index bbcf0f707b..f6da88df57 100644 --- a/frappe/public/js/frappe/form/grid_row.js +++ b/frappe/public/js/frappe/form/grid_row.js @@ -93,11 +93,8 @@ export default class GridRow { } else { data = this.grid.df.data; } - let index = -1; - - if (me.doc.name) { - index = data.findIndex(d => d.name === me.doc.name); - } + + const index = data.findIndex(d => d.name === me.doc.name); if (index > -1) { // mutate array directly, From d30e6f6a43b371aadb9adddf019ba08549c1ec8a Mon Sep 17 00:00:00 2001 From: shariquerik Date: Tue, 25 May 2021 15:34:22 +0530 Subject: [PATCH 4/4] fix: refactor code --- frappe/public/js/frappe/form/grid.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/frappe/public/js/frappe/form/grid.js b/frappe/public/js/frappe/form/grid.js index aa3cf51314..13b5ebe842 100644 --- a/frappe/public/js/frappe/form/grid.js +++ b/frappe/public/js/frappe/form/grid.js @@ -196,9 +196,7 @@ export default class Grid { tasks.push(() => { if (dirty) { this.refresh(); - if (this.frm) { - this.frm.script_manager.trigger(this.df.fieldname + "_delete", this.doctype); - } + this.frm && this.frm.script_manager.trigger(this.df.fieldname + "_delete", this.doctype); } });