summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Yatskov <alex@foosoft.net>2016-11-13 17:50:09 -0800
committerAlex Yatskov <alex@foosoft.net>2016-11-13 17:50:09 -0800
commit253da36755f24d656664ca524808e3292eef3697 (patch)
treef29c3e298803d8da241ea7f6585d4c9732305206
parenta9eea9f63497f2fe829f5b8d1ecf6c58f18b2b79 (diff)
WIP
-rw-r--r--ext/bg/js/database.js5
-rw-r--r--ext/bg/js/options-form.js10
2 files changed, 9 insertions, 6 deletions
diff --git a/ext/bg/js/database.js b/ext/bg/js/database.js
index 23041e40..5931e172 100644
--- a/ext/bg/js/database.js
+++ b/ext/bg/js/database.js
@@ -153,13 +153,14 @@ class Database {
}
return Promise.all([termCounter, kanjiCounter]).then(([termCount, kanjiCount]) => {
+ const rowLimit = 500;
const totalCount = termCount + kanjiCount;
let deletedCount = 0;
let termDeleter = Promise.resolve();
if (info.hasTerms) {
const termDeleterFunc = () => {
- return this.db.terms.where('dictionary').equals(title).limit(500).delete().then(count => {
+ return this.db.terms.where('dictionary').equals(title).limit(rowLimit).delete().then(count => {
if (count === 0) {
return Promise.resolve();
}
@@ -179,7 +180,7 @@ class Database {
let kanjiDeleter = Promise.resolve();
if (info.hasKanji) {
const kanjiDeleterFunc = () => {
- return this.db.kanji.where('dictionary').equals(title).limit(500).delete().then(count => {
+ return this.db.kanji.where('dictionary').equals(title).limit(rowLimit).delete().then(count => {
if (count === 0) {
return Promise.resolve();
}
diff --git a/ext/bg/js/options-form.js b/ext/bg/js/options-form.js
index 2cabe162..015c9a0a 100644
--- a/ext/bg/js/options-form.js
+++ b/ext/bg/js/options-form.js
@@ -158,15 +158,17 @@ function onDictionaryImport() {
const dictSpinner = $('#dict-spinner');
dictSpinner.show();
- const callback = (total, current) => {
- dictProgress.find('div').css('width', `${current / total * 100.0}%`);
+ const setProgress = percent => {
+ dictProgress.find('div').css('width', `${percent}%`);
};
+ setProgress(0.0);
+
const dictUrl = $('#dict-url');
loadOptions().then(opts => {
- database().importDictionary(dictUrl.val(), callback).then(summary => {
+ database().importDictionary(dictUrl.val(), (total, current) => setProgress(current / total * 100.0)).then(summary => {
opts.dictionaries[summary.title] = {enableTerms: summary.hasTerms, enableKanji: summary.hasKanji};
- return saveOptions(opts);
+ return saveOptions(opts).then(() => yomichan().setOptions(opts));
}).then(() => {
return populateDictionaries(opts);
}).catch(error => {