diff --git a/src/js/controllers/modals/txpDetails.js b/src/js/controllers/modals/txpDetails.js index 076d98748..63bafbd6c 100644 --- a/src/js/controllers/modals/txpDetails.js +++ b/src/js/controllers/modals/txpDetails.js @@ -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, 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,32 @@ angular.module('copayApp.controllers').controller('txpDetailsController', functi }); }; + function statusChangeHandler(processName, showName, isOn) { + console.log('in statusChangeHandler', processName, showName, isOn); + console.log('$scope.wallet', $scope.wallet); + 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(); diff --git a/src/js/directives/slideToAcceptSuccess.js b/src/js/directives/slideToAcceptSuccess.js index 4a7312703..b5e9b20bc 100644 --- a/src/js/directives/slideToAcceptSuccess.js +++ b/src/js/directives/slideToAcceptSuccess.js @@ -8,7 +8,8 @@ angular.module('copayApp.directives') transclude: true, scope: { isShown: '=slideSuccessShow', - onConfirm: '&slideSuccessOnConfirm' + onConfirm: '&slideSuccessOnConfirm', + hideOnConfirm: '=slideSuccessHideOnConfirm' }, link: function(scope, element, attrs) { var elm = element[0]; @@ -23,8 +24,10 @@ angular.module('copayApp.directives') }); scope.onConfirmButtonClick = function() { scope.onConfirm(); - scope.fillScreen = false; - elm.style.display = 'none'; + if(scope.hideOnConfirm) { + scope.fillScreen = false; + elm.style.display = 'none'; + } }; } }; diff --git a/www/views/confirm.html b/www/views/confirm.html index 9f551ab5e..cb2a3063b 100644 --- a/www/views/confirm.html +++ b/www/views/confirm.html @@ -81,6 +81,7 @@ Payment Sent Proposal Created diff --git a/www/views/modals/txp-details.html b/www/views/modals/txp-details.html index da8959262..de3091d91 100644 --- a/www/views/modals/txp-details.html +++ b/www/views/modals/txp-details.html @@ -149,11 +149,13 @@ - +
* A payment proposal can be deleted if 1) you are the creator, and no other copayer has signed, or 2) 24 hours have passed since the proposal was created. @@ -164,5 +166,17 @@
- + + + Slide to accept + + + Payment Sent +