From 969e7b3ef18e0de174d5c6a02ad44c2774753cf5 Mon Sep 17 00:00:00 2001 From: Zach DeCook Date: Wed, 29 May 2019 10:32:49 -0400 Subject: [PATCH] * Mobile Linear Navigation: Fix swipes to navigate linearly --- js/reveal.js | 40 +++++++++++++++++++++++++++++++++++----- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/js/reveal.js b/js/reveal.js index fbcb281..a449e75 100644 --- a/js/reveal.js +++ b/js/reveal.js @@ -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,19 +5441,49 @@ if( deltaX > touch.threshold && Math.abs( deltaX ) > Math.abs( deltaY ) ) { 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 ) ) { touch.captured = true; - navigateRight(); + if (config.navigationMode === 'linear') { + if( config.rtl ) { + navigatePrev(); + } + else { + navigateNext(); + } + } + else { + navigateRight(); + } } else if( deltaY > touch.threshold ) { touch.captured = true; - navigateUp(); + if (config.navigationMode === 'linear') { + navigatePrev(); + } + else { + navigateUp(); + } } else if( deltaY < -touch.threshold ) { touch.captured = true; - navigateDown(); + if (config.navigationMode === 'linear') { + navigateNext(); + } + else { + navigateDown(); + } } // If we're embedded, only block touch events if they have