diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2020-04-27 18:10:59 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-27 18:10:59 -0400 |
commit | 0956634d61ef2b6202645ec4b502239573c2e743 (patch) | |
tree | e53dcf42db38c57d0e48cb0970574a3945951372 /ext/bg/js/anki.js | |
parent | 48c7010f4ea8daafd30e5650625c377affa0cecd (diff) |
Add duplicateScope: 'deck' option (#476)
* Add duplicateScope: 'deck' option
* Add option to control duplicate scope
* Use duplicateScope for findNoteIds
* Update location of quotes
Diffstat (limited to 'ext/bg/js/anki.js')
-rw-r--r-- | ext/bg/js/anki.js | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/ext/bg/js/anki.js b/ext/bg/js/anki.js index 38823431..0d38837c 100644 --- a/ext/bg/js/anki.js +++ b/ext/bg/js/anki.js @@ -87,15 +87,14 @@ class AnkiConnect { return await this._invoke('storeMediaFile', {filename, data: dataBase64}); } - async findNoteIds(notes) { + async findNoteIds(notes, duplicateScope) { if (!this._enabled) { return []; } await this._checkVersion(); - const actions = notes.map((note) => ({ - action: 'findNotes', - params: { - query: `deck:"${this._escapeQuery(note.deckName)}" ${this._fieldsToQuery(note.fields)}` - } - })); + const actions = notes.map((note) => { + let query = (duplicateScope === 'deck' ? `"deck:${this._escapeQuery(note.deckName)}" ` : ''); + query += this._fieldsToQuery(note.fields); + return {action: 'findNotes', params: {query}}; + }); return await this._invoke('multi', {actions}); } @@ -132,6 +131,6 @@ class AnkiConnect { } const key = fieldNames[0]; - return `${key.toLowerCase()}:"${this._escapeQuery(fields[key])}"`; + return `"${key.toLowerCase()}:${this._escapeQuery(fields[key])}"`; } } |