fix copayers

This commit is contained in:
Matias Alejo Garcia 2014-12-09 11:52:01 -03:00
commit 475f6ea29e
11 changed files with 62 additions and 32 deletions

View file

@ -1,18 +1,33 @@
'use strict';
angular.module('copayApp.controllers').controller('CopayersController',
function($scope, $rootScope, $location) {
function($scope, $rootScope, $timeout, go) {
console.log('[copayers.js.5]'); //TODO
$scope.init = function() {
var w = $rootScope.wallet;
$rootScope.title = 'Waiting copayers for ' + $rootScope.wallet.getName();
$scope.loading = false;
$scope.secret = $rootScope.wallet.getSecret();
w.on('publicKeyRingUpdated', $scope.updateList);
w.on('ready', $scope.updateList);
$scope.updateList();
};
$scope.copayersList = function() {
if ($rootScope.wallet) {
$scope.copayers = $rootScope.wallet.getRegisteredPeerIds();
$scope.updateList = function() {
var w = $rootScope.wallet;
$scope.copayers = $rootScope.wallet.getRegisteredPeerIds();
if (w.isComplete()) {
w.removeListener('publicKeyRingUpdated', $scope.updateList);
w.removeListener('ready', $scope.updateList);
go.walletHome();
}
return $scope.copayers;
}
$timeout(function() {
$rootScope.$digest();
}, 1);
};
});

View file

@ -1,15 +1,17 @@
'use strict';
angular.module('copayApp.controllers').controller('HomeWalletController', function($scope, $rootScope, $timeout, $filter, $location, rateService, notification, identityService) {
$scope.init = function() {
$scope.initHome = function() {
var w = $rootScope.wallet;
$rootScope.title = 'Home';
$scope.rateService = rateService;
$scope.isRateAvailable = false;
var w = $rootScope.wallet;
w.on('txProposalEvent', _updateTxs);
if (w.isShared())
$scope.copayers = w.getRegisteredPeerIds();
w.on('txProposalEvent', _updateTxs);
_updateTxs();
rateService.whenAvailable(function() {
@ -18,7 +20,9 @@ angular.module('copayApp.controllers').controller('HomeWalletController', functi
});
};
// This is necesarry, since wallet can change in homeWallet, without running init() again.
// This is necessary, since wallet can change in homeWallet,
// without running init() again.
var removeWatch;
removeWatch = $rootScope.$watch('wallet.id', function(newWallet, oldWallet) {
if ($rootScope.wallet && $rootScope.wallet.isComplete() && newWallet !== oldWallet) {

View file

@ -21,10 +21,8 @@ angular.module('copayApp.controllers').controller('ReceiveController',
var lastAddr = _.first(w.getAddressesOrderer());
var balance = w.balanceInfo.balanceByAddr;
if (balance[lastAddr]>0)
$scope.loading = true;
while (balance && balance[lastAddr] > 0) {
$scope.loading = true;
$scope.newAddr();
lastAddr = w.generateAddress(null);
};

View file

@ -509,6 +509,9 @@ Identity.prototype.bindWallet = function(w) {
w.on('publicKeyRingUpdated', function() {
Identity.storeWalletDebounced(self, w);
});
w.on('ready', function() {
Identity.storeWalletDebounced(self, w);
});
this.emitAndKeepAlive('newWallet', w.getId());
};

View file

@ -22,11 +22,11 @@ angular
template: " ", // just fire controller
controller: 'EmailConfirmationController',
})
// Payment intents come here.
.when('/uri-payment/:data', {
template: " ", // just fire controller
controller: 'paymentUriController',
})
// Payment intents come here.
.when('/uri-payment/:data', {
template: " ", // just fire controller
controller: 'paymentUriController',
})
.when('/selectWalletForPayment', {
template: " ", // just fire controller
controller: 'walletForPaymentController',
@ -127,6 +127,7 @@ angular
}
$rootScope.$on('$routeChangeStart', function(event, next, current) {
if (!ls || ls.length < 1) {
$location.path('unsupported');
} else {
@ -134,7 +135,8 @@ angular
$idle.unwatch();
$location.path('/');
}
if ($rootScope.wallet && !$rootScope.wallet.isComplete() && next.walletShouldBeComplete) {
if ($rootScope.wallet && !$rootScope.wallet.isComplete()
&& next.walletShouldBeComplete) {
$location.path('/copayers');
}
}

View file

@ -57,24 +57,23 @@ angular.module('copayApp.services').factory('go', function($window, $rootScope,
};
root.walletHome = function() {
console.log('[go.js.25:walletHome:]'); //TODO
var w = $rootScope.wallet;
preconditions.checkState(w);
$rootScope.starting = false;
if (!w.isComplete()) {
root.path('copayers');
} else {
if ($rootScope.pendingPayment) {
root.path('selectWalletForPayment');
} else {
console.log('[go.js.36]'); //TODO
root.path('homeWallet');
}
}
};
root.home = function() {
console.log('[go.js.48:home:]'); //TODO
if ($rootScope.iden)
root.walletHome();
else
@ -83,6 +82,8 @@ console.log('[go.js.36]'); //TODO
root.send = function() {
console.log('[go.js.58]'); //TODO
$location.path('send');
};