diff options
author | Alex Yatskov <alex@foosoft.net> | 2016-09-13 22:43:16 -0700 |
---|---|---|
committer | Alex Yatskov <alex@foosoft.net> | 2016-09-13 22:43:16 -0700 |
commit | ff3896ed01024e612f9a80fb898f84afac98fc6b (patch) | |
tree | 1da02ec14bc0526f53de2a21b2d23ac652c25cd8 /ext/bg/js/translator.js | |
parent | 17366e521afe2dd3b32f2068db43f972ce89b36f (diff) |
Fix progress counting
Diffstat (limited to 'ext/bg/js/translator.js')
-rw-r--r-- | ext/bg/js/translator.js | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/ext/bg/js/translator.js b/ext/bg/js/translator.js index 1dc0dca1..6827b5bc 100644 --- a/ext/bg/js/translator.js +++ b/ext/bg/js/translator.js @@ -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)}); } }; |