diff --git a/frappe/public/js/frappe/form/controls/date.js b/frappe/public/js/frappe/form/controls/date.js index cd800c3202..555be5b39d 100644 --- a/frappe/public/js/frappe/form/controls/date.js +++ b/frappe/public/js/frappe/form/controls/date.js @@ -1,6 +1,5 @@ frappe.ui.form.ControlDate = class ControlDate extends frappe.ui.form.ControlData { static trigger_change_on_input_event = false; - on_grid = false; make_input() { super.make_input(); this.make_picker(); @@ -69,9 +68,7 @@ frappe.ui.form.ControlDate = class ControlDate extends frappe.ui.form.ControlDat maxDate: this.df.max_date, firstDay: frappe.datetime.get_first_day_of_the_week_index(), onSelect: () => { - if (!this.on_grid) { - this.$input.trigger("change"); - } + this.$input.trigger("change"); }, onShow: () => { this.datepicker.$datepicker diff --git a/frappe/public/js/frappe/form/controls/datetime.js b/frappe/public/js/frappe/form/controls/datetime.js index 3d5e1a012d..d3fe0c612d 100644 --- a/frappe/public/js/frappe/form/controls/datetime.js +++ b/frappe/public/js/frappe/form/controls/datetime.js @@ -1,5 +1,4 @@ frappe.ui.form.ControlDatetime = class ControlDatetime extends frappe.ui.form.ControlDate { - on_grid = false; set_formatted_input(value) { if (this.timepicker_only) return; if (!this.datepicker) return; @@ -11,9 +10,12 @@ frappe.ui.form.ControlDatetime = class ControlDatetime extends frappe.ui.form.Co } else if (value.toLowerCase() === "now") { value = frappe.datetime.now_datetime(); } + let should_refresh = this.last_value && this.last_value !== value; value = this.format_for_input(value); this.$input && this.$input.val(value); - this.datepicker.selectDate(frappe.datetime.user_to_obj(value)); + if (should_refresh) { + this.datepicker.selectDate(frappe.datetime.user_to_obj(value)); + } } get_start_date() { diff --git a/frappe/public/js/frappe/form/grid_row.js b/frappe/public/js/frappe/form/grid_row.js index 12fe67d8fc..2344d90c91 100644 --- a/frappe/public/js/frappe/form/grid_row.js +++ b/frappe/public/js/frappe/form/grid_row.js @@ -1163,7 +1163,6 @@ export default class GridRow { grid_row: this, value: this.doc[df.fieldname], }); - field.on_grid = true; // sync get_query field.get_query = this.grid.get_field(df.fieldname).get_query; // df.onchange is common for all rows in grid