2023-05-23 19:50:14 +02:00
|
|
|
import Deck, { VERSION } from "./reveal.js";
|
2020-03-07 10:44:02 +01:00
|
|
|
|
2020-04-07 09:40:11 +02:00
|
|
|
/**
|
|
|
|
* 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
|
|
|
|
* });
|
|
|
|
*/
|
2020-04-27 11:44:33 +02:00
|
|
|
let Reveal = Deck;
|
2020-03-31 13:06:58 +02:00
|
|
|
|
2020-04-07 09:40:11 +02:00
|
|
|
/**
|
|
|
|
* The below is a thin shell that mimics the pre 4.0
|
|
|
|
* reveal.js API and ensures backwards compatibility.
|
2020-05-18 15:59:18 +02:00
|
|
|
* This API only allows for one Reveal instance per
|
2020-04-07 09:40:11 +02:00
|
|
|
* 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 = [];
|
|
|
|
|
2023-05-23 19:50:14 +02:00
|
|
|
Reveal.initialize = (options) => {
|
|
|
|
// Create our singleton reveal.js instance
|
|
|
|
Object.assign(Reveal, new Deck(document.querySelector(".reveal"), options));
|
2020-04-07 09:40:11 +02:00
|
|
|
|
2023-05-23 19:50:14 +02:00
|
|
|
// Invoke any enqueued API calls
|
|
|
|
enqueuedAPICalls.map((method) => method(Reveal));
|
2020-04-07 09:40:11 +02:00
|
|
|
|
2023-05-23 19:50:14 +02:00
|
|
|
return Reveal.initialize();
|
|
|
|
};
|
2020-04-07 09:40:11 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* The pre 4.0 API let you add event listener before
|
|
|
|
* initializing. We maintain the same behavior by
|
2020-04-27 11:44:33 +02:00
|
|
|
* queuing up premature API calls and invoking all
|
|
|
|
* of them when Reveal.initialize is called.
|
2020-04-07 09:40:11 +02:00
|
|
|
*/
|
2023-05-23 19:50:14 +02:00
|
|
|
[
|
|
|
|
"configure",
|
|
|
|
"on",
|
|
|
|
"off",
|
|
|
|
"addEventListener",
|
|
|
|
"removeEventListener",
|
|
|
|
"registerPlugin",
|
|
|
|
].forEach((method) => {
|
|
|
|
Reveal[method] = (...args) => {
|
|
|
|
enqueuedAPICalls.push((deck) => deck[method].call(null, ...args));
|
|
|
|
};
|
|
|
|
});
|
2020-04-17 10:59:55 +02:00
|
|
|
|
2020-05-27 13:15:26 +02:00
|
|
|
Reveal.isReady = () => false;
|
|
|
|
|
2020-05-19 20:27:45 +02:00
|
|
|
Reveal.VERSION = VERSION;
|
|
|
|
|
2023-05-23 19:50:14 +02:00
|
|
|
export default Reveal;
|