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;