diff --git a/src/js/controllers/walletSelectorController.js b/src/js/controllers/walletSelectorController.js index a26e07d8f..69430dbb9 100644 --- a/src/js/controllers/walletSelectorController.js +++ b/src/js/controllers/walletSelectorController.js @@ -191,6 +191,7 @@ angular.module('copayApp.controllers').controller('walletSelectorController', fu }; $scope.goBack = function() { + sendFlowService.previousState(); $ionicHistory.goBack(); } diff --git a/src/js/services/sendFlowService.js b/src/js/services/sendFlowService.js index 09e55e7ec..58b457b3a 100644 --- a/src/js/services/sendFlowService.js +++ b/src/js/services/sendFlowService.js @@ -4,13 +4,15 @@ angular.module('copayApp.services').factory('sendFlowService', function ($log) { var vm = this; vm.amount = false; + vm.fromWalletId = false; + vm.previousStates = []; vm.thirdParty = false; vm.sendMax = false; vm.toAddress = false; vm.toWalletId = false; - vm.initialize = function() { + vm.clear = function() { $log.debug("Reinitialize Send Flow variables"); vm.amount = false; vm.fromWalletId = false; @@ -18,13 +20,28 @@ angular.module('copayApp.services').factory('sendFlowService', function ($log) { vm.sendMax = false; vm.toAddress = false; vm.toWalletId = false; + vm.previousStates = []; }; vm.map = function(params) { + + var tempState = {}; + Object.keys(vm).map(function(key, index) { + if (typeof vm[key] !== 'function' && key !== 'previousStates') { + tempState[key] = vm[key]; + } + }); + vm.previousStates.push(tempState); + Object.keys(params).map(function(key, index) { vm[key] = params[key]; }); - console.log(vm); + }; + + vm.previousState = function() { + if (vm.previousStates.length) { + vm.map(vm.previousStates.pop()); + } }; return vm;