add support for keyboard navigation in scroll view #3515
This commit is contained in:
18
js/reveal.js
18
js/reveal.js
@@ -2499,6 +2499,9 @@ export default function( revealElement, options ) {
|
||||
|
||||
navigationHistory.hasNavigatedHorizontally = true;
|
||||
|
||||
// Scroll view navigation is handled independently
|
||||
if( scrollView.isActive() ) return scrollView.prev();
|
||||
|
||||
// Reverse for RTL
|
||||
if( config.rtl ) {
|
||||
if( ( overview.isActive() || skipFragments || fragments.next() === false ) && availableRoutes().left ) {
|
||||
@@ -2516,6 +2519,9 @@ export default function( revealElement, options ) {
|
||||
|
||||
navigationHistory.hasNavigatedHorizontally = true;
|
||||
|
||||
// Scroll view navigation is handled independently
|
||||
if( scrollView.isActive() ) return scrollView.next();
|
||||
|
||||
// Reverse for RTL
|
||||
if( config.rtl ) {
|
||||
if( ( overview.isActive() || skipFragments || fragments.prev() === false ) && availableRoutes().right ) {
|
||||
@@ -2531,6 +2537,9 @@ export default function( revealElement, options ) {
|
||||
|
||||
function navigateUp({skipFragments=false}={}) {
|
||||
|
||||
// Scroll view navigation is handled independently
|
||||
if( scrollView.isActive() ) return scrollView.prev();
|
||||
|
||||
// Prioritize hiding fragments
|
||||
if( ( overview.isActive() || skipFragments || fragments.prev() === false ) && availableRoutes().up ) {
|
||||
slide( indexh, indexv - 1 );
|
||||
@@ -2542,6 +2551,9 @@ export default function( revealElement, options ) {
|
||||
|
||||
navigationHistory.hasNavigatedVertically = true;
|
||||
|
||||
// Scroll view navigation is handled independently
|
||||
if( scrollView.isActive() ) return scrollView.next();
|
||||
|
||||
// Prioritize revealing fragments
|
||||
if( ( overview.isActive() || skipFragments || fragments.next() === false ) && availableRoutes().down ) {
|
||||
slide( indexh, indexv + 1 );
|
||||
@@ -2557,6 +2569,9 @@ export default function( revealElement, options ) {
|
||||
*/
|
||||
function navigatePrev({skipFragments=false}={}) {
|
||||
|
||||
// Scroll view navigation is handled independently
|
||||
if( scrollView.isActive() ) return scrollView.prev();
|
||||
|
||||
// Prioritize revealing fragments
|
||||
if( skipFragments || fragments.prev() === false ) {
|
||||
if( availableRoutes().up ) {
|
||||
@@ -2596,6 +2611,9 @@ export default function( revealElement, options ) {
|
||||
navigationHistory.hasNavigatedHorizontally = true;
|
||||
navigationHistory.hasNavigatedVertically = true;
|
||||
|
||||
// Scroll view navigation is handled independently
|
||||
if( scrollView.isActive() ) return scrollView.next();
|
||||
|
||||
// Prioritize revealing fragments
|
||||
if( skipFragments || fragments.next() === false ) {
|
||||
|
||||
|
||||
Reference in New Issue
Block a user