diff options
| author | siikamiika <siikamiika@users.noreply.github.com> | 2020-04-11 15:32:04 +0300 | 
|---|---|---|
| committer | siikamiika <siikamiika@users.noreply.github.com> | 2020-04-11 21:04:30 +0300 | 
| commit | d93e3e1a6727e23547c44d4fc3b82244f560c459 (patch) | |
| tree | c76d8871ca94499fd292280f64a2378d4b9fda07 | |
| parent | 275f455e73c48294aeefd6c02959b1ddd3cbf4e8 (diff) | |
use setters instead of EventDispatcher
| -rw-r--r-- | ext/fg/js/frontend-initialize.js | 22 | ||||
| -rw-r--r-- | ext/fg/js/frontend.js | 36 | 
2 files changed, 25 insertions, 33 deletions
| diff --git a/ext/fg/js/frontend-initialize.js b/ext/fg/js/frontend-initialize.js index ce1a6bf6..34be6bc6 100644 --- a/ext/fg/js/frontend-initialize.js +++ b/ext/fg/js/frontend-initialize.js @@ -73,8 +73,6 @@ async function main() {      const isIframe = !proxy && (window !== window.parent); -    const initEventDispatcher = new EventDispatcher(); -      const popups = {          iframe: null,          proxy: null, @@ -99,18 +97,18 @@ async function main() {              popups.normal = popup;          } -        if (isSearchPage) { -            const disabled = !options.scanning.enableOnSearchPage; -            initEventDispatcher.trigger('setDisabledOverride', {disabled}); -        } - -        if (isIframe) { -            initEventDispatcher.trigger('popupChange', {popup}); -        } -          if (frontend === null) { -            frontend = new Frontend(popup, initEventDispatcher); +            frontend = new Frontend(popup);              await frontend.prepare(); +        } else { +            if (isSearchPage) { +                const disabled = !options.scanning.enableOnSearchPage; +                frontend.setDisabledOverride(disabled); +            } + +            if (isIframe) { +                await frontend.setPopup(popup); +            }          }      }; diff --git a/ext/fg/js/frontend.js b/ext/fg/js/frontend.js index cd811115..288d3589 100644 --- a/ext/fg/js/frontend.js +++ b/ext/fg/js/frontend.js @@ -26,7 +26,7 @@   */  class Frontend extends TextScanner { -    constructor(popup, initEventDispatcher=null) { +    constructor(popup) {          super(              window,              () => this.popup.isProxy() ? [] : [this.popup.getContainer()], @@ -35,7 +35,6 @@ class Frontend extends TextScanner {          );          this.popup = popup; -        this.initEventDispatcher = initEventDispatcher;          this._disabledOverride = false; @@ -77,11 +76,6 @@ class Frontend extends TextScanner {                  window.visualViewport.addEventListener('resize', this.onVisualViewportResize.bind(this));              } -            if (this.initEventDispatcher !== null) { -                this.initEventDispatcher.on('setDisabledOverride', this.onSetDisabledOverride.bind(this)); -                this.initEventDispatcher.on('popupChange', this.onPopupChange.bind(this)); -            } -              yomichan.on('orphaned', this.onOrphaned.bind(this));              yomichan.on('optionsUpdated', this.updateOptions.bind(this));              yomichan.on('zoomChanged', this.onZoomChanged.bind(this)); @@ -142,6 +136,20 @@ class Frontend extends TextScanner {          ];      } +    setDisabledOverride(disabled) { +        this._disabledOverride = disabled; +        // other cases handed by regular options update +        if (disabled && this.enabled) { +            this.setEnabled(false); +        } +    } + +    async setPopup(popup) { +        this.onSearchClear(true); +        this.popup = popup; +        await popup.setOptions(this.options); +    } +      async updateOptions() {          this.setOptions(await apiOptionsGet(this.getOptionsContext())); @@ -237,20 +245,6 @@ class Frontend extends TextScanner {          super.onSearchClear(changeFocus);      } -    onSetDisabledOverride({disabled}) { -        this._disabledOverride = disabled; -        // other cases handed by regular options update -        if (disabled && this.enabled) { -            this.setEnabled(false); -        } -    } - -    async onPopupChange({popup}) { -        this.onSearchClear(true); -        this.popup = popup; -        await popup.setOptions(this.options); -    } -      getOptionsContext() {          this.optionsContext.url = this.popup.url;          return this.optionsContext; |