From 9efe7bfe1b904db43fafda3520d702c17f44b362 Mon Sep 17 00:00:00 2001 From: Alex Yatskov Date: Wed, 6 Sep 2017 13:35:18 -0700 Subject: work on sandbox --- ext/bg/js/api.js | 6 ++++-- ext/bg/js/dictionary.js | 9 +++++---- 2 files changed, 9 insertions(+), 6 deletions(-) (limited to 'ext/bg/js') 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; -- cgit v1.2.3