ihm_client/src/utils/subscription.utils.ts
2025-02-20 10:20:54 +01:00

20 lines
726 B
TypeScript
Executable File

let subscriptions: { element: Element | Document; event: any; eventHandler: EventListenerOrEventListenerObject }[] = [];
export function cleanSubscriptions(): void {
console.log('🚀 ~ cleanSubscriptions ~ sub:', subscriptions);
for (const sub of subscriptions) {
const el = sub.element;
const eventHandler = sub.eventHandler;
if (el) {
el.removeEventListener(sub.event, eventHandler);
}
}
subscriptions = [];
}
export function addSubscription(element: Element | Document, event: any, eventHandler: EventListenerOrEventListenerObject): void {
if (!element) return;
subscriptions.push({ element, event, eventHandler });
element.addEventListener(event, eventHandler);
}