diff options
| author | siikamiika <siikamiika@users.noreply.github.com> | 2020-03-21 22:29:07 +0200 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-03-21 22:29:07 +0200 | 
| commit | 08d38d8db2c97ff9f016a6de640f645b609088d1 (patch) | |
| tree | 9060deb6f870e472c601b6cec050a2f60f62abca /ext/mixed/js | |
| parent | 647769f2baae338f201690f21c4bf8983bcb10b0 (diff) | |
| parent | b616bac66ed0735c1e7ebbaf1ceba20b081f1a6f (diff) | |
Merge pull request #411 from siikamiika/apply-all-options-profile-change
apply all options on profile change
Diffstat (limited to 'ext/mixed/js')
| -rw-r--r-- | ext/mixed/js/display.js | 16 | ||||
| -rw-r--r-- | ext/mixed/js/text-scanner.js | 7 | 
2 files changed, 13 insertions, 10 deletions
| diff --git a/ext/mixed/js/display.js b/ext/mixed/js/display.js index 515e28a7..6898a6eb 100644 --- a/ext/mixed/js/display.js +++ b/ext/mixed/js/display.js @@ -40,6 +40,7 @@ class Display {          this.spinner = spinner;          this.container = container;          this.definitions = []; +        this.optionsContext = null;          this.options = null;          this.context = null;          this.index = 0; @@ -165,12 +166,11 @@ class Display {          this.setInteractive(true);      } -    async prepare(options=null) { +    async prepare() {          await yomichan.prepare(); -        const displayGeneratorPromise = this.displayGenerator.prepare(); -        const updateOptionsPromise = this.updateOptions(options); -        await Promise.all([displayGeneratorPromise, updateOptionsPromise]); -        yomichan.on('optionsUpdated', () => this.updateOptions(null)); +        await this.displayGenerator.prepare(); +        await this.updateOptions(); +        yomichan.on('optionsUpdated', () => this.updateOptions());      }      onError(_error) { @@ -369,11 +369,11 @@ class Display {      }      getOptionsContext() { -        throw new Error('Override me'); +        return this.optionsContext;      } -    async updateOptions(options) { -        this.options = options ? options : await apiOptionsGet(this.getOptionsContext()); +    async updateOptions() { +        this.options = await apiOptionsGet(this.getOptionsContext());          this.updateDocumentOptions(this.options);          this.updateTheme(this.options.general.popupTheme);          this.setCustomCss(this.options.general.customPopupCss); diff --git a/ext/mixed/js/text-scanner.js b/ext/mixed/js/text-scanner.js index a08e09fb..b8156c01 100644 --- a/ext/mixed/js/text-scanner.js +++ b/ext/mixed/js/text-scanner.js @@ -23,13 +23,15 @@   */  class TextScanner { -    constructor(node, ignoreNodes, ignoreElements, ignorePoints) { +    constructor(node, ignoreElements, ignorePoints) {          this.node = node; -        this.ignoreNodes = (Array.isArray(ignoreNodes) && ignoreNodes.length > 0 ? ignoreNodes.join(',') : null);          this.ignoreElements = ignoreElements;          this.ignorePoints = ignorePoints; +        this.ignoreNodes = null; +          this.scanTimerPromise = null; +        this.causeCurrent = null;          this.textSourceCurrent = null;          this.pendingLookup = false;          this.options = null; @@ -298,6 +300,7 @@ class TextScanner {                  this.pendingLookup = true;                  const result = await this.onSearchSource(textSource, cause);                  if (result !== null) { +                    this.causeCurrent = cause;                      this.textSourceCurrent = textSource;                      if (this.options.scanning.selectText) {                          textSource.select(); |