From 1e2f92b2f1a4ca80a52e8565e621ab1e2991b3f0 Mon Sep 17 00:00:00 2001 From: Mathieu Puech Date: Thu, 17 Dec 2020 15:23:42 -0500 Subject: [PATCH 1/2] fix(dialog): prevent opened-changed to be sent when it is not changing --- packages/overlays/src/OverlayMixin.js | 2 +- packages/overlays/test-suites/OverlayMixin.suite.js | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/overlays/src/OverlayMixin.js b/packages/overlays/src/OverlayMixin.js index 6cf57b475..20aacc5b7 100644 --- a/packages/overlays/src/OverlayMixin.js +++ b/packages/overlays/src/OverlayMixin.js @@ -62,7 +62,7 @@ export const OverlayMixinImplementation = superclass => */ requestUpdateInternal(name, oldValue) { super.requestUpdateInternal(name, oldValue); - if (name === 'opened') { + if (name === 'opened' && this.opened !== oldValue) { this.dispatchEvent(new Event('opened-changed')); } } diff --git a/packages/overlays/test-suites/OverlayMixin.suite.js b/packages/overlays/test-suites/OverlayMixin.suite.js index bc8f63038..446bf456e 100644 --- a/packages/overlays/test-suites/OverlayMixin.suite.js +++ b/packages/overlays/test-suites/OverlayMixin.suite.js @@ -132,6 +132,9 @@ export function runOverlayMixinSuite({ tagString, tag, suffix = '' }) { await el.updateComplete; expect(spy.callCount).to.equal(1); expect(el.opened).to.be.true; + el.opened = true; + await el.updateComplete; + expect(spy.callCount).to.equal(1); await el._overlayCtrl.hide(); await el.updateComplete; expect(spy.callCount).to.equal(2); From 53d22a85a7f0795d4ee826a497870de08598cc9a Mon Sep 17 00:00:00 2001 From: Mathieu Puech Date: Thu, 17 Dec 2020 15:28:58 -0500 Subject: [PATCH 2/2] chore: add changeset --- .changeset/silver-horses-return.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/silver-horses-return.md diff --git a/.changeset/silver-horses-return.md b/.changeset/silver-horses-return.md new file mode 100644 index 000000000..fe73aaf3b --- /dev/null +++ b/.changeset/silver-horses-return.md @@ -0,0 +1,5 @@ +--- +'@lion/overlays': patch +--- + +Prevent `opened-changed` event to be sent twice