Merge pull request #327 from msalcala11/slideToPayComponent
Implement Slide to Pay
This commit is contained in:
commit
8607867d71
30 changed files with 842 additions and 164 deletions
|
|
@ -1,49 +1,11 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('copayApp.controllers').controller('txStatusController', function($scope, $timeout, $state, $stateParams, $ionicHistory, $log, addressbookService) {
|
||||
angular.module('copayApp.controllers').controller('txStatusController', function($scope, $timeout) {
|
||||
|
||||
if ($scope.cb) $timeout($scope.cb, 100);
|
||||
|
||||
var previousView = $ionicHistory.viewHistory().backView && $ionicHistory.viewHistory().backView.stateName;
|
||||
$scope.fromSendTab = previousView.match(/tabs.send/) ? true : false;
|
||||
$scope.fromBitPayCard = previousView.match(/tabs.bitpayCard/) ? true : false;
|
||||
$scope.fromPayPro = $stateParams.paypro ? true : false;
|
||||
|
||||
$scope.cancel = function() {
|
||||
$scope.txStatusModal.hide();
|
||||
if ($scope.fromSendTab) {
|
||||
$ionicHistory.removeBackView();
|
||||
$state.go('tabs.send');
|
||||
$timeout(function() {
|
||||
$state.transitionTo('tabs.home');
|
||||
}, 100);
|
||||
} else if ($scope.fromBitPayCard) {
|
||||
$ionicHistory.removeBackView();
|
||||
$timeout(function() {
|
||||
$state.transitionTo('tabs.bitpayCard');
|
||||
}, 100);
|
||||
}
|
||||
};
|
||||
|
||||
$scope.save = function(addressbookEntry) {
|
||||
$scope.txStatusModal.hide();
|
||||
$ionicHistory.nextViewOptions({
|
||||
disableAnimate: true,
|
||||
disableBack: true
|
||||
});
|
||||
$ionicHistory.removeBackView();
|
||||
$state.go('tabs.send.addressbook', {
|
||||
fromSendTab: $scope.fromSendTab,
|
||||
addressbookEntry: addressbookEntry
|
||||
});
|
||||
}
|
||||
|
||||
addressbookService.list(function(err, ab) {
|
||||
if (err) $log.error(err);
|
||||
if (ab[$scope.tx.toAddress]) {
|
||||
$scope.entryExist = true;
|
||||
$log.debug('Entry already exist');
|
||||
}
|
||||
})
|
||||
|
||||
});
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('copayApp.controllers').controller('txpDetailsController', function($scope, $rootScope, $timeout, $interval, $ionicModal, ongoingProcess, platformInfo, $ionicScrollDelegate, txFormatService, fingerprintService, bwcError, gettextCatalog, lodash, walletService, popupService) {
|
||||
angular.module('copayApp.controllers').controller('txpDetailsController', function($scope, $rootScope, $timeout, $interval, $ionicModal, $log, ongoingProcess, platformInfo, $ionicScrollDelegate, txFormatService, fingerprintService, bwcError, gettextCatalog, lodash, walletService, popupService, $state, $ionicHistory) {
|
||||
var self = $scope.self;
|
||||
var tx = $scope.tx;
|
||||
var copayers = $scope.copayers;
|
||||
|
|
@ -17,7 +17,7 @@ angular.module('copayApp.controllers').controller('txpDetailsController', functi
|
|||
$scope.canSign = $scope.wallet.canSign() || $scope.wallet.isPrivKeyExternal();
|
||||
$scope.color = $scope.wallet.color;
|
||||
$scope.data = {};
|
||||
|
||||
$scope.hasClick = platformInfo.hasClick;
|
||||
initActionList();
|
||||
checkPaypro();
|
||||
}
|
||||
|
|
@ -66,17 +66,18 @@ angular.module('copayApp.controllers').controller('txpDetailsController', functi
|
|||
}
|
||||
|
||||
var setSendError = function(msg) {
|
||||
$scope.sendStatus = '';
|
||||
var error = msg || gettextCatalog.getString('Could not send payment');
|
||||
popupService.showAlert(gettextCatalog.getString('Error'), error);
|
||||
}
|
||||
|
||||
$scope.sign = function() {
|
||||
$scope.sign = function(onSendStatusChange) {
|
||||
$scope.loading = true;
|
||||
walletService.publishAndSign($scope.wallet, $scope.tx, function(err, txp) {
|
||||
$scope.$emit('UpdateTx');
|
||||
if (err) return setSendError(err);
|
||||
$scope.close();
|
||||
});
|
||||
success();
|
||||
}, onSendStatusChange);
|
||||
};
|
||||
|
||||
function setError(err, prefix) {
|
||||
|
|
@ -213,6 +214,31 @@ angular.module('copayApp.controllers').controller('txpDetailsController', functi
|
|||
});
|
||||
};
|
||||
|
||||
function statusChangeHandler(processName, showName, isOn) {
|
||||
$log.debug('statusChangeHandler: ', processName, showName, isOn);
|
||||
if (showName) {
|
||||
$scope.sendStatus = showName;
|
||||
}
|
||||
}
|
||||
|
||||
function success() {
|
||||
$scope.sendStatus = 'success';
|
||||
$scope.$digest();
|
||||
}
|
||||
|
||||
$scope.statusChangeHandler = statusChangeHandler;
|
||||
|
||||
$scope.onConfirm = function() {
|
||||
$scope.sign(statusChangeHandler);
|
||||
};
|
||||
|
||||
$scope.onSuccessConfirm = function() {
|
||||
$ionicHistory.nextViewOptions({
|
||||
disableAnimate: true
|
||||
});
|
||||
$scope.close();
|
||||
};
|
||||
|
||||
$scope.close = function() {
|
||||
$scope.loading = null;
|
||||
$scope.txpDetailsModal.hide();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue