summaryrefslogtreecommitdiff
path: root/ext/bg/js/api.js
diff options
context:
space:
mode:
Diffstat (limited to 'ext/bg/js/api.js')
-rw-r--r--ext/bg/js/api.js47
1 files changed, 2 insertions, 45 deletions
diff --git a/ext/bg/js/api.js b/ext/bg/js/api.js
index 2ce90b5c..497d81bf 100644
--- a/ext/bg/js/api.js
+++ b/ext/bg/js/api.js
@@ -53,51 +53,8 @@ function apiDefinitionAdd(definition, mode, context, optionsContext) {
return utilBackend()._onApiDefinitionAdd({definition, mode, context, optionsContext});
}
-async function apiDefinitionsAddable(definitions, modes, optionsContext) {
- const options = await apiOptionsGet(optionsContext);
- const states = [];
-
- try {
- const notes = [];
- for (const definition of definitions) {
- for (const mode of modes) {
- const note = await dictNoteFormat(definition, mode, options);
- notes.push(note);
- }
- }
-
- const cannotAdd = [];
- const anki = utilBackend().anki;
- const results = await anki.canAddNotes(notes);
- for (let resultBase = 0; resultBase < results.length; resultBase += modes.length) {
- const state = {};
- for (let modeOffset = 0; modeOffset < modes.length; ++modeOffset) {
- const index = resultBase + modeOffset;
- const result = results[index];
- const info = {canAdd: result};
- state[modes[modeOffset]] = info;
- if (!result) {
- cannotAdd.push([notes[index], info]);
- }
- }
-
- states.push(state);
- }
-
- if (cannotAdd.length > 0) {
- const noteIdsArray = await anki.findNoteIds(cannotAdd.map((e) => e[0]));
- for (let i = 0, ii = Math.min(cannotAdd.length, noteIdsArray.length); i < ii; ++i) {
- const noteIds = noteIdsArray[i];
- if (noteIds.length > 0) {
- cannotAdd[i][1].noteId = noteIds[0];
- }
- }
- }
- } catch (e) {
- // NOP
- }
-
- return states;
+function apiDefinitionsAddable(definitions, modes, optionsContext) {
+ return utilBackend()._onApiDefinitionsAddable({definitions, modes, optionsContext});
}
async function apiNoteView(noteId) {