summaryrefslogtreecommitdiff
path: root/source/libs/on-pr-merge-panel-open.ts
diff options
context:
space:
mode:
Diffstat (limited to 'source/libs/on-pr-merge-panel-open.ts')
-rw-r--r--source/libs/on-pr-merge-panel-open.ts34
1 files changed, 16 insertions, 18 deletions
diff --git a/source/libs/on-pr-merge-panel-open.ts b/source/libs/on-pr-merge-panel-open.ts
index d8df675b..6ed88d48 100644
--- a/source/libs/on-pr-merge-panel-open.ts
+++ b/source/libs/on-pr-merge-panel-open.ts
@@ -13,27 +13,25 @@ const sessionResumeHandler = mem((callback: EventListener) => async (event: Even
callback(event);
});
-export default function (callback: EventListener): DelegateSubscription[] {
+export default function (callback: EventListener): DelegateSubscription {
document.addEventListener(
'session:resume',
sessionResumeHandler(callback)
);
+ const toggleSubscription = delegate(
+ '.js-merge-pr:not(.is-rebasing)',
+ 'details:toggled',
+ delegateHandler(callback)
+ );
- return [
- {
- // Imitate a DelegateSubscription for this event as well
- destroy() {
- document.removeEventListener(
- 'session:resume',
- sessionResumeHandler(callback)
- );
- }
- },
- ...delegate(
- '#discussion_bucket',
- '.js-merge-pr:not(.is-rebasing)',
- 'details:toggled',
- delegateHandler(callback)
- )
- ];
+ // Imitate a DelegateSubscription for this event as well
+ return {
+ destroy() {
+ toggleSubscription.destroy();
+ document.removeEventListener(
+ 'session:resume',
+ sessionResumeHandler(callback)
+ );
+ }
+ };
}