123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- import Deck 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
- * });
- */
- var 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 once 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 early API calls and invoking all of them
- * when Reveal.initialize is called.
- */
- [ 'on', 'off', 'addEventListener', 'removeEventListener', 'registerPlugin' ].forEach( method => {
- Reveal[method] = ( ...args ) => {
- enqueuedAPICalls.push( deck => deck[method].call( null, ...args ) );
- }
- } );
- export default Reveal;
|