From 0ff67f69ef918ccf4e4fb2a9c3f367c6bff7db1b Mon Sep 17 00:00:00 2001 From: Ivan Socolsky Date: Fri, 17 Oct 2014 13:14:41 -0300 Subject: [PATCH] refresh balance instantly if cache hit --- js/services/controllerUtils.js | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/js/services/controllerUtils.js b/js/services/controllerUtils.js index 067bbffd3..dc0033aea 100644 --- a/js/services/controllerUtils.js +++ b/js/services/controllerUtils.js @@ -245,7 +245,7 @@ angular.module('copayApp.services') }; root.updateBalance = function(w, cb) { - var updateScope = function(w, data, cb2) { + function updateScope(w, data, cb2) { var satToUnit = 1 / w.settings.unitToSatoshi; var COIN = bitcore.util.COIN; @@ -269,7 +269,6 @@ angular.module('copayApp.services') balanceByAddr[ii] = balanceByAddrSat[ii] * satToUnit; } $rootScope.balanceByAddr = balanceByAddr; - root.updateAddressList(); rateService.whenAvailable(function() { $rootScope.totalBalanceAlternative = rateService.toFiat(balanceSat, w.settings.alternativeIsoCode); @@ -289,11 +288,15 @@ angular.module('copayApp.services') if (!w.isReady()) return; console.log('## Updating balance of:' + w.id) + root.updateAddressList(); var wid = w.getId(); if (_balanceCache[wid]) { updateScope(w, _balanceCache[wid]); + setTimeout(function() { + $rootScope.$digest(); + }, 1); } else { $rootScope.updatingBalance = true; } @@ -309,7 +312,7 @@ angular.module('copayApp.services') updateScope(w, _balanceCache[wid], function() { $rootScope.updatingBalance = false; - cb(); + if (cb) cb(); }); }); };