From 969712c633eea14a0f93a0e1a5330990314d73f4 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Tue, 28 Apr 2015 15:02:27 -0300 Subject: [PATCH 01/14] add touchdown elements --- public/views/includes/menu.html | 7 +++---- public/views/includes/topbar.html | 2 +- src/css/mobile.css | 6 ++++++ src/js/routes.js | 14 ++++++++++++++ 4 files changed, 24 insertions(+), 5 deletions(-) diff --git a/public/views/includes/menu.html b/public/views/includes/menu.html index 179c52e58..30b53cdb9 100644 --- a/public/views/includes/menu.html +++ b/public/views/includes/menu.html @@ -1,7 +1,6 @@ -
+ + diff --git a/public/views/includes/topbar.html b/public/views/includes/topbar.html index 68b6e56ce..1e0e8a7c0 100644 --- a/public/views/includes/topbar.html +++ b/public/views/includes/topbar.html @@ -10,7 +10,7 @@
- diff --git a/src/css/mobile.css b/src/css/mobile.css index afd980a94..e699ac100 100644 --- a/src/css/mobile.css +++ b/src/css/mobile.css @@ -774,3 +774,9 @@ textarea:focus -webkit-transform: translate3d(-100%, 0, 0) !important; transform: translate3d(-100%, 0, 0) !important; } + +/* removes 300ms in IE */ +-ms-touch-action: manipulation; /* IE10 / +touch-action: manipulation; /* IE11+ */ + + diff --git a/src/js/routes.js b/src/js/routes.js index 5218d468d..650b9a972 100644 --- a/src/js/routes.js +++ b/src/js/routes.js @@ -506,6 +506,20 @@ angular importLegacy: 12 }; + // on touchdown elements + if (document) { + setTimeout(function() { + $log.debug('Binding touchstart elements...'); + ['menu-walletHome', 'menu-send', 'menu-receive', 'menu-history', 'camera-icon'].forEach(function(id) { + var e = document.getElementById(id); + + if (e) e.addEventListener('touchstart', function() { + angular.element(e).triggerHandler('click'); + }); + }) + }, 1000); + } + $rootScope.$on('$stateChangeSuccess', function() { $rootScope.$emit('Animation/Disable'); }); From fa0a26452f9fc0b172f687191f6733727e53f3f3 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Tue, 28 Apr 2015 15:11:25 -0300 Subject: [PATCH 02/14] no touchstart for camera --- src/js/routes.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/routes.js b/src/js/routes.js index 650b9a972..407a7154f 100644 --- a/src/js/routes.js +++ b/src/js/routes.js @@ -510,7 +510,7 @@ angular if (document) { setTimeout(function() { $log.debug('Binding touchstart elements...'); - ['menu-walletHome', 'menu-send', 'menu-receive', 'menu-history', 'camera-icon'].forEach(function(id) { + ['menu-walletHome', 'menu-send', 'menu-receive', 'menu-history'].forEach(function(id) { var e = document.getElementById(id); if (e) e.addEventListener('touchstart', function() { From 769262f06bfeb332b59f2487116a9d43e93b6ee0 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Tue, 28 Apr 2015 15:17:13 -0300 Subject: [PATCH 03/14] turn off spinner on notification --- src/js/controllers/walletHome.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index c832510fa..e19fcae6a 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -267,10 +267,11 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi }); modalInstance.result.then(function(txp) { + $scope.$emit('Local/TxProposalAction'); if (txp) { + self.setOngoingProcess(); txStatus.notify(txp); } - $scope.$emit('Local/TxProposalAction'); }); }; @@ -539,15 +540,15 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi return; } $scope.$emit('Local/TxProposalAction'); + self.setOngoingProcess(); txStatus.notify(btx, function() { - self.setOngoingProcess(); return cb(); }); }); } else { $scope.$emit('Local/TxProposalAction'); + self.setOngoingProcess(); txStatus.notify(signedTx, function() { - self.setOngoingProcess(); return cb(); }); } From 897c5185d81408ed1009493fcba4abff82403d77 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Tue, 28 Apr 2015 16:08:43 -0300 Subject: [PATCH 04/14] rebind touch screen elements --- src/js/controllers/walletHome.js | 26 ++++++++++++++++++++++++-- src/js/routes.js | 13 ------------- 2 files changed, 24 insertions(+), 15 deletions(-) diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index e19fcae6a..eebed2dfb 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -346,10 +346,29 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi this.error = this.success = null; }; + this.bindTouchDown = function(tries) { + var self = this; + tries = tries || 0; + if (tries > 5) return; + var e = document.getElementById('menu-walletHome'); + if (!e) $timeout(function() { + self.bindTouchDown(++tries); + }, 500); - var hideMenuBar = lodash.debounce(function(hide) { + // on touchdown elements + $log.debug('Binding touchstart elements...'); + ['menu-walletHome', 'menu-send', 'menu-receive', 'menu-history'].forEach(function(id) { + var e = document.getElementById(id); + if (e) e.addEventListener('touchstart', function() { + angular.element(e).triggerHandler('click'); + }); + }); + } + + this.hideMenuBar = lodash.debounce(function(hide) { if (hide) { $rootScope.hideMenuBar = true; + this.bindTouchDown(); } else { $rootScope.hideMenuBar = false; } @@ -359,7 +378,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi this.formFocus = function(what) { if (isCordova && !this.isWindowsPhoneApp) { - hideMenuBar(what); + this.hideMenuBar(what); } if (!this.isWindowsPhoneApp) return @@ -791,4 +810,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi return actions.hasOwnProperty('create'); }; + // Startup events + this.bindTouchDown(); + }); diff --git a/src/js/routes.js b/src/js/routes.js index 407a7154f..60a2f5431 100644 --- a/src/js/routes.js +++ b/src/js/routes.js @@ -506,19 +506,6 @@ angular importLegacy: 12 }; - // on touchdown elements - if (document) { - setTimeout(function() { - $log.debug('Binding touchstart elements...'); - ['menu-walletHome', 'menu-send', 'menu-receive', 'menu-history'].forEach(function(id) { - var e = document.getElementById(id); - - if (e) e.addEventListener('touchstart', function() { - angular.element(e).triggerHandler('click'); - }); - }) - }, 1000); - } $rootScope.$on('$stateChangeSuccess', function() { $rootScope.$emit('Animation/Disable'); From a56507fe87455fbbc9e29f612af0be934f811685 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Tue, 28 Apr 2015 16:58:40 -0300 Subject: [PATCH 05/14] faster tab switching --- public/views/walletHome.html | 2 +- src/js/controllers/index.js | 2 +- src/js/controllers/walletHome.js | 28 +++++++++++++++++----------- src/js/services/profileService.js | 1 + 4 files changed, 20 insertions(+), 13 deletions(-) diff --git a/public/views/walletHome.html b/public/views/walletHome.html index ca934676f..572983e93 100644 --- a/public/views/walletHome.html +++ b/public/views/walletHome.html @@ -224,7 +224,7 @@
- diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index f094c12f4..c9a78f0c0 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -406,8 +406,8 @@ angular.module('copayApp.controllers').controller('indexController', function($r }); if (used) { $log.debug('Address ' + addr + ' was used. Cleaning Cache.') - $rootScope.$emit('Local/NeedNewAddress', err); storageService.clearLastAddress(self.walletId, function(err) { + $rootScope.$emit('Local/NeedNewAddress', err); if (cb) return cb(); }); }; diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index eebed2dfb..c956cdde8 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -37,21 +37,23 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi }); var disableAddrListener = $rootScope.$on('Local/NeedNewAddress', function() { - self.getAddress(); + self.setNewAddress(); }); var disableFocusListener = $rootScope.$on('Local/NewFocusedWallet', function() { + self.addr = null; self.resetForm(); }); var disableTabListener = $rootScope.$on('Local/TabChanged', function(e, tab) { + // This will slow down switch, do not add things here! switch (tab) { + case 'receive': + // just to be sure we have an address + self.setAddress(); + break; case 'send': self.resetError(); - self.setInputs(); - case 'receive': - self.getAddress(); - break; }; }); @@ -277,8 +279,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi }; // Receive - - this.newAddress = function() { + this.setNewAddress = function() { var fc = profileService.focusedClient; self.generatingAddress = true; fc.createAddress(function(err, addr) { @@ -298,16 +299,19 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi }); }; - this.getAddress = function() { + this.setAddress = function() { + if (self.addr) + return; + var fc = profileService.focusedClient; $timeout(function() { storageService.getLastAddress(fc.credentials.walletId, function(err, addr) { if (addr) { self.addr = addr; + $scope.$digest(); } else { - self.newAddress(); + self.setNewAddress(); } - $scope.$digest(); }); }); }; @@ -399,7 +403,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi }, 1); }; - this.setInputs = function() { + this.setSendFormInputs = function() { var unitToSat = this.unitToSatoshi; var satToUnit = 1 / unitToSat; /** @@ -812,5 +816,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi // Startup events this.bindTouchDown(); + this.setAddress(); + this.setSendFormInputs(); }); diff --git a/src/js/services/profileService.js b/src/js/services/profileService.js index dc9d353ab..c8bab0058 100644 --- a/src/js/services/profileService.js +++ b/src/js/services/profileService.js @@ -74,6 +74,7 @@ angular.module('copayApp.services') } }); +console.log('[profileService.js.76] BIND'); //TODO client.on('notification', function(n) { $log.debug('BWC Notification:', n); notificationService.newBWCNotification(n, From 42a62da7c763a597220a3e468abdea2845256fbc Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Tue, 28 Apr 2015 17:07:00 -0300 Subject: [PATCH 06/14] rm log --- src/js/services/profileService.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/js/services/profileService.js b/src/js/services/profileService.js index c8bab0058..dc9d353ab 100644 --- a/src/js/services/profileService.js +++ b/src/js/services/profileService.js @@ -74,7 +74,6 @@ angular.module('copayApp.services') } }); -console.log('[profileService.js.76] BIND'); //TODO client.on('notification', function(n) { $log.debug('BWC Notification:', n); notificationService.newBWCNotification(n, From 952c13e424980f09d64cbbaaf8087ec93bae8bdf Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Tue, 28 Apr 2015 17:19:22 -0300 Subject: [PATCH 07/14] android fix --- src/js/controllers/walletHome.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index c956cdde8..fd425e7f3 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -483,11 +483,11 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi window.plugins.spinnerDialog.hide(); } } else { - $timeout(function() { - self.onGoingProcess = name; - $rootScope.$apply(); - }); - } + self.onGoingProcess = name; + }; + $timeout(function() { + $rootScope.$apply(); + }); }; this.submitForm = function() { @@ -562,15 +562,15 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi $scope.$digest(); return; } - $scope.$emit('Local/TxProposalAction'); self.setOngoingProcess(); + $scope.$emit('Local/TxProposalAction'); txStatus.notify(btx, function() { return cb(); }); }); } else { - $scope.$emit('Local/TxProposalAction'); self.setOngoingProcess(); + $scope.$emit('Local/TxProposalAction'); txStatus.notify(signedTx, function() { return cb(); }); From 6b167d4bfdf991d425c4833476745aa778498837 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Tue, 28 Apr 2015 17:28:49 -0300 Subject: [PATCH 08/14] android fix 2 --- src/js/controllers/walletHome.js | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index fd425e7f3..3238ea2bb 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -484,10 +484,10 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi } } else { self.onGoingProcess = name; + $timeout(function() { + $rootScope.$apply(); + }); }; - $timeout(function() { - $rootScope.$apply(); - }); }; this.submitForm = function() { @@ -556,13 +556,12 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi if (signedTx.status == 'accepted') { self.setOngoingProcess('Broadcasting transaction'); fc.broadcastTxProposal(signedTx, function(err, btx) { + self.setOngoingProcess(); if (err) { - self.setOngoingProcess(); $scope.error = 'Transaction not broadcasted. Please try again.'; $scope.$digest(); - return; + return cb(err); } - self.setOngoingProcess(); $scope.$emit('Local/TxProposalAction'); txStatus.notify(btx, function() { return cb(); From 1338bab0627e135fa0f1bddccffff24959c36815 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Tue, 28 Apr 2015 17:49:09 -0300 Subject: [PATCH 09/14] . --- src/js/controllers/walletHome.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index 3238ea2bb..379d3682a 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -478,6 +478,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi if (isCordova) { if (name) { + window.plugins.spinnerDialog.hide(); window.plugins.spinnerDialog.show(null, name + '...', true); } else { window.plugins.spinnerDialog.hide(); From eba3fef9356f1368af8d18c267803cf4720b20d7 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Tue, 28 Apr 2015 18:00:49 -0300 Subject: [PATCH 10/14] rebidn on resume --- src/js/controllers/walletHome.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index 379d3682a..0c177664c 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -45,6 +45,10 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi self.resetForm(); }); + var disableResumeListener = $rootScope.$on('Local/Resume', function() { + self.bindTouchDown(); + }); + var disableTabListener = $rootScope.$on('Local/TabChanged', function(e, tab) { // This will slow down switch, do not add things here! switch (tab) { @@ -63,6 +67,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi disablePaymentUriListener(); disableTabListener(); disableFocusListener(); + disableResumeListener(); $rootScope.hideMenuBar = false; }); From 32ae89046da9d9a0604bee72e0517e12266d6494 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Tue, 28 Apr 2015 18:11:06 -0300 Subject: [PATCH 11/14] change event to rootscope --- src/js/controllers/walletHome.js | 4 ++-- src/js/routes.js | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index 0c177664c..caff71684 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -25,13 +25,13 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi this.isMobile = isMobile.any(); var disableScannerListener = $rootScope.$on('dataScanned', function(event, data) { - $scope.$emit('Local/SetTab', 'send'); self.setForm(data); + $rootScope.$emit('Local/SetTab', 'send'); }); var disablePaymentUriListener = $rootScope.$on('paymentUri', function(event, uri) { $timeout(function() { - $scope.$emit('Local/SetTab', 'send'); + $rootScope.$emit('Local/SetTab', 'send'); self.setForm(uri); }, 100); }); diff --git a/src/js/routes.js b/src/js/routes.js index 60a2f5431..0a0484857 100644 --- a/src/js/routes.js +++ b/src/js/routes.js @@ -443,16 +443,16 @@ angular url: '/cordova/:status', views: { 'main': { - controller: function($scope, $stateParams, go) { + controller: function($rootScope, $stateParams, go) { switch ($stateParams.status) { case 'resume': - $scope.$emit('Local/Resume'); + $rootScope.$emit('Local/Resume'); break; // case 'online': // // $scope.$emit('Local/Online'); // break; case 'offline': - $scope.$emit('Local/Offline'); + $rootScope.$emit('Local/Offline'); break; }; go.walletHome(); From 9abccdba41dd529e227da2aadf3e508b0f9e8974 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Tue, 28 Apr 2015 19:26:22 -0300 Subject: [PATCH 12/14] fix update on resume --- src/js/controllers/index.js | 20 +++++++++++++++----- src/js/controllers/walletHome.js | 17 +++++++++++++++-- src/js/init.js | 6 ++---- src/js/routes.js | 3 --- 4 files changed, 32 insertions(+), 14 deletions(-) diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index c9a78f0c0..4e5f5f605 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -553,17 +553,27 @@ angular.module('copayApp.controllers').controller('indexController', function($r go.walletHome(); }); + self.debouncedUpdate = lodash.throttle(function() { + self.updateAll(); + self.updateTxHistory(); + }, 4000, {leading: false, trailing: true}); + + + // No need ot listing to Local/Resume since + // reconnection and Local/Online will be triggered lodash.each(['Local/Online', 'Local/Resume'], function(eventName) { $rootScope.$on(eventName, function(event) { - $log.debug('### Online event'); - self.isOffline = false; - self.updateAll(); - self.updateTxHistory(); + $log.debug('### ' + eventName + ' event'); + self.debouncedUpdate(); }); }); + $rootScope.$on('Local/Online', function(event) { + self.isOffline = false; + }); + $rootScope.$on('Local/Offline', function(event) { - $log.debug('Offline event'); + $log.debug('### Offline event'); self.isOffline = true; $timeout(function() { $rootScope.$apply(); diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index caff71684..750e34b5f 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -45,10 +45,22 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi self.resetForm(); }); - var disableResumeListener = $rootScope.$on('Local/Resume', function() { - self.bindTouchDown(); + var disableOnlineListener = $rootScope.$on('Local/Online', function() { + // This is needed then the apps go to sleep + $timeout(function() { + self.bindTouchDown(); + }, 2000); }); + var disableResumeListener = $rootScope.$on('Local/Resume', function() { + // This is needed then the apps go to sleep + $timeout(function() { + self.bindTouchDown(); + }, 2000); + }); + + + var disableTabListener = $rootScope.$on('Local/TabChanged', function(e, tab) { // This will slow down switch, do not add things here! switch (tab) { @@ -68,6 +80,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi disableTabListener(); disableFocusListener(); disableResumeListener(); + disableOnlineListener(); $rootScope.hideMenuBar = false; }); diff --git a/src/js/init.js b/src/js/init.js index 21cd08a5e..ba6e36e0d 100644 --- a/src/js/init.js +++ b/src/js/init.js @@ -18,6 +18,8 @@ angular.element(document).ready(function() { }, false); document.addEventListener('resume', function() { + +console.log('[init.js.21] RESUME'); //TODO if (!window.ignoreMobilePause) { window.location = '#/cordova/resume'; } @@ -31,10 +33,6 @@ angular.element(document).ready(function() { document.addEventListener('offline', function() { window.location = '#/cordova/offline'; }, false); - // - // document.addEventListener("online", function() { - // window.location = '#/cordoba/online'; - // }, false); // Back button event document.addEventListener('backbutton', function() { diff --git a/src/js/routes.js b/src/js/routes.js index 0a0484857..42d2a19e1 100644 --- a/src/js/routes.js +++ b/src/js/routes.js @@ -448,9 +448,6 @@ angular case 'resume': $rootScope.$emit('Local/Resume'); break; - // case 'online': - // // $scope.$emit('Local/Online'); - // break; case 'offline': $rootScope.$emit('Local/Offline'); break; From 23f096844fe379ae561e146388c277f5f1857990 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Tue, 28 Apr 2015 20:13:28 -0300 Subject: [PATCH 13/14] fix menu and sidebar --- public/views/includes/sidebar.html | 10 ++++------ src/css/mobile.css | 8 ++------ src/js/controllers/index.js | 18 +++++++++++++----- src/js/controllers/sidebar.js | 4 ++-- src/js/controllers/walletHome.js | 2 +- src/js/services/go.js | 2 +- 6 files changed, 23 insertions(+), 21 deletions(-) diff --git a/public/views/includes/sidebar.html b/public/views/includes/sidebar.html index 74045f34e..4bcb07828 100644 --- a/public/views/includes/sidebar.html +++ b/public/views/includes/sidebar.html @@ -7,23 +7,21 @@ -
  • - +
  • Add wallet
    Create, join or import
    -
  • diff --git a/src/css/mobile.css b/src/css/mobile.css index e699ac100..778508c66 100644 --- a/src/css/mobile.css +++ b/src/css/mobile.css @@ -322,20 +322,16 @@ a.missing-copayers { margin-bottom: 30px; } -.sidebar ul.off-canvas-list li a { +.sidebar ul.off-canvas-list li{ font-size: 12px; vertical-align: middle; font-weight: 300; border-bottom: transparent; - padding: 0; color: #A5B2BF; } -.sidebar ul.off-canvas-list li a i { +.sidebar ul.off-canvas-list li i { vertical-align: middle; -} - -.sidebar ul.off-canvas-list li a i { opacity: 0.6; } diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index 4e5f5f605..603e3b653 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -95,6 +95,8 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.isComplete = fc.isComplete(); self.txps = []; self.copayers = []; + self.updateColor(); + self.setTab('walletHome', true); storageService.getBackupFlag(self.walletId, function(err, val) { self.needsBackup = self.network == 'testnet' ? false : !val; @@ -103,10 +105,17 @@ angular.module('copayApp.controllers').controller('indexController', function($r }); }; - self.setTab = function(tab) { - if (self.tab === tab) + self.setTab = function(tab, reset, tries) { + tries = tries || 0; + if (self.tab === tab && !reset) return; + if (! document.getElementById('menu-' + tab) && ++tries<5) { + return $timeout(function() { + self.setTab(tab,reset); + }, 300); + } + if (!self.tab) self.tab = 'walletHome'; @@ -257,7 +266,6 @@ angular.module('copayApp.controllers').controller('indexController', function($r }; self.openWallet = function() { var fc = profileService.focusedClient; - self.updateColor(); $timeout(function() { $rootScope.$apply(); self.setOngoingProcess('openingWallet', true); @@ -696,8 +704,8 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.updateTxHistory(); }); - $rootScope.$on('Local/SetTab', function(event, tab) { - self.setTab(tab); + $rootScope.$on('Local/SetTab', function(event, tab, reset) { + self.setTab(tab, reset); }); $rootScope.$on('Local/NeedsPassword', function(event, isSetup, cb) { diff --git a/src/js/controllers/sidebar.js b/src/js/controllers/sidebar.js index ba5350b69..f48a725ab 100644 --- a/src/js/controllers/sidebar.js +++ b/src/js/controllers/sidebar.js @@ -21,8 +21,8 @@ angular.module('copayApp.controllers').controller('sidebarController', self.switchWallet = function(wid) { self.walletSelection = false; - profileService.setAndStoreFocus(wid, function() {}); - go.walletHome(); + profileService.setAndStoreFocus(wid, function() { + }); }; self.toggleWalletSelection = function() { diff --git a/src/js/controllers/walletHome.js b/src/js/controllers/walletHome.js index 750e34b5f..b4802cfac 100644 --- a/src/js/controllers/walletHome.js +++ b/src/js/controllers/walletHome.js @@ -373,7 +373,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi tries = tries || 0; if (tries > 5) return; var e = document.getElementById('menu-walletHome'); - if (!e) $timeout(function() { + if (!e) return $timeout(function() { self.bindTouchDown(++tries); }, 500); diff --git a/src/js/services/go.js b/src/js/services/go.js index d7139b00e..c47791546 100644 --- a/src/js/services/go.js +++ b/src/js/services/go.js @@ -55,7 +55,7 @@ angular.module('copayApp.services').factory('go', function($window, $rootScope, root.path('copayers'); } else { root.path('walletHome', function() { - $rootScope.$emit('Local/SetTab', 'walletHome'); + $rootScope.$emit('Local/SetTab', 'walletHome', true); }); } }; From 6e8e9488faf697bd19b2456b26deeb4a43314759 Mon Sep 17 00:00:00 2001 From: Matias Alejo Garcia Date: Tue, 28 Apr 2015 20:31:01 -0300 Subject: [PATCH 14/14] fix non clickeable padding in sidebar --- public/views/includes/sidebar.html | 10 ++++++---- src/css/mobile.css | 6 +++--- src/js/controllers/index.js | 2 +- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/public/views/includes/sidebar.html b/public/views/includes/sidebar.html index 4bcb07828..74045f34e 100644 --- a/public/views/includes/sidebar.html +++ b/public/views/includes/sidebar.html @@ -7,21 +7,23 @@ -
  • +
  • +
    Add wallet
    Create, join or import
    +
  • diff --git a/src/css/mobile.css b/src/css/mobile.css index 778508c66..9a4fa1465 100644 --- a/src/css/mobile.css +++ b/src/css/mobile.css @@ -275,7 +275,6 @@ a.missing-copayers { .sidebar li { overflow: hidden; - padding: 1rem 0.7rem; border-bottom: 1px solid #f1f3f5; } @@ -322,15 +321,16 @@ a.missing-copayers { margin-bottom: 30px; } -.sidebar ul.off-canvas-list li{ +.sidebar ul.off-canvas-list li a { font-size: 12px; vertical-align: middle; font-weight: 300; border-bottom: transparent; color: #A5B2BF; + padding: 1rem 0.7rem; } -.sidebar ul.off-canvas-list li i { +.sidebar ul.off-canvas-list li a i { vertical-align: middle; opacity: 0.6; } diff --git a/src/js/controllers/index.js b/src/js/controllers/index.js index 603e3b653..9a9514b3b 100644 --- a/src/js/controllers/index.js +++ b/src/js/controllers/index.js @@ -96,7 +96,7 @@ angular.module('copayApp.controllers').controller('indexController', function($r self.txps = []; self.copayers = []; self.updateColor(); - self.setTab('walletHome', true); + go.walletHome(); storageService.getBackupFlag(self.walletId, function(err, val) { self.needsBackup = self.network == 'testnet' ? false : !val;