update logic for disabling fragments via config option
This commit is contained in:
parent
bff9bfb101
commit
4f280f77b0
2 changed files with 23 additions and 7 deletions
|
@ -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.
|
||||
|
|
11
js/reveal.js
11
js/reveal.js
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue