From 3dc568eb15ba3c994b2d551082b4d4134d0c3b9c Mon Sep 17 00:00:00 2001 From: Akhil Narang Date: Fri, 19 Apr 2024 15:54:24 +0530 Subject: [PATCH] fix(grid_row): check child table dependent properties whenever a row is selected Signed-off-by: Akhil Narang --- frappe/public/js/frappe/form/grid_row.js | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/frappe/public/js/frappe/form/grid_row.js b/frappe/public/js/frappe/form/grid_row.js index 59940c0d86..635ce7351f 100644 --- a/frappe/public/js/frappe/form/grid_row.js +++ b/frappe/public/js/frappe/form/grid_row.js @@ -730,20 +730,12 @@ export default class GridRow { } set_dependant_property(df) { - if ( - !df.reqd && - df.mandatory_depends_on && - this.evaluate_depends_on_value(df.mandatory_depends_on) - ) { - df.reqd = 1; + if (df.mandatory_depends_on) { + df.reqd = !!this.evaluate_depends_on_value(df.mandatory_depends_on); } - if ( - !df.read_only && - df.read_only_depends_on && - this.evaluate_depends_on_value(df.read_only_depends_on) - ) { - df.read_only = 1; + if (df.read_only_depends_on) { + df.read_only = !!this.evaluate_depends_on_value(df.read_only_depends_on); } } @@ -995,6 +987,13 @@ export default class GridRow { if (frappe.ui.form.editable_row !== me) { var out = me.toggle_editable_row(); } + + // Set dependant property for current row + Object.keys(me.columns).forEach((column) => { + me.set_dependant_property(me.columns[column].df); + }); + me.render_row(true); + var col = this; let first_input_field = $(col).find('input[type="Text"]:first'); let input_in_focus = false;