diff options
Diffstat (limited to 'ext/js/dom/panel-element.js')
| -rw-r--r-- | ext/js/dom/panel-element.js | 26 | 
1 files changed, 11 insertions, 15 deletions
diff --git a/ext/js/dom/panel-element.js b/ext/js/dom/panel-element.js index 9c1289d7..0f2801e6 100644 --- a/ext/js/dom/panel-element.js +++ b/ext/js/dom/panel-element.js @@ -89,16 +89,14 @@ export class PanelElement extends EventDispatcher {       * @param {(details: import('core').EventArgument<import('panel-element').Events, TName>) => void} callback       */      on(eventName, callback) { -        if (eventName === 'visibilityChanged') { -            if (this._mutationObserver === null) { -                this._visible = this.isVisible(); -                this._mutationObserver = new MutationObserver(this._onMutation.bind(this)); -                this._mutationObserver.observe(this._node, { -                    attributes: true, -                    attributeFilter: ['hidden'], -                    attributeOldValue: true -                }); -            } +        if (eventName === 'visibilityChanged' && this._mutationObserver === null) { +            this._visible = this.isVisible(); +            this._mutationObserver = new MutationObserver(this._onMutation.bind(this)); +            this._mutationObserver.observe(this._node, { +                attributes: true, +                attributeFilter: ['hidden'], +                attributeOldValue: true +            });          }          super.on(eventName, callback);      } @@ -111,11 +109,9 @@ export class PanelElement extends EventDispatcher {       */      off(eventName, callback) {          const result = super.off(eventName, callback); -        if (eventName === 'visibilityChanged' && !this.hasListeners(eventName)) { -            if (this._mutationObserver !== null) { -                this._mutationObserver.disconnect(); -                this._mutationObserver = null; -            } +        if (eventName === 'visibilityChanged' && !this.hasListeners(eventName) && this._mutationObserver !== null) { +            this._mutationObserver.disconnect(); +            this._mutationObserver = null;          }          return result;      }  |