Fix progress counting
This commit is contained in:
parent
17366e521a
commit
ff3896ed01
@ -163,7 +163,7 @@ class Dictionary {
|
||||
|
||||
return this.db.terms.bulkAdd(rows).then(() => {
|
||||
if (callback) {
|
||||
callback(i, index.banks);
|
||||
callback(indexUrl, i, index.banks);
|
||||
}
|
||||
});
|
||||
});
|
||||
@ -199,7 +199,7 @@ class Dictionary {
|
||||
|
||||
return this.db.kanji.bulkAdd(rows).then(() => {
|
||||
if (callback) {
|
||||
callback(i, index.banks);
|
||||
callback(indexUrl, i, index.banks);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
@ -45,14 +45,21 @@ class Translator {
|
||||
callback({state: 'begin', progress: 0});
|
||||
}
|
||||
|
||||
let banksLoaded = 0;
|
||||
let banksTotal = 0;
|
||||
const banks = {};
|
||||
const bankCallback = (indexUrl, loaded, total) => {
|
||||
banks[indexUrl] = {loaded: loaded, total: total};
|
||||
if (Object.keys(banks).length !== 3) {
|
||||
return;
|
||||
}
|
||||
|
||||
const bankCallback = (loaded, total) => {
|
||||
banksLoaded += loaded;
|
||||
banksTotal += total;
|
||||
let banksLoaded = 0;
|
||||
let banksTotal = 0;
|
||||
for (const url in banks) {
|
||||
banksLoaded += banks[url].loaded;
|
||||
banksTotal += banks[url].total;
|
||||
}
|
||||
|
||||
if (callback) {
|
||||
if (callback && banksTotal > 0) {
|
||||
callback({state: 'update', progress: Math.ceil(100 * banksLoaded / banksTotal)});
|
||||
}
|
||||
};
|
||||
|
@ -47,6 +47,10 @@ class Yomichan {
|
||||
}
|
||||
}
|
||||
|
||||
onImport({state, progress}) {
|
||||
console.log(`${state}: ${progress}`);
|
||||
}
|
||||
|
||||
onMessage(request, sender, callback) {
|
||||
const {action, params} = request, method = this['api_' + action];
|
||||
|
||||
@ -90,7 +94,7 @@ class Yomichan {
|
||||
break;
|
||||
case 'loading':
|
||||
chrome.browserAction.setBadgeText({text: '...'});
|
||||
this.translator.loadData().then(() => this.setState('enabled'));
|
||||
this.translator.loadData(this.onImport.bind(this)).then(() => this.setState('enabled'));
|
||||
break;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user