* 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

View File

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