blob: 25d8eafc50591835e53139e43305a0829d52ddaf (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
|
// Memoization here is used to let onPrMergePanelOpen() be called multiple times without risking multiple attached handlers
import mem from 'mem';
import delegate, {DelegateEvent} from 'delegate-it';
const delegateHandler = mem((callback: EventListener) => (event: DelegateEvent) => {
if (event.delegateTarget.matches('.open')) {
callback(event);
}
});
export default function onPrMergePanelOpen(callback: EventListener, signal: AbortSignal): void {
delegate('.js-merge-pr:not(.is-rebasing)', 'details:toggled', delegateHandler(callback), {signal});
}
|