From 4c2c68327e75f5f51271853159c232fdd7bba21e Mon Sep 17 00:00:00 2001 From: Johannes Eder Date: Tue, 13 Jul 2021 12:39:51 +0200 Subject: [PATCH] fix(interactive-fieldset): small fix --- frontend/src/lib/event-manager/event-manager.js | 8 +++++++- frontend/src/utils/form/interactive-fieldset.js | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/frontend/src/lib/event-manager/event-manager.js b/frontend/src/lib/event-manager/event-manager.js index 16bc9daa9..35a5075e6 100644 --- a/frontend/src/lib/event-manager/event-manager.js +++ b/frontend/src/lib/event-manager/event-manager.js @@ -8,7 +8,7 @@ export const EVENT_TYPE = { SUBMIT : 'submit', INPUT : 'input', FOCUS_OUT : 'focusout', - //more to be added + BEFOREUNLOAD : 'beforeunload', }; @@ -47,6 +47,12 @@ export class EventManager { removeAllObserversFromUtil() { this._mutationObservers.forEach((observer) => observer.disconnect()); + this.mutationObservers = []; + } + + cleanUp() { + this.removeAllObserversFromUtil(); + this.removeAllEventListenersFromUtil(); } diff --git a/frontend/src/utils/form/interactive-fieldset.js b/frontend/src/utils/form/interactive-fieldset.js index 70051b64b..2c8ff4eb9 100644 --- a/frontend/src/utils/form/interactive-fieldset.js +++ b/frontend/src/utils/form/interactive-fieldset.js @@ -31,7 +31,7 @@ export class InteractiveFieldset { this._element = element; - this._eventManger = new EventManager(); + this._eventManager = new EventManager(); if (this._element.classList.contains(INTERACTIVE_FIELDSET_INITIALIZED_CLASS)) { return false;