diff options
Diffstat (limited to 'ext')
| -rw-r--r-- | ext/mixed/js/api.js | 2 | ||||
| -rw-r--r-- | ext/mixed/js/display.js | 12 | 
2 files changed, 11 insertions, 3 deletions
| diff --git a/ext/mixed/js/api.js b/ext/mixed/js/api.js index 715c8286..86bdc73c 100644 --- a/ext/mixed/js/api.js +++ b/ext/mixed/js/api.js @@ -58,7 +58,7 @@ function apiDefinitionAdd(definition, mode, context, optionsContext) {  }  function apiDefinitionsAddable(definitions, modes, optionsContext) { -    return _apiInvoke('definitionsAddable', {definitions, modes, optionsContext}).catch(() => null); +    return _apiInvoke('definitionsAddable', {definitions, modes, optionsContext});  }  function apiNoteView(noteId) { diff --git a/ext/mixed/js/display.js b/ext/mixed/js/display.js index 045ce906..5c010747 100644 --- a/ext/mixed/js/display.js +++ b/ext/mixed/js/display.js @@ -414,7 +414,7 @@ class Display {          this.setEventListenersActive(true); -        const states = await apiDefinitionsAddable(definitions, ['term-kanji', 'term-kana'], this.getOptionsContext()); +        const states = await this.getDefinitionsAddable(definitions, ['term-kanji', 'term-kana']);          if (this.setContentToken !== token) { return; }          this.updateAdderButtons(states); @@ -463,7 +463,7 @@ class Display {          this.setEventListenersActive(true); -        const states = await apiDefinitionsAddable(definitions, ['kanji'], this.getOptionsContext()); +        const states = await this.getDefinitionsAddable(definitions, ['kanji']);          if (this.setContentToken !== token) { return; }          this.updateAdderButtons(states); @@ -776,6 +776,14 @@ class Display {          return entry !== null ? entry.querySelector('.action-play-audio>img') : null;      } +    async getDefinitionsAddable(definitions, modes) { +        try { +            return await apiDefinitionsAddable(definitions, modes, this.getOptionsContext()); +        } catch (e) { +            return []; +        } +    } +      static delay(time) {          return new Promise((resolve) => setTimeout(resolve, time));      } |