Wallet/js/controllers/receive.js

96 lines
2.5 KiB
JavaScript
Raw Normal View History

2014-03-26 09:18:42 -03:00
'use strict';
2014-10-30 14:13:40 -03:00
angular.module('copayApp.controllers').controller('ReceiveController',
2015-01-22 17:12:55 -03:00
function($scope, $rootScope, $timeout, $modal, isCordova) {
2014-05-19 17:51:21 -03:00
$scope.newAddr = function() {
2014-10-28 11:34:19 -03:00
var w = $rootScope.wallet;
2015-01-05 12:30:22 -03:00
var lastAddr = w.generateAddress(null);
2014-11-30 03:23:15 -03:00
$scope.setAddressList();
2015-01-05 12:30:22 -03:00
$scope.addr = lastAddr;
2015-01-22 17:12:55 -03:00
};
$scope.copyAddress = function(addr) {
if (isCordova) {
window.cordova.plugins.clipboard.copy(addr);
window.plugins.toast.showShortCenter('Copied to clipboard');
}
};
2014-12-04 10:36:58 -03:00
$scope.init = function() {
$rootScope.title = 'Receive';
$scope.showAll = false;
var w = $rootScope.wallet;
2015-01-07 16:47:22 -03:00
var lastAddr = _.first(w.getAddressesOrdered());
2014-12-04 10:36:58 -03:00
var balance = w.balanceInfo.balanceByAddr;
2015-01-05 12:30:22 -03:00
$scope.setAddressList();
2014-12-04 10:36:58 -03:00
while (balance && balance[lastAddr] > 0) {
2014-12-09 11:52:01 -03:00
$scope.loading = true;
2014-12-04 10:36:58 -03:00
lastAddr = w.generateAddress(null);
};
$scope.loading = false;
$scope.addr = lastAddr;
};
$scope.openAddressModal = function(address) {
2015-01-22 17:12:55 -03:00
var scope = $scope;
var ModalInstanceCtrl = function($scope, $modalInstance, address) {
$scope.address = address;
2015-01-22 17:12:55 -03:00
$scope.isCordova = isCordova;
$scope.copyAddress = function(addr) {
scope.copyAddress(addr);
};
2014-07-30 00:51:38 -03:00
$scope.cancel = function() {
$modalInstance.dismiss('cancel');
};
};
$modal.open({
templateUrl: 'views/modals/qr-address.html',
2014-07-22 11:03:08 -03:00
windowClass: 'tiny',
controller: ModalInstanceCtrl,
resolve: {
address: function() {
return address;
}
}
});
};
$scope.toggleShowAll = function() {
$scope.showAll = !$scope.showAll;
2014-11-30 03:23:15 -03:00
$scope.setAddressList();
};
2014-11-30 03:23:15 -03:00
$scope.setAddressList = function() {
2014-12-04 10:36:58 -03:00
if ($scope.showAll) {
var w = $rootScope.wallet;
var balance = w.balanceInfo.balanceByAddr;
2015-01-15 12:59:30 -03:00
var addresses = w.getAddressesOrdered();
2014-12-04 10:36:58 -03:00
if (addresses) {
$scope.addrLength = addresses.length;
2014-11-30 03:23:15 -03:00
2014-12-04 10:36:58 -03:00
if (!$scope.showAll)
addresses = addresses.slice(0, 3);
2014-11-30 03:23:15 -03:00
2014-12-04 10:36:58 -03:00
var list = [];
_.each(addresses, function(address, index) {
list.push({
'index': index,
'address': address,
'balance': balance ? balance[address] : null,
'isChange': w.addressIsChange(address),
});
});
2014-12-04 10:36:58 -03:00
$scope.addresses = list;
}
} else {
$scope.addresses = [];
}
};
}
);