diff options
Diffstat (limited to 'ext/mixed/js/display.js')
-rw-r--r-- | ext/mixed/js/display.js | 48 |
1 files changed, 13 insertions, 35 deletions
diff --git a/ext/mixed/js/display.js b/ext/mixed/js/display.js index a76e2b71..6a1ebba6 100644 --- a/ext/mixed/js/display.js +++ b/ext/mixed/js/display.js @@ -915,18 +915,14 @@ class Display extends EventDispatcher { focusEntry=null, scrollX=null, scrollY=null, - optionsContext=null, - sentence=null, - url + optionsContext=null } = state; if (typeof focusEntry !== 'number') { focusEntry = 0; } - if (typeof url !== 'string') { url = window.location.href; } if (!(typeof optionsContext === 'object' && optionsContext !== null)) { optionsContext = this.getOptionsContext(); state.optionsContext = optionsContext; changeHistory = true; } - sentence = this._getValidSentenceData(sentence); this._setFullQuery(queryFull); this._setTitleText(query); @@ -957,11 +953,6 @@ class Display extends EventDispatcher { this._definitions = definitions; - for (const definition of definitions) { - definition.cloze = this._clozeBuild(sentence, isTerms ? definition.rawSource : definition.character); - definition.url = url; - } - this._updateNavigation(this._history.hasPrevious(), this._history.hasNext()); this._setNoContentVisible(definitions.length === 0); @@ -1318,15 +1309,6 @@ class Display extends EventDispatcher { return {text, offset}; } - _clozeBuild({text, offset}, source) { - return { - sentence: text.trim(), - prefix: text.substring(0, offset).trim(), - body: text.substring(offset, offset + source.length), - suffix: text.substring(offset + source.length).trim() - }; - } - _getClosestDefinitionIndex(element) { return this._getClosestIndex(element, '.entry'); } @@ -1382,17 +1364,18 @@ class Display extends EventDispatcher { _getNoteContext() { const {state} = this._history; - let documentTitle = null; - if (typeof state === 'object' && state !== null) { - ({documentTitle} = state); - } + let {documentTitle, url, sentence} = (isObject(state) ? state : {}); if (typeof documentTitle !== 'string') { documentTitle = ''; } + if (typeof url !== 'string') { + url = window.location.href; + } + sentence = this._getValidSentenceData(sentence); return { - document: { - title: documentTitle - } + url, + sentence, + documentTitle }; } @@ -1534,9 +1517,7 @@ class Display extends EventDispatcher { const {deck: deckName, model: modelName} = modeOptions; const fields = Object.entries(modeOptions.fields); - if (injectMedia) { - await this._injectAnkiNoteMedia(definition, mode, options, fields); - } + const injectedMedia = (injectMedia ? await this._injectAnkiNoteMedia(definition, mode, options, fields) : null); return await this._ankiNoteBuilder.createNote({ definition, @@ -1551,7 +1532,8 @@ class Display extends EventDispatcher { duplicateScope, resultOutputMode, glossaryLayoutMode, - compactTags + compactTags, + injectedMedia }); } @@ -1570,17 +1552,13 @@ class Display extends EventDispatcher { image: this._ankiNoteBuilder.containsMarker(fields, 'clipboard-image'), text: this._ankiNoteBuilder.containsMarker(fields, 'clipboard-text') }; - const {screenshotFileName, clipboardImageFileName, clipboardText, audioFileName} = await api.injectAnkiNoteMedia( + return await api.injectAnkiNoteMedia( timestamp, definitionDetails, audioDetails, screenshotDetails, clipboardDetails ); - if (screenshotFileName !== null) { definition.screenshotFileName = screenshotFileName; } - if (clipboardImageFileName !== null) { definition.clipboardImageFileName = clipboardImageFileName; } - if (audioFileName !== null) { definition.audioFileName = audioFileName; } - if (clipboardText !== null) { definition.clipboardText = clipboardText; } } _getDefinitionDetailsForNote(definition) { |