From fd9e6cb48a81b158a3513104669046aa5e2466fb Mon Sep 17 00:00:00 2001 From: Manuel Araoz Date: Wed, 30 Apr 2014 19:50:13 -0300 Subject: [PATCH] refactor isChange logic --- css/main.css | 3 +++ index.html | 39 ++++++++++++++++++++------------- js/controllers/addresses.js | 27 +++++------------------ js/controllers/header.js | 8 ++++++- js/models/core/PublicKeyRing.js | 24 +++++++++++++++----- js/models/core/Wallet.js | 15 +++++-------- js/services/controllerUtils.js | 37 +++++++++++++++++++++---------- js/services/video.js | 2 +- 8 files changed, 89 insertions(+), 66 deletions(-) diff --git a/css/main.css b/css/main.css index ed9589164..0d9b31aba 100644 --- a/css/main.css +++ b/css/main.css @@ -325,3 +325,6 @@ hr { margin: 2.25rem 0;} background: #C0392B; } +a.loading { + background: #fff; +} diff --git a/index.html b/index.html index 736109142..c0bcc8507 100644 --- a/index.html +++ b/index.html @@ -18,11 +18,15 @@
-
+
Balance: {{totalBalance || 0}}
@@ -248,29 +252,34 @@
-
+ -
+

Create a New Address

- +
diff --git a/js/controllers/addresses.js b/js/controllers/addresses.js index 1c5771288..0a5470ea5 100644 --- a/js/controllers/addresses.js +++ b/js/controllers/addresses.js @@ -2,38 +2,21 @@ angular.module('copay.addresses').controller('AddressesController', function($scope, $rootScope, controllerUtils) { - $scope.title = 'Home'; - $scope.addrBalance = {}; var w = $rootScope.wallet; - - var _updateBalance = function() { - $scope.addrs = w.getAddressesStr(true); - controllerUtils.setSocketHandlers(); - w.getBalance(true, function(balance, balanceByAddr, isMain) { - if (balanceByAddr && Object.keys(balanceByAddr).length) { - $rootScope.balanceByAddr = balanceByAddr; - $scope.isMain = isMain; - $scope.addrs = Object.keys(balanceByAddr); - $scope.selectedAddr = $scope.addrs[0]; - $scope.loading = false; - $rootScope.$digest(); - alert('digest'); - } - }); - }; + $scope.loading = false; $scope.newAddr = function() { $scope.loading = true; w.generateAddress(); - _updateBalance(); - alert('new address'); + controllerUtils.updateBalance(function() { + $scope.loading = false; + $rootScope.$digest(); + }); }; $scope.selectAddr = function(addr) { $scope.selectedAddr = addr; }; - _updateBalance(); - w.on('refresh', _updateBalance); }); diff --git a/js/controllers/header.js b/js/controllers/header.js index f9cf9e1a6..e8a25141e 100644 --- a/js/controllers/header.js +++ b/js/controllers/header.js @@ -40,7 +40,13 @@ angular.module('copay.header').controller('HeaderController', w.disconnect(); controllerUtils.logout(); } - $rootScope.flashMessage = {}; + $scope.clearFlashMessage(); + }; + + $scope.refresh = function() { + controllerUtils.updateBalance(function() { + $rootScope.$digest(); + }); }; $scope.clearFlashMessage = function() { diff --git a/js/models/core/PublicKeyRing.js b/js/models/core/PublicKeyRing.js index 3b1a9ae60..a99f2c8cc 100644 --- a/js/models/core/PublicKeyRing.js +++ b/js/models/core/PublicKeyRing.js @@ -210,17 +210,29 @@ PublicKeyRing.prototype.generateAddress = function(isChange) { }; PublicKeyRing.prototype.getAddresses = function(excludeChange) { + return this.getAddressesInfo(excludeChange).map(function(info) { + return info.address; + }); +}; + +PublicKeyRing.prototype.getAddressesInfo = function(excludeChange) { var ret = []; - - for (var i=0; i