From e80eb142e3148d14c9d928e6a41b800081797e13 Mon Sep 17 00:00:00 2001 From: Javier Date: Wed, 30 Mar 2016 12:52:19 -0300 Subject: [PATCH] stop counter when cancel is pressed --- public/views/walletHome.html | 2 +- src/js/controllers/walletHome.js | 20 ++++++++++++-------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/public/views/walletHome.html b/public/views/walletHome.html index b589ea1ee..1ae3f96db 100644 --- a/public/views/walletHome.html +++ b/public/views/walletHome.html @@ -504,7 +504,7 @@ Cancel
- diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index 478efdc1f..960e74b86 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -23,6 +23,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi ret.addresses = []; ret.isMobile = isMobile.any(); ret.isWindowsPhoneApp = isMobile.Windows() && isCordova; + ret.countDown = null; var vanillaScope = ret; var disableScannerListener = $rootScope.$on('dataScanned', function(event, data) { @@ -304,6 +305,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi // only determined by the tx.message this.openTxpModal = function(tx, copayers, isGlidera) { $rootScope.modalOpened = true; + var self = this; var fc = profileService.focusedClient; var currentSpendUnconfirmed = configWallet.spendUnconfirmed; var ModalInstanceCtrl = function($scope, $modalInstance) { @@ -346,16 +348,16 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi function paymentTimeControl(expirationTime) { $scope.paymentExpired = false; - var countDown; setExpirationTime(); - countDown = $interval(function() { + + self.countDown = $interval(function() { setExpirationTime(); }, 1000); function setExpirationTime() { if (moment().isAfter(expirationTime * 1000)) { $scope.paymentExpired = true; - if (countDown) $interval.cancel(countDown); + if (self.countDown) $interval.cancel(self.countDown); } $scope.expires = moment(expirationTime * 1000).fromNow(); }; @@ -994,6 +996,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi this.resetForm = function() { this.resetError(); + if (this.countDown) $interval.cancel(this.countDown); this._paypro = null; this.lockedCurrentFeePerKb = null; @@ -1114,25 +1117,26 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi function _paymentTimeControl(expirationTime) { self.paymentExpired = false; - var countDown; setExpirationTime(); - countDown = $interval(function() { + + self.countDown = $interval(function() { setExpirationTime(); }, 1000); function setExpirationTime() { if (moment().isAfter(expirationTime * 1000)) { - setExpiredPaymentValues(); - if (countDown) $interval.cancel(countDown); + setExpiredValues(); + return; } self.remainingTimeStr = moment(expirationTime * 1000).fromNow(); }; - function setExpiredPaymentValues() { + function setExpiredValues() { self.paymentExpired = true; self.remainingTimeStr = null; self._paypro = null; self.error = gettext('Cannot sign: The payment request has expired'); + if (self.countDown) $interval.cancel(self.countDown); }; };