mirror of
https://github.com/nextcloud/passman.git
synced 2025-10-06 19:45:54 +08:00
Added swipedetection
Signed-off-by: fnuesse <felix.nuesse@t-online.de>
This commit is contained in:
parent
2e06b56807
commit
b43a790717
2 changed files with 59 additions and 2 deletions
|
@ -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 @@
|
|||
|
||||
}]);
|
||||
}());
|
||||
|
||||
|
|
|
@ -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">
|
||||
|
|
Loading…
Add table
Reference in a new issue