summaryrefslogtreecommitdiff
path: root/ext/bg/js
diff options
context:
space:
mode:
Diffstat (limited to 'ext/bg/js')
-rw-r--r--ext/bg/js/dictionary.js12
-rw-r--r--ext/bg/js/options-form.js11
2 files changed, 21 insertions, 2 deletions
diff --git a/ext/bg/js/dictionary.js b/ext/bg/js/dictionary.js
index 37a799a6..aa5f0b47 100644
--- a/ext/bg/js/dictionary.js
+++ b/ext/bg/js/dictionary.js
@@ -20,7 +20,7 @@
class Dictionary {
constructor() {
this.db = null;
- this.dbVer = 5;
+ this.dbVer = 4;
this.entities = null;
}
@@ -131,6 +131,14 @@ class Dictionary {
});
}
+ getDictionaries() {
+ if (this.db === null) {
+ return Promise.reject('database not initialized');
+ }
+
+ return this.db.dictionaries.toArray();
+ }
+
importTermDict(indexUrl, callback) {
if (this.db === null) {
return Promise.reject('database not initialized');
@@ -204,6 +212,6 @@ class Dictionary {
});
};
- return importJsonDb(indexUrl, null, entriesLoaded);
+ return importJsonDb(indexUrl, indexLoaded, entriesLoaded);
}
}
diff --git a/ext/bg/js/options-form.js b/ext/bg/js/options-form.js
index eb562142..589d92b1 100644
--- a/ext/bg/js/options-form.js
+++ b/ext/bg/js/options-form.js
@@ -154,6 +154,16 @@ function populateAnkiDeckAndModel(opts) {
});
}
+function populateDictionaries() {
+ const dictionaries = $('.dictionaries');
+ yomichan().translator.dictionary.getDictionaries().then(rows => {
+ for (const row of rows) {
+ const dictionary = $('<p>').text(row.dictionary);
+ dictionaries.append(dictionary);
+ }
+ });
+}
+
function populateAnkiFields(element, opts) {
const table = element.closest('.tab-pane').find('.anki-fields');
table.find('tbody').remove();
@@ -274,6 +284,7 @@ $(document).ready(() => {
$('input, select').not('.anki-model').change(onOptionsChanged);
$('.anki-model').change(onAnkiModelChanged);
+ populateDictionaries();
populateAnkiDeckAndModel(opts);
updateVisibility(opts);
});