From 1515b9446fefca8578a1e064ddb6714886b0f36b Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Thu, 23 Apr 2015 15:19:30 -0300 Subject: [PATCH] fix send --- src/js/controllers/index.js | 35 +++++++++++++++++--------------- src/js/controllers/topbar.js | 4 ++-- src/js/controllers/walletHome.js | 20 +++++++++++------- src/js/services/go.js | 7 +++++++ 4 files changed, 41 insertions(+), 25 deletions(-) diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index cc355f667..dcd6495c9 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -4,7 +4,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r var self = this; self.isCordova = isCordova; self.onGoingProcess = {}; - self.limitHistory = 5; + self.limitHistory = 5; function strip(number) { return (parseFloat(number.toPrecision(12))); @@ -27,7 +27,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r 'title': 'History', 'icon': 'icon-history', 'link': 'history' - }]; + }]; self.tab = 'walletHome'; @@ -104,18 +104,22 @@ angular.module('copayApp.controllers').controller('indexController', function($r }; self.setTab = function(tab) { - document.getElementById(self.tab).className='tab-out tab-view ' + self.tab; - document.getElementById(tab).className='tab-in tab-view ' + tab; + if (self.tab && document.getElementById(self.tab)) { + document.getElementById(self.tab).className = 'tab-out tab-view ' + self.tab; + var old = document.getElementById('menu-' + self.tab); + old.className = ''; + old.style.borderTopColor = ''; + } - var old =document.getElementById('menu-'+self.tab); - old.className=''; - old.style.borderTopColor = ''; - - var newe = document.getElementById('menu-'+tab); - newe.className='active'; - newe.style.borderTopColor = self.backgroundColor; + if (document.getElementById(tab)) { + document.getElementById(tab).className = 'tab-in tab-view ' + tab; + var newe = document.getElementById('menu-' + tab); + newe.className = 'active'; + newe.style.borderTopColor = self.backgroundColor; + } self.tab = tab; + $rootScope.$emit('Local/TabChanged', tab); }; self.updateAll = function(walletStatus) { @@ -472,8 +476,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r gettextCatalog.setCurrentLanguage(userLang); amMoment.changeLocale(userLang); } - } - else { + } else { configService.set({ wallet: { settings: { @@ -486,7 +489,9 @@ angular.module('copayApp.controllers').controller('indexController', function($r }); } self.defaultLanguageIsoCode = setLang || userLang; - self.defaultLanguageName = lodash.result(lodash.find(self.availableLanguages, { 'isoCode': self.defaultLanguageIsoCode }), 'name'); + self.defaultLanguageName = lodash.result(lodash.find(self.availableLanguages, { + 'isoCode': self.defaultLanguageIsoCode + }), 'name'); }; // UX event handlers @@ -629,8 +634,6 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.setTab(tab); }); - - $rootScope.$on('Local/NeedsPassword', function(event, isSetup, cb) { self.askPassword = { isSetup: isSetup, diff --git a/src/js/controllers/topbar.js b/src/js/controllers/topbar.js index 868c059d1..af4f625ed 100644 --- a/src/js/controllers/topbar.js +++ b/src/js/controllers/topbar.js @@ -21,7 +21,7 @@ angular.module('copayApp.controllers').controller('topbarController', function($ }, 100); alert('Scanning error'); }); - $scope.$emit('Local/SetTab', 'send'); + go.send(); }; var modalOpenScanner = function() { @@ -79,7 +79,7 @@ angular.module('copayApp.controllers').controller('topbarController', function($ $scope.init = function() { setScanner(); $timeout(function() { - $scope.$emit('Local/SetTab', 'send'); + go.send(); canvas = document.getElementById('qr-canvas'); context = canvas.getContext('2d'); diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index fa66648b0..7c554574d 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -40,10 +40,23 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi self.getAddress(); }); + + var disableTabListener = $rootScope.$on('Local/TabChanged', function(e,tab){ + switch(tab) { + case 'send': + self.resetError(); + self.setInputs(); + case 'receive': + self.getAddress(); + break; + }; + }); + $scope.$on('$destroy', function() { disableAddrListener(); disableScannerListener(); disablePaymentUriListener(); + disableTabListener(); $rootScope.hideMenuBar = false; }); @@ -765,11 +778,4 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi return actions.hasOwnProperty('create'); }; - // ToDo a send... - this.resetError(); - this.setInputs(); - // Todo Receive - this.getAddress(); - - }); diff --git a/src/js/services/go.js b/src/js/services/go.js index 8bdaf2cdc..931f9fe74 100644 --- a/src/js/services/go.js +++ b/src/js/services/go.js @@ -52,9 +52,16 @@ angular.module('copayApp.services').factory('go', function($window, $rootScope, root.path('copayers'); } else { root.path('walletHome'); + $rootScope.$emit('Local/SetTab', 'walletHome'); } }; + + root.send = function() { + root.path('walletHome'); + $rootScope.$emit('Local/SetTab', 'walletHome'); + }; + root.home = function() { if ($rootScope.iden) root.walletHome();