Reveal.add/remveEventListener -> Reveal.on/off

This commit is contained in:
Hakim El Hattab
2020-04-07 09:05:56 +02:00
parent f24620018f
commit 855cc82d76
17 changed files with 113 additions and 91 deletions

View File

@ -12,6 +12,8 @@ export default class SlideContent {
this.Reveal = Reveal;
this.startEmbeddedIframe = this.startEmbeddedIframe.bind( this );
}
/**

View File

@ -157,7 +157,7 @@ export default function( revealElement, options ) {
// Load plugins then move on to #start()
plugins.load( config.dependencies ).then( start );
return new Promise( resolve => Reveal.addEventListener( 'ready', resolve ) );
return new Promise( resolve => Reveal.on( 'ready', resolve ) );
}
@ -548,6 +548,25 @@ export default function( revealElement, options ) {
}
/**
* Adds a listener to one of our custom reveal.js events,
* like slidechanged.
*/
function on( type, listener, useCapture ) {
revealElement.addEventListener( type, listener, useCapture );
}
/**
* Unsubscribes from a reveal.js event.
*/
function off( type, listener, useCapture ) {
revealElement.removeEventListener( type, listener, useCapture );
}
/**
* Applies CSS transforms to the slides container. The container
* is transformed from two separate sources: layout and the overview
@ -2442,27 +2461,26 @@ export default function( revealElement, options ) {
prev: navigatePrev,
next: navigateNext,
// Deprecated aliases
navigateTo: slide,
navigateLeft: navigateLeft,
navigateRight: navigateRight,
navigateUp: navigateUp,
navigateDown: navigateDown,
navigatePrev: navigatePrev,
navigateNext: navigateNext,
// Navigation aliases
navigateLeft,
navigateRight,
navigateUp,
navigateDown,
navigatePrev,
navigateNext,
// Fragment methods
navigateFragment: fragments.goto.bind( fragments ),
prevFragment: fragments.prev.bind( fragments ),
nextFragment: fragments.next.bind( fragments ),
// Forward event binding to the reveal DOM element
addEventListener: ( type, listener, useCapture ) => {
Reveal.getRevealElement().addEventListener( type, listener, useCapture );
},
removeEventListener: ( type, listener, useCapture ) => {
Reveal.getRevealElement().removeEventListener( type, listener, useCapture );
},
// Event binding
on,
off,
// Legacy event binding methods left in for backwards compatibility
addEventListener: on,
removeEventListener: off,
// Forces an update in slide layout
layout,
@ -2588,7 +2606,7 @@ export default function( revealElement, options ) {
getQueryHash,
// Returns reveal.js DOM elements
getRevealElement: () => dom.wrapper || document.querySelector( '.reveal' ),
getRevealElement: () => revealElement,
getSlidesElement: () => dom.slides,
getBackgroundsElement: () => backgrounds.element,