diff options
| author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2020-04-12 12:37:13 -0400 | 
|---|---|---|
| committer | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2020-04-12 12:37:13 -0400 | 
| commit | c41c7252aeb5f10fca7403a19740d869743a38a5 (patch) | |
| tree | 9ec1f0e55906579ee393371a7c26e20be74efab0 | |
| parent | ade1b705d2370be9222ba4164f79bbdfae590bc1 (diff) | |
Add enabled checks
| -rw-r--r-- | ext/bg/js/anki.js | 27 | 
1 files changed, 27 insertions, 0 deletions
diff --git a/ext/bg/js/anki.js b/ext/bg/js/anki.js index 021cb4c4..f7a24291 100644 --- a/ext/bg/js/anki.js +++ b/ext/bg/js/anki.js @@ -25,47 +25,74 @@  class AnkiConnect {      constructor(server) { +        this._enabled = true;          this._server = server;          this._localVersion = 2;          this._remoteVersion = 0;      } +    setServer(server) { +        this._server = server; +    } + +    getServer() { +        return this._server; +    } + +    setEnabled(enabled) { +        this._enabled = enabled; +    } + +    isEnabled() { +        return this._enabled; +    } +      async addNote(note) { +        if (!this._enabled) { return null; }          await this._checkVersion();          return await this._ankiInvoke('addNote', {note});      }      async canAddNotes(notes) { +        if (!this._enabled) { return []; }          await this._checkVersion();          return await this._ankiInvoke('canAddNotes', {notes});      }      async getDeckNames() { +        if (!this._enabled) { return []; }          await this._checkVersion();          return await this._ankiInvoke('deckNames');      }      async getModelNames() { +        if (!this._enabled) { return []; }          await this._checkVersion();          return await this._ankiInvoke('modelNames');      }      async getModelFieldNames(modelName) { +        if (!this._enabled) { return []; }          await this._checkVersion();          return await this._ankiInvoke('modelFieldNames', {modelName});      }      async guiBrowse(query) { +        if (!this._enabled) { return []; }          await this._checkVersion();          return await this._ankiInvoke('guiBrowse', {query});      }      async storeMediaFile(filename, dataBase64) { +        if (!this._enabled) { +            return {result: null, error: 'AnkiConnect not enabled'}; +        }          await this._checkVersion();          return await this._ankiInvoke('storeMediaFile', {filename, data: dataBase64});      }      async findNoteIds(notes) { +        if (!this._enabled) { return []; }          await this._checkVersion();          const actions = notes.map((note) => ({              action: 'findNotes',  |