From 6f399e7fbb9f77486c4a15834f46bf66e8d446f0 Mon Sep 17 00:00:00 2001 From: sokumon Date: Mon, 14 Jul 2025 12:22:45 +0530 Subject: [PATCH] fix: dont trigger change when date/datetime is on grid --- frappe/public/js/frappe/form/controls/date.js | 5 ++++- frappe/public/js/frappe/form/controls/datetime.js | 1 + frappe/public/js/frappe/form/grid_row.js | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/frappe/public/js/frappe/form/controls/date.js b/frappe/public/js/frappe/form/controls/date.js index 555be5b39d..cd800c3202 100644 --- a/frappe/public/js/frappe/form/controls/date.js +++ b/frappe/public/js/frappe/form/controls/date.js @@ -1,5 +1,6 @@ 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(); @@ -68,7 +69,9 @@ 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: () => { - this.$input.trigger("change"); + if (!this.on_grid) { + 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 4762b85b8d..3d5e1a012d 100644 --- a/frappe/public/js/frappe/form/controls/datetime.js +++ b/frappe/public/js/frappe/form/controls/datetime.js @@ -1,4 +1,5 @@ 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; diff --git a/frappe/public/js/frappe/form/grid_row.js b/frappe/public/js/frappe/form/grid_row.js index 11fcdaf058..12fe67d8fc 100644 --- a/frappe/public/js/frappe/form/grid_row.js +++ b/frappe/public/js/frappe/form/grid_row.js @@ -1163,7 +1163,7 @@ 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