From 2dbb24ea0416cb83185b6f92624bd9b6e937eade Mon Sep 17 00:00:00 2001
From: toasted-nutbread
Date: Sun, 26 Jan 2020 21:01:00 -0500
Subject: Improve error messages when Interface server is invalid
---
ext/bg/js/settings/anki.js | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
(limited to 'ext/bg/js')
diff --git a/ext/bg/js/settings/anki.js b/ext/bg/js/settings/anki.js
index 9adb2f2a..3b0912d4 100644
--- a/ext/bg/js/settings/anki.js
+++ b/ext/bg/js/settings/anki.js
@@ -35,9 +35,15 @@ function _ankiSetError(error) {
const node = document.querySelector('#anki-error');
if (!node) { return; }
if (error) {
+ const errorString = `${error}`;
node.hidden = false;
- node.textContent = `${error}`;
+ node.textContent = errorString;
_ankiSetErrorData(node, error);
+
+ const node2 = document.querySelector('#anki-invalid-response-error');
+ if (node2 !== null) {
+ node2.hidden = (errorString.indexOf('Invalid response') < 0);
+ }
} else {
node.hidden = true;
node.textContent = '';
--
cgit v1.2.3
From 02e0e24153eb95b45057cfc92cadb6563b229cc1 Mon Sep 17 00:00:00 2001
From: siikamiika
Date: Mon, 27 Jan 2020 23:28:01 +0200
Subject: change jpod101 kana check to detect katakana
---
ext/bg/js/audio.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'ext/bg/js')
diff --git a/ext/bg/js/audio.js b/ext/bg/js/audio.js
index 36ac413b..d1e4af9e 100644
--- a/ext/bg/js/audio.js
+++ b/ext/bg/js/audio.js
@@ -22,7 +22,7 @@ const audioUrlBuilders = new Map([
let kana = definition.reading;
let kanji = definition.expression;
- if (!kana && wanakana.isHiragana(kanji)) {
+ if (!kana && jpIsStringEntirelyKana(kanji)) {
kana = kanji;
kanji = null;
}
--
cgit v1.2.3
From 1d9332cb69d76818a1f6a422ceafc3a463c48d7c Mon Sep 17 00:00:00 2001
From: toasted-nutbread
Date: Tue, 28 Jan 2020 18:58:14 -0500
Subject: Simplify getSequencedDefinitions and dictTermsMergeBySequence
---
ext/bg/js/dictionary.js | 20 ++++++++++++--------
ext/bg/js/translator.js | 16 ++++++++--------
2 files changed, 20 insertions(+), 16 deletions(-)
(limited to 'ext/bg/js')
diff --git a/ext/bg/js/dictionary.js b/ext/bg/js/dictionary.js
index 67128725..7d6bf7ba 100644
--- a/ext/bg/js/dictionary.js
+++ b/ext/bg/js/dictionary.js
@@ -159,11 +159,14 @@ function dictTermsGroup(definitions, dictionaries) {
}
function dictTermsMergeBySequence(definitions, mainDictionary) {
- const definitionsBySequence = {'-1': []};
+ const sequencedDefinitions = new Map();
+ const nonSequencedDefinitions = [];
for (const definition of definitions) {
- if (mainDictionary === definition.dictionary && definition.sequence >= 0) {
- if (!definitionsBySequence[definition.sequence]) {
- definitionsBySequence[definition.sequence] = {
+ const sequence = definition.sequence;
+ if (mainDictionary === definition.dictionary && sequence >= 0) {
+ sequencedDefinition = sequencedDefinitions.get(sequence);
+ if (typeof sequencedDefinition === 'undefined') {
+ sequencedDefinition = {
reasons: definition.reasons,
score: Number.MIN_SAFE_INTEGER,
expression: new Set(),
@@ -173,15 +176,16 @@ function dictTermsMergeBySequence(definitions, mainDictionary) {
dictionary: definition.dictionary,
definitions: []
};
+ sequencedDefinitions.set(sequence, sequencedDefinition);
+ } else {
+ sequencedDefinition.score = Math.max(sequencedDefinition.score, definition.score);
}
- const score = Math.max(definitionsBySequence[definition.sequence].score, definition.score);
- definitionsBySequence[definition.sequence].score = score;
} else {
- definitionsBySequence['-1'].push(definition);
+ nonSequencedDefinitions.push(definition);
}
}
- return definitionsBySequence;
+ return [sequencedDefinitions, nonSequencedDefinitions];
}
function dictTermsMergeByGloss(result, definitions, appendTo, mergedIndices) {
diff --git a/ext/bg/js/translator.js b/ext/bg/js/translator.js
index dfec54ac..d32f8c67 100644
--- a/ext/bg/js/translator.js
+++ b/ext/bg/js/translator.js
@@ -48,14 +48,14 @@ class Translator {
}
async getSequencedDefinitions(definitions, mainDictionary) {
- const definitionsBySequence = dictTermsMergeBySequence(definitions, mainDictionary);
- const defaultDefinitions = definitionsBySequence['-1'];
-
- const sequenceList = Object.keys(definitionsBySequence).map((v) => Number(v)).filter((v) => v >= 0);
- const sequencedDefinitions = sequenceList.map((key) => ({
- definitions: definitionsBySequence[key],
- rawDefinitions: []
- }));
+ const [definitionsBySequence, defaultDefinitions] = dictTermsMergeBySequence(definitions, mainDictionary);
+
+ const sequenceList = [];
+ const sequencedDefinitions = [];
+ for (const [key, value] of definitionsBySequence.entries()) {
+ sequenceList.push(key);
+ sequencedDefinitions.push({definitions: value, rawDefinitions: []});
+ }
for (const definition of await this.database.findTermsBySequenceBulk(sequenceList, mainDictionary)) {
sequencedDefinitions[definition.index].rawDefinitions.push(definition);
--
cgit v1.2.3
From daf038544873a9c59511c73b49475c80cb0dc4d1 Mon Sep 17 00:00:00 2001
From: toasted-nutbread
Date: Sat, 1 Feb 2020 10:34:13 -0500
Subject: Add declaration
---
ext/bg/js/dictionary.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'ext/bg/js')
diff --git a/ext/bg/js/dictionary.js b/ext/bg/js/dictionary.js
index 7d6bf7ba..1dd88e28 100644
--- a/ext/bg/js/dictionary.js
+++ b/ext/bg/js/dictionary.js
@@ -164,7 +164,7 @@ function dictTermsMergeBySequence(definitions, mainDictionary) {
for (const definition of definitions) {
const sequence = definition.sequence;
if (mainDictionary === definition.dictionary && sequence >= 0) {
- sequencedDefinition = sequencedDefinitions.get(sequence);
+ let sequencedDefinition = sequencedDefinitions.get(sequence);
if (typeof sequencedDefinition === 'undefined') {
sequencedDefinition = {
reasons: definition.reasons,
--
cgit v1.2.3
From 5541aae2012785894fbb52b2767cce5be9a6f5ba Mon Sep 17 00:00:00 2001
From: toasted-nutbread
Date: Sat, 1 Feb 2020 20:35:21 -0500
Subject: Assign valid score during construction
---
ext/bg/js/dictionary.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'ext/bg/js')
diff --git a/ext/bg/js/dictionary.js b/ext/bg/js/dictionary.js
index 1dd88e28..48f65d6c 100644
--- a/ext/bg/js/dictionary.js
+++ b/ext/bg/js/dictionary.js
@@ -168,7 +168,7 @@ function dictTermsMergeBySequence(definitions, mainDictionary) {
if (typeof sequencedDefinition === 'undefined') {
sequencedDefinition = {
reasons: definition.reasons,
- score: Number.MIN_SAFE_INTEGER,
+ score: definition.score,
expression: new Set(),
reading: new Set(),
expressions: new Map(),
--
cgit v1.2.3
From 566012f228452a4113e83f76d1c53be1f1f41643 Mon Sep 17 00:00:00 2001
From: toasted-nutbread
Date: Sat, 1 Feb 2020 11:40:17 -0500
Subject: Use await
---
ext/bg/js/settings/dictionaries.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
(limited to 'ext/bg/js')
diff --git a/ext/bg/js/settings/dictionaries.js b/ext/bg/js/settings/dictionaries.js
index ed171ae9..545e128d 100644
--- a/ext/bg/js/settings/dictionaries.js
+++ b/ext/bg/js/settings/dictionaries.js
@@ -427,7 +427,7 @@ async function onDictionaryMainChanged(e) {
const optionsContext = getOptionsContext();
const options = await getOptionsMutable(optionsContext);
options.general.mainDictionary = value;
- settingsSaveOptions();
+ await settingsSaveOptions();
}
--
cgit v1.2.3
From 748cd27ad09526e4ec8fd309c6a85fdba1e2462c Mon Sep 17 00:00:00 2001
From: toasted-nutbread
Date: Sat, 1 Feb 2020 11:20:50 -0500
Subject: Remove argument from onDictionaryOptionsChanged
---
ext/bg/js/settings/dictionaries.js | 8 ++++++--
ext/bg/js/settings/main.js | 2 +-
2 files changed, 7 insertions(+), 3 deletions(-)
(limited to 'ext/bg/js')
diff --git a/ext/bg/js/settings/dictionaries.js b/ext/bg/js/settings/dictionaries.js
index 545e128d..31f47bfd 100644
--- a/ext/bg/js/settings/dictionaries.js
+++ b/ext/bg/js/settings/dictionaries.js
@@ -361,12 +361,16 @@ async function dictSettingsInitialize() {
const optionsContext = getOptionsContext();
const options = await getOptionsMutable(optionsContext);
- onDictionaryOptionsChanged(options);
+ onDictionaryOptionsChanged();
onDatabaseUpdated(options);
}
-async function onDictionaryOptionsChanged(options) {
+async function onDictionaryOptionsChanged() {
if (dictionaryUI === null) { return; }
+
+ const optionsContext = getOptionsContext();
+ const options = await getOptionsMutable(optionsContext);
+
dictionaryUI.setOptionsDictionaries(options.dictionaries);
const optionsFull = await apiOptionsGetFull();
diff --git a/ext/bg/js/settings/main.js b/ext/bg/js/settings/main.js
index 3bf65eda..6e162ffc 100644
--- a/ext/bg/js/settings/main.js
+++ b/ext/bg/js/settings/main.js
@@ -167,7 +167,7 @@ async function formWrite(options) {
await ankiTemplatesUpdateValue();
await onAnkiOptionsChanged(options);
- await onDictionaryOptionsChanged(options);
+ await onDictionaryOptionsChanged();
formUpdateVisibility(options);
}
--
cgit v1.2.3
From 55047def9dad485b4ad6e118c5d9eaed5d09af0c Mon Sep 17 00:00:00 2001
From: toasted-nutbread
Date: Sat, 1 Feb 2020 11:40:09 -0500
Subject: Separate the functionality of updateMainDictionarySelect
One function now updates the options, and another handles updating the value.
The options are no longer mutated due to updating this
-
+
@@ -492,6 +492,10 @@
+
+
+
+
diff --git a/ext/mixed/css/display-dark.css b/ext/mixed/css/display-dark.css
index 088fc741..c9cd9f90 100644
--- a/ext/mixed/css/display-dark.css
+++ b/ext/mixed/css/display-dark.css
@@ -38,6 +38,7 @@ body { background-color: #1e1e1e; color: #d4d4d4; }
.tag[data-category=dictionary] { background-color: #9057ad; }
.tag[data-category=frequency] { background-color: #489148; }
.tag[data-category=partOfSpeech] { background-color: #565656; }
+.tag[data-category=search] { background-color: #69696e; }
.term-reasons { color: #888888; }
diff --git a/ext/mixed/css/display-default.css b/ext/mixed/css/display-default.css
index 69141c9d..6eee43c4 100644
--- a/ext/mixed/css/display-default.css
+++ b/ext/mixed/css/display-default.css
@@ -38,6 +38,7 @@ body { background-color: #ffffff; color: #333333; }
.tag[data-category=dictionary] { background-color: #aa66cc; }
.tag[data-category=frequency] { background-color: #5cb85c; }
.tag[data-category=partOfSpeech] { background-color: #565656; }
+.tag[data-category=search] { background-color: #8a8a91; }
.term-reasons { color: #777777; }
diff --git a/ext/mixed/css/display.css b/ext/mixed/css/display.css
index fefd500f..3a66cec3 100644
--- a/ext/mixed/css/display.css
+++ b/ext/mixed/css/display.css
@@ -227,6 +227,10 @@ button.action-button {
margin-left: 0.375em;
}
+html:root:not([data-enable-search-tags=true]) .tag[data-category=search] {
+ display: none;
+}
+
.entry-header2,
.entry-header3 {
display: inline;
diff --git a/ext/mixed/display-templates.html b/ext/mixed/display-templates.html
index 6c611be9..6fcf4c74 100644
--- a/ext/mixed/display-templates.html
+++ b/ext/mixed/display-templates.html
@@ -77,5 +77,6 @@
+