Skip to content

Commit 436972d

Browse files
author
shleewhite
committed
fix: logic for removing event listeners
1 parent 1214c7c commit 436972d

File tree

2 files changed

+18
-18
lines changed

2 files changed

+18
-18
lines changed

packages/components/src/components/hds/flyout/index.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -151,17 +151,17 @@ export default class HdsFlyout extends Component<HdsFlyoutSignature> {
151151

152152
return () => {
153153
// if the <dialog> is removed from the dom while open we emulate the close event
154-
if (this._element && this._isOpen) {
155-
this._element.dispatchEvent(new Event('close'));
156-
157-
this._element.removeEventListener(
158-
'close',
159-
// eslint-disable-next-line @typescript-eslint/unbound-method
160-
this.registerOnCloseCallback,
161-
true
162-
);
154+
if (this._isOpen) {
155+
this._element?.dispatchEvent(new Event('close'));
163156
}
164157

158+
this._element?.removeEventListener(
159+
'close',
160+
// eslint-disable-next-line @typescript-eslint/unbound-method
161+
this.registerOnCloseCallback,
162+
true
163+
);
164+
165165
document.removeEventListener('click', this._clickHandler, true);
166166
};
167167
});

packages/components/src/components/hds/modal/index.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -192,17 +192,17 @@ export default class HdsModal extends Component<HdsModalSignature> {
192192

193193
return () => {
194194
// if the <dialog> is removed from the dom while open we emulate the close event
195-
if (this._element && this._isOpen) {
196-
this._element.dispatchEvent(new Event('close'));
197-
198-
this._element.removeEventListener(
199-
'close',
200-
// eslint-disable-next-line @typescript-eslint/unbound-method
201-
this.registerOnCloseCallback,
202-
true
203-
);
195+
if (this._isOpen) {
196+
this._element?.dispatchEvent(new Event('close'));
204197
}
205198

199+
this._element?.removeEventListener(
200+
'close',
201+
// eslint-disable-next-line @typescript-eslint/unbound-method
202+
this.registerOnCloseCallback,
203+
true
204+
);
205+
206206
document.removeEventListener('click', this._clickHandler, true);
207207
};
208208
});

0 commit comments

Comments
 (0)