summaryrefslogtreecommitdiff
path: root/ext/js/pages
diff options
context:
space:
mode:
authorKuuuube <61125188+Kuuuube@users.noreply.github.com>2024-06-22 00:40:59 -0400
committerGitHub <noreply@github.com>2024-06-22 04:40:59 +0000
commit7cce3b9aebb6da75fb0ba0bfe15459aa47bbee00 (patch)
tree1183ff1175aa602c7e09488b4cc557ab1a873c62 /ext/js/pages
parent1d8f2f499a71bf528aedb9b0eeeb036340ed85ac (diff)
Support dictionaryStylesMap in anki-deck-generator-controller and anki-templates-controller (#1112)
* Support dictionaryStylesMap in bulk anki card generation * Move getDictionaryStylesMap to anki-note-builder * Support dictionaryStylesMap in anki-templates-controller * Strip newline to prevent tsv breaking * Allow dictionaryStylesMap to be omitted in createNote --------- Signed-off-by: Kuuuube <61125188+Kuuuube@users.noreply.github.com>
Diffstat (limited to 'ext/js/pages')
-rw-r--r--ext/js/pages/settings/anki-deck-generator-controller.js4
-rw-r--r--ext/js/pages/settings/anki-templates-controller.js2
2 files changed, 4 insertions, 2 deletions
diff --git a/ext/js/pages/settings/anki-deck-generator-controller.js b/ext/js/pages/settings/anki-deck-generator-controller.js
index 70533223..1a65d80f 100644
--- a/ext/js/pages/settings/anki-deck-generator-controller.js
+++ b/ext/js/pages/settings/anki-deck-generator-controller.js
@@ -445,6 +445,7 @@ export class AnkiDeckGeneratorController {
const idleTimeout = (Number.isFinite(options.anki.downloadTimeout) && options.anki.downloadTimeout > 0 ? options.anki.downloadTimeout : null);
const mediaOptions = addMedia ? {audio: {sources: options.audio.sources, preferredAudioIndex: null, idleTimeout: idleTimeout}} : null;
const requirements = addMedia ? [...this._getDictionaryEntryMedia(dictionaryEntry), {type: 'audio'}] : [];
+ const dictionaryStylesMap = this._ankiNoteBuilder.getDictionaryStylesMap(options.dictionaries);
const {note} = await this._ankiNoteBuilder.createNote(/** @type {import('anki-note-builder').CreateNoteDetails} */ ({
dictionaryEntry,
mode,
@@ -461,6 +462,7 @@ export class AnkiDeckGeneratorController {
requirements: requirements,
duplicateScope: options.anki.duplicateScope,
duplicateScopeCheckAllModels: options.anki.duplicateScopeCheckAllModels,
+ dictionaryStylesMap: dictionaryStylesMap,
}));
return note;
}
@@ -546,7 +548,7 @@ export class AnkiDeckGeneratorController {
let tsv = '';
for (const key in noteFields) {
if (Object.prototype.hasOwnProperty.call(noteFields, key)) {
- tsv += noteFields[key].replaceAll('\t', '&nbsp;&nbsp;&nbsp;') + '\t';
+ tsv += noteFields[key].replaceAll('\t', '&nbsp;&nbsp;&nbsp;').replaceAll('\n', '') + '\t';
}
}
return tsv;
diff --git a/ext/js/pages/settings/anki-templates-controller.js b/ext/js/pages/settings/anki-templates-controller.js
index 15566e75..af317881 100644
--- a/ext/js/pages/settings/anki-templates-controller.js
+++ b/ext/js/pages/settings/anki-templates-controller.js
@@ -278,7 +278,7 @@ export class AnkiTemplatesController {
resultOutputMode,
glossaryLayoutMode,
compactTags,
- dictionaryStylesMap: new Map(),
+ dictionaryStylesMap: this._ankiNoteBuilder.getDictionaryStylesMap(options.dictionaries),
}));
result = note.fields.field;
allErrors.push(...errors);