diff options
-rw-r--r-- | ext/bg/js/dictionary.js | 12 | ||||
-rw-r--r-- | ext/bg/js/options-form.js | 11 | ||||
-rw-r--r-- | ext/bg/options.html | 2 |
3 files changed, 22 insertions, 3 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); }); diff --git a/ext/bg/options.html b/ext/bg/options.html index 458174bb..77d7edf1 100644 --- a/ext/bg/options.html +++ b/ext/bg/options.html @@ -65,7 +65,7 @@ <div> <h3>Dictionaries</h3> - <div name="dictionaries"> + <div class="dictionaries"> </div> </div> |