From 481208f43fda7270a6ac628a412b32120bfc9018 Mon Sep 17 00:00:00 2001 From: Hakim El Hattab Date: Wed, 23 Jan 2019 10:30:29 +0100 Subject: [PATCH] hide vertical arrows when navigationMode is 'linear' #2307 --- css/reveal.css | 6 ++++++ css/reveal.scss | 7 +++++++ js/reveal.js | 12 ++++++++++-- 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/css/reveal.css b/css/reveal.css index d7442d6..4a9f030 100644 --- a/css/reveal.css +++ b/css/reveal.css @@ -343,10 +343,16 @@ body { .reveal .controls .enabled.fragmented:hover { opacity: 1; } +.reveal[data-navigation-mode="linear"].has-horizontal-slides .navigate-up, +.reveal[data-navigation-mode="linear"].has-horizontal-slides .navigate-down { + display: none; } + +.reveal[data-navigation-mode="linear"].has-horizontal-slides .navigate-left, .reveal:not(.has-vertical-slides) .controls .navigate-left { bottom: 1.4em; right: 5.5em; } +.reveal[data-navigation-mode="linear"].has-horizontal-slides .navigate-right, .reveal:not(.has-vertical-slides) .controls .navigate-right { bottom: 1.4em; right: 0.5em; } diff --git a/css/reveal.scss b/css/reveal.scss index c93276f..c79a562 100644 --- a/css/reveal.scss +++ b/css/reveal.scss @@ -407,12 +407,19 @@ $controlsArrowAngleActive: 36deg; } } +.reveal[data-navigation-mode="linear"].has-horizontal-slides .navigate-up, +.reveal[data-navigation-mode="linear"].has-horizontal-slides .navigate-down { + display: none; +} + // Adjust the layout when there are no vertical slides +.reveal[data-navigation-mode="linear"].has-horizontal-slides .navigate-left, .reveal:not(.has-vertical-slides) .controls .navigate-left { bottom: $controlArrowSpacing; right: 0.5em + $controlArrowSpacing + $controlArrowSize; } +.reveal[data-navigation-mode="linear"].has-horizontal-slides .navigate-right, .reveal:not(.has-vertical-slides) .controls .navigate-right { bottom: $controlArrowSpacing; right: 0.5em; diff --git a/js/reveal.js b/js/reveal.js index ba69d1a..cee39e2 100644 --- a/js/reveal.js +++ b/js/reveal.js @@ -1362,6 +1362,14 @@ dom.slideNumber.style.display = slideNumberDisplay; + // Add the navigation mode to the DOM so we can adjust styling + if( config.navigationMode !== 'default' ) { + dom.wrapper.setAttribute( 'data-navigation-mode', config.navigationMode ); + } + else { + dom.wrapper.removeAttribute( 'data-navigation-mode' ); + } + sync(); } @@ -5316,8 +5324,8 @@ /** * Event handler for navigation control buttons. */ - function onNavigateLeftClicked( event ) { event.preventDefault(); onUserInput(); navigateLeft(); } - function onNavigateRightClicked( event ) { event.preventDefault(); onUserInput(); navigateRight(); } + function onNavigateLeftClicked( event ) { event.preventDefault(); onUserInput(); config.navigationMode === 'linear' ? navigatePrev() : navigateLeft(); } + function onNavigateRightClicked( event ) { event.preventDefault(); onUserInput(); config.navigationMode === 'linear' ? navigateNext() : navigateRight(); } function onNavigateUpClicked( event ) { event.preventDefault(); onUserInput(); navigateUp(); } function onNavigateDownClicked( event ) { event.preventDefault(); onUserInput(); navigateDown(); } function onNavigatePrevClicked( event ) { event.preventDefault(); onUserInput(); navigatePrev(); }