Skip to content
This repository was archived by the owner on Sep 22, 2022. It is now read-only.

Commit 696a769

Browse files
committed
Remember to remove event listeners for include fragment on disconnect.
1 parent f41bce9 commit 696a769

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

index.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,8 +144,7 @@ function loadIncludeFragment(event: Event) {
144144
}
145145

146146
function updateIncludeFragmentEventListeners(details: Element, src: ?string, preload: boolean) {
147-
details.removeEventListener('toggle', loadIncludeFragment)
148-
details.removeEventListener('mouseover', loadIncludeFragment)
147+
removeIncludeFragmentEventListeners(details)
149148

150149
if (src) {
151150
details.addEventListener('toggle', loadIncludeFragment, {once: true})
@@ -156,6 +155,11 @@ function updateIncludeFragmentEventListeners(details: Element, src: ?string, pre
156155
}
157156
}
158157

158+
function removeIncludeFragmentEventListeners(details: Element) {
159+
details.removeEventListener('toggle', loadIncludeFragment)
160+
details.removeEventListener('mouseover', loadIncludeFragment)
161+
}
162+
159163
type State = {|
160164
details: ?Element,
161165
activeElement: ?Element
@@ -225,6 +229,7 @@ class DetailsDialogElement extends HTMLElement {
225229
const {details} = state
226230
if (!details) return
227231
details.removeEventListener('toggle', toggle)
232+
removeIncludeFragmentEventListeners(details)
228233
const summary = details.querySelector('summary')
229234
if (summary) {
230235
summary.removeEventListener('click', onSummaryClick, {capture: true})

0 commit comments

Comments
 (0)