From a531618c48481a30d63112cf59b7806291f0bda4 Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Thu, 10 Sep 2020 18:03:46 -0400 Subject: Use Anki classes directly in Display (#804) * Add _getTemplates function * Add template renderer to display pages * Add AnkiNoteBuilder to Display * Update AnkiTemplatesController to directly use TemplateRenderer * Remove old APIs --- ext/bg/js/settings/anki-templates-controller.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'ext/bg/js/settings/anki-templates-controller.js') diff --git a/ext/bg/js/settings/anki-templates-controller.js b/ext/bg/js/settings/anki-templates-controller.js index c05301df..c53e4553 100644 --- a/ext/bg/js/settings/anki-templates-controller.js +++ b/ext/bg/js/settings/anki-templates-controller.js @@ -17,6 +17,7 @@ /* global * AnkiNoteBuilder + * TemplateRenderer * api */ @@ -27,6 +28,7 @@ class AnkiTemplatesController { this._cachedDefinitionValue = null; this._cachedDefinitionText = null; this._defaultFieldTemplates = null; + this._templateRenderer = new TemplateRenderer(); } async prepare() { @@ -144,7 +146,7 @@ class AnkiTemplatesController { let templates = options.anki.fieldTemplates; if (typeof templates !== 'string') { templates = this._defaultFieldTemplates; } const ankiNoteBuilder = new AnkiNoteBuilder({ - renderTemplate: api.templateRender.bind(api) + renderTemplate: this._renderTemplate.bind(this) }); const {general: {resultOutputMode, compactGlossaries}} = options; const note = await ankiNoteBuilder.createNote({ @@ -176,4 +178,8 @@ class AnkiTemplatesController { input.classList.toggle('is-invalid', hasException); } } + + async _renderTemplate(template, data, marker) { + return await this._templateRenderer.render(template, data, marker); + } } -- cgit v1.2.3