aboutsummaryrefslogtreecommitdiff
path: root/ext/bg/js
diff options
context:
space:
mode:
authorAlex Yatskov <alex@foosoft.net>2017-09-06 13:35:18 -0700
committerAlex Yatskov <alex@foosoft.net>2017-09-06 13:35:18 -0700
commit9efe7bfe1b904db43fafda3520d702c17f44b362 (patch)
tree696d1d3de9bc968e9801c10a220c3e2819024d94 /ext/bg/js
parenta3c8508031a1073629803d0616a2ee416cd3cccc (diff)
work on sandbox
Diffstat (limited to 'ext/bg/js')
-rw-r--r--ext/bg/js/api.js6
-rw-r--r--ext/bg/js/dictionary.js9
2 files changed, 9 insertions, 6 deletions
diff --git a/ext/bg/js/api.js b/ext/bg/js/api.js
index 0aad436a..5a307df3 100644
--- a/ext/bg/js/api.js
+++ b/ext/bg/js/api.js
@@ -62,7 +62,8 @@ async function apiDefinitionAdd(definition, mode) {
);
}
- return utilBackend().anki.addNote(dictNoteFormat(definition, mode, options));
+ const note = await dictNoteFormat(definition, mode, options);
+ return utilBackend().anki.addNote(note);
}
async function apiDefinitionsAddable(definitions, modes) {
@@ -72,7 +73,8 @@ async function apiDefinitionsAddable(definitions, modes) {
const notes = [];
for (const definition of definitions) {
for (const mode of modes) {
- notes.push(dictNoteFormat(definition, mode, utilBackend().options));
+ const note = await dictNoteFormat(definition, mode, utilBackend().options);
+ notes.push(note);
}
}
diff --git a/ext/bg/js/dictionary.js b/ext/bg/js/dictionary.js
index 960ff84d..e749390f 100644
--- a/ext/bg/js/dictionary.js
+++ b/ext/bg/js/dictionary.js
@@ -192,7 +192,7 @@ function dictFieldSplit(field) {
return field.length === 0 ? [] : field.split(' ');
}
-function dictFieldFormat(field, definition, mode, options) {
+async function dictFieldFormat(field, definition, mode, options) {
const markers = [
'audio',
'character',
@@ -223,13 +223,14 @@ function dictFieldFormat(field, definition, mode, options) {
modeKanji: mode === 'kanji'
};
- field = field.replace(`{${marker}}`, handlebarsRender('fields.html', data));
+ const html = await apiTemplateRender(options.anki.fieldTemplates, data, true);
+ field = field.replace(`{${marker}}`, html);
}
return field;
}
-function dictNoteFormat(definition, mode, options) {
+async function dictNoteFormat(definition, mode, options) {
const note = {fields: {}, tags: options.anki.tags};
let fields = [];
@@ -263,7 +264,7 @@ function dictNoteFormat(definition, mode, options) {
}
for (const name in fields) {
- note.fields[name] = dictFieldFormat(fields[name], definition, mode, options);
+ note.fields[name] = await dictFieldFormat(fields[name], definition, mode, options);
}
return note;