From db0cdec49eba6374f218a7d314ecb61c6442c3e7 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Tue, 23 Aug 2016 09:35:32 -0300 Subject: [PATCH] wallet updates on events! --- src/js/controllers/tab-home.js | 19 +++++++++++--- src/js/services/profileService.js | 42 ++++++++----------------------- 2 files changed, 26 insertions(+), 35 deletions(-) diff --git a/src/js/controllers/tab-home.js b/src/js/controllers/tab-home.js index d9cd71348..bb2d07e04 100644 --- a/src/js/controllers/tab-home.js +++ b/src/js/controllers/tab-home.js @@ -8,8 +8,12 @@ angular.module('copayApp.controllers').controller('tabHomeController', var setPendingTxps = function(txps) { - $scope.txps = lodash.sort(txps, function(x) { - return walletId; + if (!txps) { + $scope.txps = []; + return; + } + $scope.txps = txps.sort(function(a, b) { + return a.walletId.localeCompare(b.walletId); }); }; @@ -101,11 +105,12 @@ angular.module('copayApp.controllers').controller('tabHomeController', return x.walletId != wallet.id; }); + $log.debug('Updating wallet:'+ wallet.name) walletService.getStatus(wallet, {}, function(err, status) { if (err) { console.log('[tab-home.js.35:err:]', $log.error(err)); //TODO return; - } // TODO + } if (status.pendingTxps && status.pendingTxps[0]) { txps = txps.concat(status.pendingTxps); txps = formatPendingTxps(txps); @@ -120,8 +125,14 @@ angular.module('copayApp.controllers').controller('tabHomeController', self.updateAllWallets(); $scope.bitpayCardEnabled = true; // TODO + var c1 = $rootScope.$on('bwsEvent', function(e, walletId, type, n) { + var wallet = profileService.getWallet(walletId); + self.updateWallet(wallet); + }); - $scope.$on('$destroy', function() {}); + $scope.$on('$destroy', function() { + c1(); + }); var config = configService.getSync().wallet; diff --git a/src/js/services/profileService.js b/src/js/services/profileService.js index 28f06b62c..8669b65ff 100644 --- a/src/js/services/profileService.js +++ b/src/js/services/profileService.js @@ -70,37 +70,13 @@ angular.module('copayApp.services') notificationService.newBWCNotification(n, walletId, wallet.credentials.walletName); - $rootScope.$emit(n.type, n, wallet); -// )) -// walletService allet.getStatus() -// wallet.getTxHistory() -// -// // update wallet? -// if (lodash.indexOf( [,'NewOutgoingTx','NewOutgoingTxByThirdParty','NewTxProposal', 'TxProposalFinallyRejected', 'TxProposalRemoved'], n.type)>=0) { -// -// wallet.update -// -// }; -// -// 'NewBlock' -// }); -// -// //untilItChange FALSE -// lodash.each(['NewTxProposal', , 'NewOutgoingTxByThirdParty', -// 'Local/GlideraTx' -// ], function(eventName) { -// $rootScope.$on(eventName, function(event) { -// self.updateAll({ -// walletStatus: null, -// untilItChanges: null, -// triggerTxUpdate: true, -// }); -// }); -// }); -// -// -// // - // + $rootScope.$emit('bwsEvent', wallet.id, n.type, n); + + if (wallet.cacheStatus) + wallet.cacheStatus.isValid = false; + + if (wallet.completeHistory) + wallet.completeHistory.isValid = false; }); wallet.on('walletCompleted', function() { @@ -122,6 +98,10 @@ angular.module('copayApp.services') return; } wallet.setNotificationsInterval(UPDATE_PERIOD); + wallet.openWallet(function(err) { + if (wallet.status !== true) + $log.log('Wallet + ' + walletId + ' status:' + wallet.status) + }); });