Skip to content
Snippets Groups Projects
Select Git revision
  • 988f9566cdcb9d00ff0202c53db68a4706252d8c
  • master default protected
  • yassin.elhakoun-master-patch-15592
  • yassin.elhakoun-master-patch-40090
  • pk
  • high-order-functions
6 results

index.js

Blame
  • Forked from programmation_sequentielle / cours
    Source project has a limited visibility.
    index.js 1.45 KiB
    import Deck, { VERSION } from './reveal.js'
    
    /**
     * Expose the Reveal class to the window. To create a
     * new instance:
     * let deck = new Reveal( document.querySelector( '.reveal' ), {
     *   controls: false
     * } );
     * deck.initialize().then(() => {
     *   // reveal.js is ready
     * });
     */
    let Reveal = Deck;
    
    
    /**
     * The below is a thin shell that mimics the pre 4.0
     * reveal.js API and ensures backwards compatibility.
     * This API only allows for one Reveal instance per
     * page, whereas the new API above lets you run many
     * presentations on the same page.
     *
     * Reveal.initialize( { controls: false } ).then(() => {
     *   // reveal.js is ready
     * });
     */
    
    let enqueuedAPICalls = [];
    
    Reveal.initialize = options => {
    
    	// Create our singleton reveal.js instance
    	Object.assign( Reveal, new Deck( document.querySelector( '.reveal' ), options ) );
    
    	// Invoke any enqueued API calls
    	enqueuedAPICalls.map( method => method( Reveal ) );
    
    	return Reveal.initialize();
    
    }
    
    /**
     * The pre 4.0 API let you add event listener before
     * initializing. We maintain the same behavior by
     * queuing up premature API calls and invoking all
     * of them when Reveal.initialize is called.
     */
    [ 'configure', 'on', 'off', 'addEventListener', 'removeEventListener', 'registerPlugin' ].forEach( method => {
    	Reveal[method] = ( ...args ) => {
    		enqueuedAPICalls.push( deck => deck[method].call( null, ...args ) );
    	}
    } );
    
    Reveal.isReady = () => false;
    
    Reveal.VERSION = VERSION;
    
    export default Reveal;