Commit 4f280f77 authored by Hakim El Hattab's avatar Hakim El Hattab
Browse files

update logic for disabling fragments via config option

parent bff9bfb1
......@@ -14,10 +14,10 @@ export default class Fragments {
}
/**
* Shows all fragments in the presentation. Used when
* fragments are disabled presentation-wide.
* If fragments are disabled in the deck, they should all be
* visible rather than stepped through.
*/
showAll() {
disable() {
toArray( this.Reveal.getSlidesElement().querySelectorAll( '.fragment' ) ).forEach( element => {
element.classList.add( 'visible' );
......@@ -26,6 +26,19 @@ export default class Fragments {
}
/**
* Reverse of #disable(). Only called if fragments have
* previously been disabled.
*/
enable() {
toArray( this.Reveal.getSlidesElement().querySelectorAll( '.fragment' ) ).forEach( element => {
element.classList.remove( 'visible' );
element.classList.remove( 'current-fragment' );
} );
}
/**
* Returns an object describing the available fragment
* directions.
......
......@@ -787,7 +787,7 @@ export default function( revealElement, options ) {
*/
function configure( options ) {
const oldTransition = config.transition;
const oldConfig = { ...config }
// New config options may be passed when this method
// is invoked through the API after initialization
......@@ -800,7 +800,7 @@ export default function( revealElement, options ) {
const numberOfSlides = dom.wrapper.querySelectorAll( SLIDES_SELECTOR ).length;
// The transition is added as a class on the .reveal element
dom.wrapper.classList.remove( oldTransition );
dom.wrapper.classList.remove( oldConfig.transition );
dom.wrapper.classList.add( config.transition );
dom.wrapper.setAttribute( 'data-transition-speed', config.transitionSpeed );
......@@ -889,9 +889,12 @@ export default function( revealElement, options ) {
autoSlidePaused = false;
}
// When fragments are turned off they should be visible
// Update the state of our fragments
if( config.fragments === false ) {
fragments.showAll();
fragments.disable();
}
else if( oldConfig.fragments === false ) {
fragments.enable();
}
// Add the navigation mode to the DOM so we can adjust styling
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment