diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2021-01-11 18:37:07 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-11 18:37:07 -0500 |
commit | 5e87a490f78888717c58491959745431580bd64e (patch) | |
tree | 59ae0b04fba8fe3005625f462ddcd8392f257da3 /ext/bg/js | |
parent | 4ed949364564f00a8b871095d030af516fc2ed6d (diff) |
Refactor display anki functions (#1224)
* Refactor note adding/viewing functions
* Move _addDefinition
* Update where anki field templates are assigned
* Update _createNote to not include options/templates arguments
* Simplify getAnkiNoteInfo to not require duplicateScope
Diffstat (limited to 'ext/bg/js')
-rw-r--r-- | ext/bg/js/anki.js | 15 | ||||
-rw-r--r-- | ext/bg/js/backend.js | 4 |
2 files changed, 15 insertions, 4 deletions
diff --git a/ext/bg/js/anki.js b/ext/bg/js/anki.js index ba5b4161..05c07ce2 100644 --- a/ext/bg/js/anki.js +++ b/ext/bg/js/anki.js @@ -103,12 +103,12 @@ class AnkiConnect { return await this._invoke('storeMediaFile', {filename: fileName, data: dataBase64}); } - async findNoteIds(notes, duplicateScope) { + async findNoteIds(notes) { if (!this._enabled) { return []; } await this._checkVersion(); const actions = notes.map((note) => { let query = ''; - switch (duplicateScope) { + switch (this._getDuplicateScopeFromNote(note)) { case 'deck': query = `"deck:${this._escapeQuery(note.deckName)}" `; break; @@ -178,4 +178,15 @@ class AnkiConnect { const key = fieldNames[0]; return `"${key.toLowerCase()}:${this._escapeQuery(fields[key])}"`; } + + _getDuplicateScopeFromNote(note) { + const {options} = note; + if (typeof options === 'object' && options !== null) { + const {duplicateScope} = options; + if (typeof duplicateScope !== 'undefined') { + return duplicateScope; + } + } + return null; + } } diff --git a/ext/bg/js/backend.js b/ext/bg/js/backend.js index db83d0b7..6410b0fc 100644 --- a/ext/bg/js/backend.js +++ b/ext/bg/js/backend.js @@ -447,7 +447,7 @@ class Backend { return await this._anki.addNote(note); } - async _onApiGetAnkiNoteInfo({notes, duplicateScope}) { + async _onApiGetAnkiNoteInfo({notes}) { const results = []; const cannotAdd = []; const canAddArray = await this._anki.canAddNotes(notes); @@ -464,7 +464,7 @@ class Backend { if (cannotAdd.length > 0) { const cannotAddNotes = cannotAdd.map(({note}) => note); - const noteIdsArray = await this._anki.findNoteIds(cannotAddNotes, duplicateScope); + const noteIdsArray = await this._anki.findNoteIds(cannotAddNotes); for (let i = 0, ii = Math.min(cannotAdd.length, noteIdsArray.length); i < ii; ++i) { const noteIds = noteIdsArray[i]; if (noteIds.length > 0) { |