* Mobile Linear Navigation: Fix swipes to navigate linearly

This commit is contained in:
Zach DeCook 2019-05-29 10:32:49 -04:00
parent c62f4c7cfb
commit 969e7b3ef1
1 changed files with 35 additions and 5 deletions

View File

@ -3951,7 +3951,7 @@
}
}
if( config.navigationMode === "linear" ) {
if( config.navigationMode === 'linear' ) {
routes.right = routes.right || routes.down;
routes.left = routes.left || routes.up;
}
@ -5441,20 +5441,50 @@
if( deltaX > touch.threshold && Math.abs( deltaX ) > Math.abs( deltaY ) ) {
touch.captured = true;
if (config.navigationMode === 'linear') {
if( config.rtl ) {
navigateNext();
}
else {
navigatePrev();
}
}
else {
navigateLeft();
}
}
else if( deltaX < -touch.threshold && Math.abs( deltaX ) > Math.abs( deltaY ) ) {
touch.captured = true;
if (config.navigationMode === 'linear') {
if( config.rtl ) {
navigatePrev();
}
else {
navigateNext();
}
}
else {
navigateRight();
}
}
else if( deltaY > touch.threshold ) {
touch.captured = true;
if (config.navigationMode === 'linear') {
navigatePrev();
}
else {
navigateUp();
}
}
else if( deltaY < -touch.threshold ) {
touch.captured = true;
if (config.navigationMode === 'linear') {
navigateNext();
}
else {
navigateDown();
}
}
// If we're embedded, only block touch events if they have
// triggered an action