rebind touch screen elements

This commit is contained in:
Matias Alejo Garcia 2015-04-28 16:08:43 -03:00
parent 769262f06b
commit 897c5185d8
2 changed files with 24 additions and 15 deletions

View File

@ -346,10 +346,29 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
this.error = this.success = null; 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) { if (hide) {
$rootScope.hideMenuBar = true; $rootScope.hideMenuBar = true;
this.bindTouchDown();
} else { } else {
$rootScope.hideMenuBar = false; $rootScope.hideMenuBar = false;
} }
@ -359,7 +378,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
this.formFocus = function(what) { this.formFocus = function(what) {
if (isCordova && !this.isWindowsPhoneApp) { if (isCordova && !this.isWindowsPhoneApp) {
hideMenuBar(what); this.hideMenuBar(what);
} }
if (!this.isWindowsPhoneApp) return if (!this.isWindowsPhoneApp) return
@ -791,4 +810,7 @@ angular.module('copayApp.controllers').controller('walletHomeController', functi
return actions.hasOwnProperty('create'); return actions.hasOwnProperty('create');
}; };
// Startup events
this.bindTouchDown();
}); });

View File

@ -506,19 +506,6 @@ angular
importLegacy: 12 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.$on('$stateChangeSuccess', function() {
$rootScope.$emit('Animation/Disable'); $rootScope.$emit('Animation/Disable');