From 8d938182aa0d082b6eca6cb5b5c30904a1a30a45 Mon Sep 17 00:00:00 2001 From: Patrizio Bekerle <patrizio.bekerle@tugraz.at> Date: Wed, 28 Aug 2019 15:19:15 +0200 Subject: [PATCH] Don't do a change event if value was not changed --- packages/person-select/src/person-select.js | 25 ++++++++++++--------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/packages/person-select/src/person-select.js b/packages/person-select/src/person-select.js index f63b4b1a..3e981145 100644 --- a/packages/person-select/src/person-select.js +++ b/packages/person-select/src/person-select.js @@ -125,22 +125,25 @@ class PersonSelect extends VPULitElementJQuery { } } }).on("select2:select", function (e) { - // set value custom element + // set custom element attributes const identifier = e.params.data.id; - $this.attr("value", identifier); - $this.val(identifier); - const object = findObjectInApiResults(identifier, lastResult); + $this.attr("data-object", JSON.stringify(object)); $this.data("object", object); + $this.val(identifier); - // fire a change event - that.dispatchEvent(new CustomEvent('change', { - detail: { - value: identifier, - }, - bubbles: true - })); + if ($this.attr("value") !== identifier) { + $this.attr("value", identifier); + + // fire a change event + that.dispatchEvent(new CustomEvent('change', { + detail: { + value: identifier, + }, + bubbles: true + })); + } }); // preset a person -- GitLab