Merge branch 'ref/design' of https://github.com/bitpay/bitpay-wallet into feature/address_book
This commit is contained in:
commit
52baa52a5c
13 changed files with 61 additions and 43 deletions
|
|
@ -31,7 +31,7 @@ angular.module('copayApp.controllers').controller('addressbookAddController', fu
|
|||
return;
|
||||
}
|
||||
if ($scope.fromSendTab) $scope.goHome();
|
||||
else $state.go('tabs.addressbook');
|
||||
else $ionicHistory.goBack();
|
||||
});
|
||||
}, 100);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -10,10 +10,15 @@ angular.module('copayApp.controllers').controller('amountController', function($
|
|||
var SMALL_FONT_SIZE_LIMIT = 13;
|
||||
var LENGTH_EXPRESSION_LIMIT = 19;
|
||||
|
||||
$scope.isWallet = $stateParams.isWallet;
|
||||
$scope.toAddress = $stateParams.toAddress;
|
||||
$scope.toName = $stateParams.toName;
|
||||
$scope.toEmail = $stateParams.toEmail;
|
||||
|
||||
$scope.$on('$ionicView.beforeLeave', function() {
|
||||
angular.element($window).off('keydown');
|
||||
});
|
||||
|
||||
$scope.$on("$ionicView.beforeEnter", function(event, data) {
|
||||
|
||||
if (!$stateParams.toAddress) {
|
||||
|
|
@ -24,7 +29,6 @@ angular.module('copayApp.controllers').controller('amountController', function($
|
|||
var reNr = /^[1234567890\.]$/;
|
||||
var reOp = /^[\*\+\-\/]$/;
|
||||
|
||||
|
||||
var disableKeys = angular.element($window).on('keydown', function(e) {
|
||||
if (e.which === 8) { // you can add others here inside brackets.
|
||||
e.preventDefault();
|
||||
|
|
@ -46,10 +50,6 @@ angular.module('copayApp.controllers').controller('amountController', function($
|
|||
|
||||
});
|
||||
|
||||
$scope.$on('$destroy', function() {
|
||||
angular.element($window).off('keydown');
|
||||
});
|
||||
|
||||
var config = configService.getSync().wallet.settings;
|
||||
$scope.unitName = config.unitName;
|
||||
$scope.alternativeIsoCode = config.alternativeIsoCode;
|
||||
|
|
@ -65,7 +65,6 @@ angular.module('copayApp.controllers').controller('amountController', function($
|
|||
$scope.amount = (($stateParams.toAmount) * satToUnit).toFixed(unitDecimals);
|
||||
}
|
||||
|
||||
|
||||
processAmount($scope.amount);
|
||||
|
||||
$timeout(function() {
|
||||
|
|
@ -187,6 +186,7 @@ angular.module('copayApp.controllers').controller('amountController', function($
|
|||
var amount = $scope.showAlternativeAmount ? fromFiat(_amount).toFixed(unitDecimals) : _amount.toFixed(unitDecimals);
|
||||
|
||||
$state.transitionTo('tabs.send.confirm', {
|
||||
isWallet: $scope.isWallet,
|
||||
toAmount: amount * unitToSatoshi,
|
||||
toAddress: $scope.toAddress,
|
||||
toName: $scope.toName,
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@ angular.module('copayApp.controllers').controller('confirmController', function(
|
|||
var cachedTxp = {};
|
||||
var isChromeApp = platformInfo.isChromeApp;
|
||||
|
||||
$scope.isWallet = $stateParams.isWallet;
|
||||
$scope.toAmount = $stateParams.toAmount;
|
||||
$scope.toAddress = $stateParams.toAddress;
|
||||
$scope.toName = $stateParams.toName;
|
||||
$scope.toEmail = $stateParams.toEmail;
|
||||
|
|
@ -15,15 +17,15 @@ angular.module('copayApp.controllers').controller('confirmController', function(
|
|||
});
|
||||
|
||||
var initConfirm = function() {
|
||||
if ($stateParams.paypro) {
|
||||
return setFromPayPro($stateParams.paypro, function(err) {
|
||||
if ($scope.paypro) {
|
||||
return setFromPayPro($scope.paypro, function(err) {
|
||||
if (err && !isChromeApp) {
|
||||
popupService.showAlert(gettext('Could not fetch payment'));
|
||||
}
|
||||
});
|
||||
}
|
||||
// TODO (URL , etc)
|
||||
if (!$stateParams.toAddress || !$stateParams.toAmount) {
|
||||
if (!$scope.toAddress || !$scope.toAmount) {
|
||||
$log.error('Bad params at amount')
|
||||
throw ('bad params');
|
||||
}
|
||||
|
|
@ -33,7 +35,7 @@ angular.module('copayApp.controllers').controller('confirmController', function(
|
|||
var config = configService.getSync().wallet;
|
||||
$scope.feeLevel = config.settings ? config.settings.feeLevel : '';
|
||||
|
||||
var amount = $scope.toAmount = parseInt($stateParams.toAmount);
|
||||
$scope.toAmount = parseInt($scope.toAmount);
|
||||
$scope.amountStr = txFormatService.formatAmountStr($scope.toAmount);
|
||||
|
||||
var networkName = (new bitcore.Address($scope.toAddress)).network.name;
|
||||
|
|
@ -54,7 +56,7 @@ angular.module('copayApp.controllers').controller('confirmController', function(
|
|||
$log.error(err);
|
||||
} else {
|
||||
if (!status.availableBalanceSat) $log.debug('No balance available in: ' + w.name);
|
||||
if (status.availableBalanceSat > amount) filteredWallets.push(w);
|
||||
if (status.availableBalanceSat > $scope.toAmount) filteredWallets.push(w);
|
||||
}
|
||||
|
||||
if (++index == wallets.length) {
|
||||
|
|
@ -69,7 +71,7 @@ angular.module('copayApp.controllers').controller('confirmController', function(
|
|||
});
|
||||
});
|
||||
|
||||
txFormatService.formatAlternativeStr(amount, function(v) {
|
||||
txFormatService.formatAlternativeStr($scope.toAmount, function(v) {
|
||||
$scope.alternativeAmountStr = v;
|
||||
});
|
||||
|
||||
|
|
@ -145,12 +147,13 @@ angular.module('copayApp.controllers').controller('confirmController', function(
|
|||
return cb(true);
|
||||
}
|
||||
|
||||
$stateParams.toAmount = paypro.amount;
|
||||
$stateParams.toAddress = paypro.toAddress;
|
||||
$stateParams.description = paypro.memo;
|
||||
$stateParams.paypro = null;
|
||||
$scope.toAmount = paypro.amount;
|
||||
$scope.toAddress = paypro.toAddress;
|
||||
$scope.description = paypro.memo;
|
||||
$scope.paypro = null;
|
||||
|
||||
$scope._paypro = paypro;
|
||||
|
||||
return initConfirm();
|
||||
});
|
||||
};
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
angular.module('copayApp.controllers').controller('txStatusController', function($scope, $timeout, $state, $ionicHistory, $log, addressbookService) {
|
||||
|
||||
if ($scope.cb) $timeout($scope.cb, 100);
|
||||
$scope.fromSendTab = $ionicHistory.viewHistory().backView.stateName === "tabs.send.amount";
|
||||
$scope.fromSendTab = $ionicHistory.viewHistory().backView.stateName === "tabs.send.amount" || "tabs.send";
|
||||
|
||||
$scope.cancel = function() {
|
||||
$scope.txStatusModal.hide();
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ angular.module('copayApp.controllers').controller('tabReceiveController', functi
|
|||
}, 1);
|
||||
};
|
||||
|
||||
$scope.$on("$ionicView.enter", function(event, data) {
|
||||
$scope.$on("$ionicView.beforeEnter", function(event, data) {
|
||||
if (!$scope.isCordova) $scope.checkTips();
|
||||
$scope.wallets = profileService.getWallets({
|
||||
onlyComplete: true
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ angular.module('copayApp.controllers').controller('tabSendController', function(
|
|||
var wallets = profileService.getWallets({
|
||||
onlyComplete: true
|
||||
});
|
||||
$scope.hasWallets = lodash.isEmpty(wallets) ? false : true;
|
||||
|
||||
lodash.each(wallets, function(v) {
|
||||
originalList.push({
|
||||
|
|
@ -25,6 +26,7 @@ angular.module('copayApp.controllers').controller('tabSendController', function(
|
|||
addressbookService.list(function(err, ab) {
|
||||
if (err) $log.error(err);
|
||||
|
||||
$scope.hasContacts = lodash.isEmpty(ab) ? false : true;
|
||||
var contacts = [];
|
||||
lodash.each(ab, function(v, k) {
|
||||
contacts.push({
|
||||
|
|
@ -76,6 +78,7 @@ angular.module('copayApp.controllers').controller('tabSendController', function(
|
|||
}
|
||||
$log.debug('Got toAddress:' + addr + ' | ' + item.name);
|
||||
return $state.transitionTo('tabs.send.amount', {
|
||||
isWallet: item.isWallet,
|
||||
toAddress: addr,
|
||||
toName: item.name,
|
||||
toEmail: item.email
|
||||
|
|
@ -83,7 +86,7 @@ angular.module('copayApp.controllers').controller('tabSendController', function(
|
|||
});
|
||||
};
|
||||
|
||||
$scope.$on("$ionicView.enter", function(event, data){
|
||||
$scope.$on("$ionicView.beforeEnter", function(event, data){
|
||||
$scope.formData = { search: null };
|
||||
updateList();
|
||||
});
|
||||
|
|
|
|||
|
|
@ -236,8 +236,8 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
|
|||
*
|
||||
*/
|
||||
|
||||
.state('tabs.send.amount', {
|
||||
url: '/amount/:toAddress/:toName/:toEmail',
|
||||
.state('tabs.send.amount', {
|
||||
url: '/amount/:isWallet/:toAddress/:toName/:toEmail',
|
||||
views: {
|
||||
'tab-send@tabs': {
|
||||
controller: 'amountController',
|
||||
|
|
@ -246,7 +246,7 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
|
|||
}
|
||||
})
|
||||
.state('tabs.send.confirm', {
|
||||
url: '/confirm/:toAddress/:toName/:toAmount/:toEmail/:description/:paypro',
|
||||
url: '/confirm/:isWallet/:toAddress/:toName/:toAmount/:toEmail/:description/:paypro',
|
||||
views: {
|
||||
'tab-send@tabs': {
|
||||
controller: 'confirmController',
|
||||
|
|
@ -628,7 +628,8 @@ angular.module('copayApp').config(function(historicLogProvider, $provide, $logPr
|
|||
url: '/backup/:walletId/:fromOnboarding',
|
||||
views: {
|
||||
'onboarding': {
|
||||
templateUrl: 'views/backup.html'
|
||||
templateUrl: 'views/backup.html',
|
||||
controller: 'backupController'
|
||||
}
|
||||
}
|
||||
})
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('copayApp.services').factory('incomingData', function($log, $ionicModal, $ionicHistory, $state, $window, $timeout, bitcore) {
|
||||
angular.module('copayApp.services').factory('incomingData', function($log, $ionicModal, $state, $window, $timeout, bitcore) {
|
||||
|
||||
var root = {};
|
||||
|
||||
|
|
@ -26,7 +26,6 @@ angular.module('copayApp.services').factory('incomingData', function($log, $ioni
|
|||
// data extensions for Payment Protocol with non-backwards-compatible request
|
||||
if ((/^bitcoin:\?r=[\w+]/).exec(data)) {
|
||||
data = decodeURIComponent(data.replace('bitcoin:?r=', ''));
|
||||
$ionicHistory.removeBackView();
|
||||
$state.go('tabs.send');
|
||||
$timeout(function() {
|
||||
$state.transitionTo('tabs.send.confirm', {paypro: data});
|
||||
|
|
@ -46,7 +45,6 @@ angular.module('copayApp.services').factory('incomingData', function($log, $ioni
|
|||
|
||||
var amount = parsed.amount ? parsed.amount : '';
|
||||
|
||||
$ionicHistory.removeBackView();
|
||||
$state.go('tabs.send');
|
||||
$timeout(function() {
|
||||
if (parsed.r) {
|
||||
|
|
@ -63,7 +61,6 @@ angular.module('copayApp.services').factory('incomingData', function($log, $ioni
|
|||
|
||||
// Plain URL
|
||||
} else if (/^https?:\/\//.test(data)) {
|
||||
$ionicHistory.removeBackView();
|
||||
$state.go('tabs.send');
|
||||
$timeout(function() {
|
||||
$state.transitionTo('tabs.send.confirm', {paypro: data});
|
||||
|
|
@ -72,14 +69,12 @@ angular.module('copayApp.services').factory('incomingData', function($log, $ioni
|
|||
|
||||
// Plain Address
|
||||
} else if (bitcore.Address.isValid(data, 'livenet')) {
|
||||
$ionicHistory.removeBackView();
|
||||
$state.go('tabs.send');
|
||||
$timeout(function() {
|
||||
$state.transitionTo('tabs.send.amount', {toAddress: data});
|
||||
}, 100);
|
||||
return true;
|
||||
} else if (bitcore.Address.isValid(data, 'testnet')) {
|
||||
$ionicHistory.removeBackView();
|
||||
$state.go('tabs.send');
|
||||
$timeout(function() {
|
||||
$state.transitionTo('tabs.send.amount', {toAddress: data});
|
||||
|
|
@ -94,7 +89,6 @@ angular.module('copayApp.services').factory('incomingData', function($log, $ioni
|
|||
|
||||
// Join
|
||||
} else if (data && data.match(/^copay:[0-9A-HJ-NP-Za-km-z]{70,80}$/)) {
|
||||
$ionicHistory.removeBackView();
|
||||
$state.go('tabs.home');
|
||||
$timeout(function() {
|
||||
$state.transitionTo('tabs.add.join', {url: data});
|
||||
|
|
@ -103,7 +97,6 @@ angular.module('copayApp.services').factory('incomingData', function($log, $ioni
|
|||
|
||||
// Old join
|
||||
} else if (data && data.match(/^[0-9A-HJ-NP-Za-km-z]{70,80}$/)) {
|
||||
$ionicHistory.removeBackView();
|
||||
$state.go('tabs.home');
|
||||
$timeout(function() {
|
||||
$state.transitionTo('tabs.add.join', {url: data});
|
||||
|
|
|
|||
|
|
@ -265,7 +265,8 @@ angular.module('copayApp.services').factory('walletService', function($log, $tim
|
|||
function _getStatus(initStatusHash, tries, cb) {
|
||||
if (isStatusCached() && !opts.force) {
|
||||
$log.debug('Wallet status cache hit:' + wallet.id);
|
||||
|
||||
cacheStatus(wallet.cachedStatus);
|
||||
processPendingTxps(wallet.cachedStatus);
|
||||
return cb(null, wallet.cachedStatus);
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue