summaryrefslogtreecommitdiff
path: root/ext/bg/js
diff options
context:
space:
mode:
Diffstat (limited to 'ext/bg/js')
-rw-r--r--ext/bg/js/api.js6
-rw-r--r--ext/bg/js/database.js3
-rw-r--r--ext/bg/js/dictionary.js3
-rw-r--r--ext/bg/js/options.js2
-rw-r--r--ext/bg/js/settings.js4
-rw-r--r--ext/bg/js/translator.js15
6 files changed, 24 insertions, 9 deletions
diff --git a/ext/bg/js/api.js b/ext/bg/js/api.js
index 9f65bb07..01322357 100644
--- a/ext/bg/js/api.js
+++ b/ext/bg/js/api.js
@@ -29,9 +29,9 @@ async function apiTermsFind(text) {
const options = utilBackend().options;
const translator = utilBackend().translator;
- const searcher = options.general.groupResults ?
- translator.findTermsGrouped.bind(translator) :
- translator.findTermsSplit.bind(translator);
+ const searcher = (options.general.resultOutputMode === 'merge') && translator.findTermsMerged.bind(translator)
+ || (options.general.resultOutputMode === 'split') && translator.findTermsSplit.bind(translator)
+ || (options.general.resultOutputMode === 'group') && translator.findTermsGrouped.bind(translator);
const {definitions, length} = await searcher(
text,
diff --git a/ext/bg/js/database.js b/ext/bg/js/database.js
index 6ceb3ec8..29ab6d4e 100644
--- a/ext/bg/js/database.js
+++ b/ext/bg/js/database.js
@@ -208,7 +208,7 @@ class Database {
});
}
} else {
- for (const [expression, reading, tags, rules, score, glossary] of entries) {
+ for (const [expression, reading, tags, rules, score, glossary, sequence] of entries) {
rows.push({
expression,
reading,
@@ -216,6 +216,7 @@ class Database {
rules,
score,
glossary,
+ sequence,
dictionary: summary.title
});
}
diff --git a/ext/bg/js/dictionary.js b/ext/bg/js/dictionary.js
index 57acbe5e..f3f573d3 100644
--- a/ext/bg/js/dictionary.js
+++ b/ext/bg/js/dictionary.js
@@ -207,7 +207,8 @@ async function dictFieldFormat(field, definition, mode, options) {
const data = {
marker,
definition,
- group: options.general.groupResults,
+ group: options.general.resultOutputMode === 'group',
+ merge: options.general.resultOutputMode === 'merge',
modeTermKanji: mode === 'term-kanji',
modeTermKana: mode === 'term-kana',
modeKanji: mode === 'kanji'
diff --git a/ext/bg/js/options.js b/ext/bg/js/options.js
index 36ab7694..de3da943 100644
--- a/ext/bg/js/options.js
+++ b/ext/bg/js/options.js
@@ -132,7 +132,7 @@ function optionsSetDefaults(options) {
enable: true,
audioSource: 'jpod101',
audioVolume: 100,
- groupResults: true,
+ resultOutputMode: 'group',
debugInfo: false,
maxResults: 32,
showAdvanced: false,
diff --git a/ext/bg/js/settings.js b/ext/bg/js/settings.js
index a2f22371..c5a28a45 100644
--- a/ext/bg/js/settings.js
+++ b/ext/bg/js/settings.js
@@ -22,9 +22,9 @@ async function formRead() {
const optionsNew = $.extend(true, {}, optionsOld);
optionsNew.general.showGuide = $('#show-usage-guide').prop('checked');
+ optionsNew.general.resultOutputMode = $('#result-output-mode').val();
optionsNew.general.audioSource = $('#audio-playback-source').val();
optionsNew.general.audioVolume = parseFloat($('#audio-playback-volume').val());
- optionsNew.general.groupResults = $('#group-terms-results').prop('checked');
optionsNew.general.debugInfo = $('#show-debug-info').prop('checked');
optionsNew.general.showAdvanced = $('#show-advanced-options').prop('checked');
optionsNew.general.maxResults = parseInt($('#max-displayed-results').val(), 10);
@@ -124,9 +124,9 @@ async function onReady() {
const options = await optionsLoad();
$('#show-usage-guide').prop('checked', options.general.showGuide);
+ $('#result-output-mode').val(options.general.resultOutputMode);
$('#audio-playback-source').val(options.general.audioSource);
$('#audio-playback-volume').val(options.general.audioVolume);
- $('#group-terms-results').prop('checked', options.general.groupResults);
$('#show-debug-info').prop('checked', options.general.debugInfo);
$('#show-advanced-options').prop('checked', options.general.showAdvanced);
$('#max-displayed-results').val(options.general.maxResults);
diff --git a/ext/bg/js/translator.js b/ext/bg/js/translator.js
index c915dbc0..8fa2b60b 100644
--- a/ext/bg/js/translator.js
+++ b/ext/bg/js/translator.js
@@ -48,6 +48,18 @@ class Translator {
return {length, definitions: definitionsGrouped};
}
+ async findTermsMerged(text, dictionaries, alphanumeric) {
+ const titles = Object.keys(dictionaries);
+ const {length, definitions} = await this.findTerms(text, dictionaries, alphanumeric);
+
+ const definitionsMerged = dictTermsGroup(definitions, dictionaries);
+ // for (const definition of definitionsMerged) {
+ // await this.buildTermFrequencies(definition, titles);
+ // }
+
+ return {length, definitions: definitionsMerged};
+ }
+
async findTermsSplit(text, dictionaries, alphanumeric) {
const titles = Object.keys(dictionaries);
const {length, definitions} = await this.findTerms(text, dictionaries, alphanumeric);
@@ -90,7 +102,8 @@ class Translator {
expression: definition.expression,
reading: definition.reading,
glossary: definition.glossary,
- tags: dictTagsSort(tags)
+ tags: dictTagsSort(tags),
+ sequence: definition.sequence
});
}
}