Added swipedetection

Signed-off-by: fnuesse <felix.nuesse@t-online.de>
This commit is contained in:
fnuesse 2018-12-23 10:07:56 +01:00
parent 2e06b56807
commit b43a790717
No known key found for this signature in database
GPG key ID: 2089A3431243E819
2 changed files with 59 additions and 2 deletions

View file

@ -467,7 +467,63 @@
return list_without_hidden;
};
//https://stackoverflow.com/questions/15084675/how-to-implement-swipe-gestures-for-mobile-devices
$scope.detectSwipe = function(el,func) {
var swipe_det = {};
swipe_det.sX = 0; swipe_det.sY = 0; swipe_det.eX = 0; swipe_det.eY = 0;
var min_x = 30; //min x swipe for horizontal swipe
var max_x = 30; //max x difference for vertical swipe
var min_y = 100; //min y swipe for vertical swipe
var max_y = 60; //max y difference for horizontal swipe
var direc = "";
var ele = document.getElementById(el);
ele.addEventListener('touchstart',function(e){
var t = e.touches[0];
swipe_det.sX = t.screenX;
swipe_det.sY = t.screenY;
e.preventDefault();
},false);
ele.addEventListener('touchmove',function(e){
e.preventDefault();
var t = e.touches[0];
swipe_det.eX = t.screenX;
swipe_det.eY = t.screenY;
e.preventDefault();
},false);
ele.addEventListener('touchend',function(e){
//horizontal detection
if ((((swipe_det.eX - min_x > swipe_det.sX) || (swipe_det.eX + min_x < swipe_det.sX)) && ((swipe_det.eY < swipe_det.sY + max_y) && (swipe_det.sY > swipe_det.eY - max_y) && (swipe_det.eX > 0)))) {
if(swipe_det.eX > swipe_det.sX) direc = "r";
else direc = "l";
}
//vertical detection
else if ((((swipe_det.eY - min_y > swipe_det.sY) || (swipe_det.eY + min_y < swipe_det.sY)) && ((swipe_det.eX < swipe_det.sX + max_x) && (swipe_det.sX > swipe_det.eX - max_x) && (swipe_det.eY > 0)))) {
if(swipe_det.eY > swipe_det.sY) direc = "d";
else direc = "u";
}
if (direc !== "") {
if(typeof func === 'function'){
func(el, direc);
e.preventDefault();
}
}
direc = "";
swipe_det.sX = 0; swipe_det.sY = 0; swipe_det.eX = 0; swipe_det.eY = 0;
},false);
};
$scope.closeSidebar = function (element, direction) {
if(element==='app-sidebar'){
if(direction==='r'){
$('#close_sidebar_button').click();
}
}
};
$scope.detectSwipe('app-sidebar',$scope.closeSidebar);
$scope.selectedtags = [];
var to;
@ -546,3 +602,4 @@
}]);
}());

View file

@ -140,7 +140,7 @@
<div id="app-sidebar" class="app_sidebar" ng-show="selectedCredential" off-click="closeSelected()" >
<span class="close icon-close" ng-click="closeSelected()" alt="Close"></span>
<span id="close_sidebar_button" class="close icon-close" ng-click="closeSelected()" alt="Close"></span>
<div class="sidebar">
<span class="icon sidebar-icon" ng-if="selectedCredential.url">