From da28303fa0a0baa9cf274a785cefd0f8ee9ac06c Mon Sep 17 00:00:00 2001 From: Faris Ansari Date: Fri, 24 Jan 2025 13:27:42 +0530 Subject: [PATCH] fix: call grid_row field onchange with current row Co-authored-by: Akhil Narang --- frappe/public/js/frappe/form/grid_row.js | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/frappe/public/js/frappe/form/grid_row.js b/frappe/public/js/frappe/form/grid_row.js index d074df6bc0..bba0edae48 100644 --- a/frappe/public/js/frappe/form/grid_row.js +++ b/frappe/public/js/frappe/form/grid_row.js @@ -1100,15 +1100,13 @@ export default class GridRow { // sync get_query field.get_query = this.grid.get_field(df.fieldname).get_query; - if (!field.df.onchange_modified) { - var field_on_change_function = field.df.onchange; - field.df.onchange = (e) => { - field_on_change_function && field_on_change_function.bind(field)(e); - this.refresh_field(field.df.fieldname); - }; - - field.df.onchange_modified = true; - } + // df.onchange is common for all rows in grid + let field_on_change_function = df.onchange; + field.df.change = (e) => { + // trigger onchange with current grid row field as "this" + field_on_change_function && field_on_change_function.apply(field, [e]); + me.refresh_field(field.df.fieldname); + }; field.refresh(); if (field.$input) {