diff options
Diffstat (limited to 'ext/fg/js/frontend.js')
| -rw-r--r-- | ext/fg/js/frontend.js | 34 | 
1 files changed, 20 insertions, 14 deletions
| diff --git a/ext/fg/js/frontend.js b/ext/fg/js/frontend.js index 3ddeae78..45d24329 100644 --- a/ext/fg/js/frontend.js +++ b/ext/fg/js/frontend.js @@ -49,11 +49,10 @@ class Frontend {      }      static create() { -        const initializationData = window.frontendInitializationData; -        const isNested = (initializationData !== null && typeof initializationData === 'object'); -        const {id, depth, parentFrameId, ignoreNodes, url} = isNested ? initializationData : {}; +        const data = window.frontendInitializationData || {}; +        const {id, depth=0, parentFrameId, ignoreNodes, url, proxy=false} = data; -        const popup = isNested ? new PopupProxy(depth + 1, id, parentFrameId, url) : PopupProxyHost.instance.createPopup(null); +        const popup = proxy ? new PopupProxy(depth + 1, id, parentFrameId, url) : PopupProxyHost.instance.createPopup(null, depth);          const frontend = new Frontend(popup, ignoreNodes);          frontend.prepare();          return frontend; @@ -140,8 +139,14 @@ class Frontend {          }      } -    onResize() { -        this.searchClear(false); +    async onResize() { +        if (this.textSourceLast !== null && await this.popup.isVisibleAsync()) { +            const textSource = this.textSourceLast; +            this.lastShowPromise = this.popup.showContent( +                textSource.getRect(), +                textSource.getWritingMode() +            ); +        }      }      onClick(e) { @@ -333,9 +338,10 @@ class Frontend {          } catch (e) {              if (window.yomichan_orphaned) {                  if (textSource && this.options.scanning.modifier !== 'none') { -                    this.lastShowPromise = this.popup.showOrphaned( +                    this.lastShowPromise = this.popup.showContent(                          textSource.getRect(), -                        textSource.getWritingMode() +                        textSource.getWritingMode(), +                        'orphaned'                      );                  }              } else { @@ -371,11 +377,11 @@ class Frontend {          const sentence = docSentenceExtract(textSource, this.options.anki.sentenceExt);          const url = window.location.href; -        this.lastShowPromise = this.popup.termsShow( +        this.lastShowPromise = this.popup.showContent(              textSource.getRect(),              textSource.getWritingMode(), -            definitions, -            {sentence, url, focus} +            'terms', +            {definitions, context: {sentence, url, focus}}          );          this.textSourceLast = textSource; @@ -401,11 +407,11 @@ class Frontend {          const sentence = docSentenceExtract(textSource, this.options.anki.sentenceExt);          const url = window.location.href; -        this.lastShowPromise = this.popup.kanjiShow( +        this.lastShowPromise = this.popup.showContent(              textSource.getRect(),              textSource.getWritingMode(), -            definitions, -            {sentence, url, focus} +            'kanji', +            {definitions, context: {sentence, url, focus}}          );          this.textSourceLast = textSource; |