aboutsummaryrefslogtreecommitdiff
path: root/ext/mixed/js
diff options
context:
space:
mode:
Diffstat (limited to 'ext/mixed/js')
-rw-r--r--ext/mixed/js/api.js4
-rw-r--r--ext/mixed/js/display.js21
2 files changed, 15 insertions, 10 deletions
diff --git a/ext/mixed/js/api.js b/ext/mixed/js/api.js
index e826b68b..022d8bd7 100644
--- a/ext/mixed/js/api.js
+++ b/ext/mixed/js/api.js
@@ -77,8 +77,8 @@ const api = (() => {
return this._invoke('getAnkiNoteInfo', {notes, duplicateScope});
}
- injectAnkiNoteMedia(expression, reading, timestamp, audioDetails, screenshotDetails, clipboardDetails) {
- return this._invoke('injectAnkiNoteMedia', {expression, reading, timestamp, audioDetails, screenshotDetails, clipboardDetails});
+ injectAnkiNoteMedia(timestamp, definitionDetails, audioDetails, screenshotDetails, clipboardDetails) {
+ return this._invoke('injectAnkiNoteMedia', {timestamp, definitionDetails, audioDetails, screenshotDetails, clipboardDetails});
}
noteView(noteId) {
diff --git a/ext/mixed/js/display.js b/ext/mixed/js/display.js
index 19634525..a9b5cf02 100644
--- a/ext/mixed/js/display.js
+++ b/ext/mixed/js/display.js
@@ -1386,7 +1386,7 @@ class Display extends EventDispatcher {
const timestamp = Date.now();
const ownerFrameId = this._ownerFrameId;
const {fields} = modeOptions;
- const {expression, reading} = this._getDefinitionPrimaryExpressionAndReading(definition);
+ const definitionDetails = this._getDefinitionDetailsForNote(definition);
const audioDetails = (mode !== 'kanji' && this._ankiNoteBuilder.containsMarker(fields, 'audio') ? {sources, customSourceUrl} : null);
const screenshotDetails = (this._ankiNoteBuilder.containsMarker(fields, 'screenshot') ? {ownerFrameId, format, quality} : null);
const clipboardDetails = {
@@ -1394,9 +1394,8 @@ class Display extends EventDispatcher {
text: this._ankiNoteBuilder.containsMarker(fields, 'clipboard-text')
};
const {screenshotFileName, clipboardImageFileName, clipboardText, audioFileName} = await api.injectAnkiNoteMedia(
- expression,
- reading,
timestamp,
+ definitionDetails,
audioDetails,
screenshotDetails,
clipboardDetails
@@ -1420,11 +1419,13 @@ class Display extends EventDispatcher {
});
}
- async _getAudioInfo(source, expression, reading, details) {
- return await api.getDefinitionAudioInfo(source, expression, reading, details);
- }
+ _getDefinitionDetailsForNote(definition) {
+ const {type} = definition;
+ if (type === 'kanji') {
+ const {character} = definition;
+ return {type, character};
+ }
- _getDefinitionPrimaryExpressionAndReading(definition) {
const termDetailsList = definition.expressions;
let bestIndex = -1;
for (let i = 0, ii = termDetailsList.length; i < ii; ++i) {
@@ -1437,6 +1438,10 @@ class Display extends EventDispatcher {
}
}
const {expression, reading} = termDetailsList[Math.max(0, bestIndex)];
- return {expression, reading};
+ return {type, expression, reading};
+ }
+
+ async _getAudioInfo(source, expression, reading, details) {
+ return await api.getDefinitionAudioInfo(source, expression, reading, details);
}
}