diff --git a/packages/main/src/TimePicker.js b/packages/main/src/TimePicker.js index 7676e8fa884d..200c3be88095 100644 --- a/packages/main/src/TimePicker.js +++ b/packages/main/src/TimePicker.js @@ -281,8 +281,7 @@ class TimePicker extends UI5Element { constructor() { super(); - this.readonly = false; - this.disabled = false; + this.prevValue = null; this._isPickerOpen = false; this.i18nBundle = getI18nBundle("@ui5/webcomponents"); @@ -531,9 +530,13 @@ class TimePicker extends UI5Element { selectedDate.setMinutes(minutes); selectedDate.setSeconds(seconds); + this.setPrevValue(this.value); this.setValue(this.getFormat().format(selectedDate)); - this.fireEvent("change", { value: this.value, valid: true }); + if (this.prevValue !== this.value) { + this.fireEvent("change", { value: this.value, valid: true }); + this.previousValue = this.value; + } this.closePicker(); } @@ -700,6 +703,12 @@ class TimePicker extends UI5Element { } } + setPrevValue(value) { + if (this.isValid(value)) { + this.prevValue = this.normalizeValue(value); + } + } + /** * Formats a Java Script date object into a string representing a locale date and time * according to the formatPattern property of the TimePicker instance diff --git a/packages/main/test/pages/TimePicker.html b/packages/main/test/pages/TimePicker.html index e7b30bbbc083..9daa1e851d70 100644 --- a/packages/main/test/pages/TimePicker.html +++ b/packages/main/test/pages/TimePicker.html @@ -30,8 +30,8 @@

Test "change" event - - + +

Test "input" event @@ -57,12 +57,12 @@