Replaces custom-fastClick by Angular-Stateful-Fastclick (#4136)
* Replaces custom-fastClick by Angular-Stateful-Fastclick * Resolves fastclick version
This commit is contained in:
parent
265dc26666
commit
c27759b770
13 changed files with 32 additions and 84 deletions
|
|
@ -10,6 +10,7 @@ var modules = [
|
|||
'uiSwitch',
|
||||
'ngSanitize',
|
||||
'ngCsv',
|
||||
'ngTouch',
|
||||
'bwcModule',
|
||||
'copayApp.filters',
|
||||
'copayApp.services',
|
||||
|
|
|
|||
|
|
@ -318,65 +318,4 @@ angular.module('copayApp.directives')
|
|||
templateUrl: 'views/includes/available-balance.html'
|
||||
}
|
||||
})
|
||||
.directive('fastClick', [ 'isCordova', '$timeout', 'isMobile', function(isCordova, $timeout, isMobile) {
|
||||
return {
|
||||
scope: { someCtrlFn: '&callbackFn'},
|
||||
link: function(scope, element, attrs) {
|
||||
|
||||
var isWindowsPhoneApp = isMobile.Windows() && isCordova;
|
||||
if (!isCordova || isWindowsPhoneApp) {
|
||||
element.on('click', function(){
|
||||
scope.someCtrlFn();
|
||||
});
|
||||
} else {
|
||||
var trackingClick = false;
|
||||
var targetElement = null;
|
||||
var touchStartX = 0;
|
||||
var touchStartY = 0;
|
||||
var touchBoundary = 10;
|
||||
|
||||
element.on('touchstart', function(event) {
|
||||
|
||||
trackingClick = true;
|
||||
targetElement = event.target;
|
||||
touchStartX = event.targetTouches[0].pageX;
|
||||
touchStartY = event.targetTouches[0].pageY;
|
||||
|
||||
return true;
|
||||
});
|
||||
|
||||
element.on('touchend', function(event) {
|
||||
if (trackingClick) {
|
||||
scope.someCtrlFn();
|
||||
event.preventDefault();
|
||||
}
|
||||
trackingClick = false;
|
||||
return false;
|
||||
});
|
||||
|
||||
element.on('touchmove', function(event) {
|
||||
if (!trackingClick) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// If the touch has moved, cancel the click tracking
|
||||
if (targetElement !== event.target
|
||||
|| (Math.abs(event.changedTouches[0].pageX - touchStartX) > touchBoundary
|
||||
|| (Math.abs(event.changedTouches[0].pageY - touchStartY) > touchBoundary))) {
|
||||
trackingClick = false;
|
||||
targetElement = null;
|
||||
}
|
||||
|
||||
return true;
|
||||
});
|
||||
|
||||
element.on('touchcancel', function() {
|
||||
trackingClick = false;
|
||||
targetElement = null;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}]);
|
||||
|
||||
;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue