diff options
Diffstat (limited to 'ext/js/data')
| -rw-r--r-- | ext/js/data/anki-note-builder.js | 12 | ||||
| -rw-r--r-- | ext/js/data/anki-note-data-creator.js | 2 | ||||
| -rw-r--r-- | ext/js/data/options-util.js | 8 | 
3 files changed, 15 insertions, 7 deletions
diff --git a/ext/js/data/anki-note-builder.js b/ext/js/data/anki-note-builder.js index 13e83aaf..85a68265 100644 --- a/ext/js/data/anki-note-builder.js +++ b/ext/js/data/anki-note-builder.js @@ -29,7 +29,7 @@ class AnkiNoteBuilder {      }      async createNote({ -        definition, +        dictionaryEntry,          mode,          context,          template, @@ -53,7 +53,7 @@ class AnkiNoteBuilder {              duplicateScopeCheckChildren = true;          } -        const commonData = this._createData(definition, mode, context, resultOutputMode, glossaryLayoutMode, compactTags, injectedMedia); +        const commonData = this._createData(dictionaryEntry, mode, context, resultOutputMode, glossaryLayoutMode, compactTags, injectedMedia);          const formattedFieldValuePromises = [];          for (const [, fieldValue] of fields) {              const formattedFieldValuePromise = this._formatField(fieldValue, commonData, template, errors); @@ -85,7 +85,7 @@ class AnkiNoteBuilder {      }      async getRenderingData({ -        definition, +        dictionaryEntry,          mode,          context,          resultOutputMode='split', @@ -94,15 +94,15 @@ class AnkiNoteBuilder {          injectedMedia=null,          marker=null      }) { -        const commonData = this._createData(definition, mode, context, resultOutputMode, glossaryLayoutMode, compactTags, injectedMedia); +        const commonData = this._createData(dictionaryEntry, mode, context, resultOutputMode, glossaryLayoutMode, compactTags, injectedMedia);          return await this._templateRenderer.getModifiedData({marker, commonData}, 'ankiNote');      }      // Private -    _createData(definition, mode, context, resultOutputMode, glossaryLayoutMode, compactTags, injectedMedia) { +    _createData(dictionaryEntry, mode, context, resultOutputMode, glossaryLayoutMode, compactTags, injectedMedia) {          return { -            definition, +            dictionaryEntry,              mode,              context,              resultOutputMode, diff --git a/ext/js/data/anki-note-data-creator.js b/ext/js/data/anki-note-data-creator.js index e7abaa21..1c32c4b4 100644 --- a/ext/js/data/anki-note-data-creator.js +++ b/ext/js/data/anki-note-data-creator.js @@ -38,7 +38,7 @@ class AnkiNoteDataCreator {       * @returns An object used for rendering Anki templates.       */      create(marker, { -        definition: dictionaryEntry, +        dictionaryEntry,          resultOutputMode,          mode,          glossaryLayoutMode, diff --git a/ext/js/data/options-util.js b/ext/js/data/options-util.js index 857ef630..42f9a38f 100644 --- a/ext/js/data/options-util.js +++ b/ext/js/data/options-util.js @@ -791,12 +791,20 @@ class OptionsUtil {      _updateVersion11(options) {          // Version 11 changes:          //  Changed dictionaries to an array. +        //  Changed audio.customSourceUrl's {expression} marker to {term}. +        const customSourceUrlPattern = /\{expression\}/g;          for (const profile of options.profiles) {              const dictionariesNew = [];              for (const [name, {priority, enabled, allowSecondarySearches, definitionsCollapsible}] of Object.entries(profile.options.dictionaries)) {                  dictionariesNew.push({name, priority, enabled, allowSecondarySearches, definitionsCollapsible});              }              profile.options.dictionaries = dictionariesNew; + +            let {customSourceUrl} = profile.options.audio; +            if (typeof customSourceUrl === 'string') { +                customSourceUrl = customSourceUrl.replace(customSourceUrlPattern, '{term}'); +            } +            profile.options.audio.customSourceUrl = customSourceUrl;          }          return options;      }  |