es6 refactoring
This commit is contained in:
parent
4cfd254086
commit
dd852851ef
106
js/reveal.js
106
js/reveal.js
@ -204,7 +204,7 @@ export default function( revealElement, options ) {
|
||||
*/
|
||||
function load() {
|
||||
|
||||
var scripts = [],
|
||||
let scripts = [],
|
||||
scriptsToLoad = 0;
|
||||
|
||||
config.dependencies.forEach( s => {
|
||||
@ -224,7 +224,7 @@ export default function( revealElement, options ) {
|
||||
|
||||
// Load synchronous scripts
|
||||
scripts.forEach( s => {
|
||||
loadScript( s.src, function() {
|
||||
loadScript( s.src, () => {
|
||||
|
||||
if( typeof s.callback === 'function' ) s.callback();
|
||||
|
||||
@ -541,14 +541,14 @@ export default function( revealElement, options ) {
|
||||
*/
|
||||
function setupPDF() {
|
||||
|
||||
var slideSize = getComputedSlideSize( window.innerWidth, window.innerHeight );
|
||||
let slideSize = getComputedSlideSize( window.innerWidth, window.innerHeight );
|
||||
|
||||
// Dimensions of the PDF pages
|
||||
var pageWidth = Math.floor( slideSize.width * ( 1 + config.margin ) ),
|
||||
let pageWidth = Math.floor( slideSize.width * ( 1 + config.margin ) ),
|
||||
pageHeight = Math.floor( slideSize.height * ( 1 + config.margin ) );
|
||||
|
||||
// Dimensions of slides within the pages
|
||||
var slideWidth = slideSize.width,
|
||||
let slideWidth = slideSize.width,
|
||||
slideHeight = slideSize.height;
|
||||
|
||||
// Let the browser know what page size we want to print
|
||||
@ -565,7 +565,7 @@ export default function( revealElement, options ) {
|
||||
layoutSlideContents( slideWidth, slideHeight );
|
||||
|
||||
// Compute slide numbers now, before we start duplicating slides
|
||||
var doingSlideNumbers = config.slideNumber && /all|print/i.test( config.showSlideNumber );
|
||||
let doingSlideNumbers = config.slideNumber && /all|print/i.test( config.showSlideNumber );
|
||||
toArray( dom.wrapper.querySelectorAll( SLIDES_SELECTOR ) ).forEach( function( slide ) {
|
||||
slide.setAttribute( 'data-slide-number', getSlideNumber( slide ) );
|
||||
} );
|
||||
@ -577,11 +577,11 @@ export default function( revealElement, options ) {
|
||||
// children will be
|
||||
if( slide.classList.contains( 'stack' ) === false ) {
|
||||
// Center the slide inside of the page, giving the slide some margin
|
||||
var left = ( pageWidth - slideWidth ) / 2,
|
||||
let left = ( pageWidth - slideWidth ) / 2,
|
||||
top = ( pageHeight - slideHeight ) / 2;
|
||||
|
||||
var contentHeight = slide.scrollHeight;
|
||||
var numberOfPages = Math.max( Math.ceil( contentHeight / pageHeight ), 1 );
|
||||
let contentHeight = slide.scrollHeight;
|
||||
let numberOfPages = Math.max( Math.ceil( contentHeight / pageHeight ), 1 );
|
||||
|
||||
// Adhere to configured pages per slide limit
|
||||
numberOfPages = Math.min( numberOfPages, config.pdfMaxPagesPerSlide );
|
||||
@ -593,7 +593,7 @@ export default function( revealElement, options ) {
|
||||
|
||||
// Wrap the slide in a page element and hide its overflow
|
||||
// so that no page ever flows onto another
|
||||
var page = document.createElement( 'div' );
|
||||
let page = document.createElement( 'div' );
|
||||
page.className = 'pdf-page';
|
||||
page.style.height = ( ( pageHeight + config.pdfPageHeightOffset ) * numberOfPages ) + 'px';
|
||||
slide.parentNode.insertBefore( page, slide );
|
||||
@ -612,12 +612,12 @@ export default function( revealElement, options ) {
|
||||
if( config.showNotes ) {
|
||||
|
||||
// Are there notes for this slide?
|
||||
var notes = getSlideNotes( slide );
|
||||
let notes = getSlideNotes( slide );
|
||||
if( notes ) {
|
||||
|
||||
var notesSpacing = 8;
|
||||
var notesLayout = typeof config.showNotes === 'string' ? config.showNotes : 'inline';
|
||||
var notesElement = document.createElement( 'div' );
|
||||
let notesSpacing = 8;
|
||||
let notesLayout = typeof config.showNotes === 'string' ? config.showNotes : 'inline';
|
||||
let notesElement = document.createElement( 'div' );
|
||||
notesElement.classList.add( 'speaker-notes' );
|
||||
notesElement.classList.add( 'speaker-notes-pdf' );
|
||||
notesElement.setAttribute( 'data-layout', notesLayout );
|
||||
@ -639,7 +639,7 @@ export default function( revealElement, options ) {
|
||||
|
||||
// Inject slide numbers if `slideNumbers` are enabled
|
||||
if( doingSlideNumbers ) {
|
||||
var numberElement = document.createElement( 'div' );
|
||||
let numberElement = document.createElement( 'div' );
|
||||
numberElement.classList.add( 'slide-number' );
|
||||
numberElement.classList.add( 'slide-number-pdf' );
|
||||
numberElement.innerHTML = slide.getAttribute( 'data-slide-number' );
|
||||
@ -652,10 +652,10 @@ export default function( revealElement, options ) {
|
||||
// Each fragment 'group' is an array containing one or more
|
||||
// fragments. Multiple fragments that appear at the same time
|
||||
// are part of the same group.
|
||||
var fragmentGroups = sortFragments( page.querySelectorAll( '.fragment' ), true );
|
||||
let fragmentGroups = sortFragments( page.querySelectorAll( '.fragment' ), true );
|
||||
|
||||
var previousFragmentStep;
|
||||
var previousPage;
|
||||
let previousFragmentStep;
|
||||
let previousPage;
|
||||
|
||||
fragmentGroups.forEach( function( fragments ) {
|
||||
|
||||
@ -672,7 +672,7 @@ export default function( revealElement, options ) {
|
||||
} );
|
||||
|
||||
// Create a separate page for the current fragment state
|
||||
var clonedPage = page.cloneNode( true );
|
||||
let clonedPage = page.cloneNode( true );
|
||||
page.parentNode.insertBefore( clonedPage, ( previousPage || page ).nextSibling );
|
||||
|
||||
previousFragmentStep = fragments;
|
||||
@ -983,7 +983,7 @@ export default function( revealElement, options ) {
|
||||
|
||||
if( POST_MESSAGE_METHOD_BLACKLIST.test( data.method ) === false ) {
|
||||
|
||||
var result = Reveal[data.method].apply( Reveal, data.args );
|
||||
const result = Reveal[data.method].apply( Reveal, data.args );
|
||||
|
||||
// Dispatch a postMessage event with the returned value from
|
||||
// our method invocation for getter functions
|
||||
@ -1095,7 +1095,7 @@ export default function( revealElement, options ) {
|
||||
}
|
||||
|
||||
// Reset all auto animated elements
|
||||
toArray( dom.slides.querySelectorAll( '[data-auto-animate]:not([data-auto-animate=""])' ) ).forEach( function( element ) {
|
||||
toArray( dom.slides.querySelectorAll( '[data-auto-animate]:not([data-auto-animate=""])' ) ).forEach( element => {
|
||||
element.dataset.autoAnimate = '';
|
||||
} );
|
||||
|
||||
@ -1231,13 +1231,13 @@ export default function( revealElement, options ) {
|
||||
pointerEvents = [ 'touchstart' ];
|
||||
}
|
||||
|
||||
pointerEvents.forEach( function( eventName ) {
|
||||
dom.controlsLeft.forEach( function( el ) { el.addEventListener( eventName, onNavigateLeftClicked, false ); } );
|
||||
dom.controlsRight.forEach( function( el ) { el.addEventListener( eventName, onNavigateRightClicked, false ); } );
|
||||
dom.controlsUp.forEach( function( el ) { el.addEventListener( eventName, onNavigateUpClicked, false ); } );
|
||||
dom.controlsDown.forEach( function( el ) { el.addEventListener( eventName, onNavigateDownClicked, false ); } );
|
||||
dom.controlsPrev.forEach( function( el ) { el.addEventListener( eventName, onNavigatePrevClicked, false ); } );
|
||||
dom.controlsNext.forEach( function( el ) { el.addEventListener( eventName, onNavigateNextClicked, false ); } );
|
||||
pointerEvents.forEach( eventName => {
|
||||
dom.controlsLeft.forEach( el => el.addEventListener( eventName, onNavigateLeftClicked, false ) );
|
||||
dom.controlsRight.forEach( el => el.addEventListener( eventName, onNavigateRightClicked, false ) );
|
||||
dom.controlsUp.forEach( el => el.addEventListener( eventName, onNavigateUpClicked, false ) );
|
||||
dom.controlsDown.forEach( el => el.addEventListener( eventName, onNavigateDownClicked, false ) );
|
||||
dom.controlsPrev.forEach( el => el.addEventListener( eventName, onNavigatePrevClicked, false ) );
|
||||
dom.controlsNext.forEach( el => el.addEventListener( eventName, onNavigateNextClicked, false ) );
|
||||
} );
|
||||
|
||||
}
|
||||
@ -1272,13 +1272,13 @@ export default function( revealElement, options ) {
|
||||
dom.progress.removeEventListener( 'click', onProgressClicked, false );
|
||||
}
|
||||
|
||||
[ 'touchstart', 'click' ].forEach( function( eventName ) {
|
||||
dom.controlsLeft.forEach( function( el ) { el.removeEventListener( eventName, onNavigateLeftClicked, false ); } );
|
||||
dom.controlsRight.forEach( function( el ) { el.removeEventListener( eventName, onNavigateRightClicked, false ); } );
|
||||
dom.controlsUp.forEach( function( el ) { el.removeEventListener( eventName, onNavigateUpClicked, false ); } );
|
||||
dom.controlsDown.forEach( function( el ) { el.removeEventListener( eventName, onNavigateDownClicked, false ); } );
|
||||
dom.controlsPrev.forEach( function( el ) { el.removeEventListener( eventName, onNavigatePrevClicked, false ); } );
|
||||
dom.controlsNext.forEach( function( el ) { el.removeEventListener( eventName, onNavigateNextClicked, false ); } );
|
||||
[ 'touchstart', 'click' ].forEach( eventName => {
|
||||
dom.controlsLeft.forEach( el => el.removeEventListener( eventName, onNavigateLeftClicked, false ) );
|
||||
dom.controlsRight.forEach( el => el.removeEventListener( eventName, onNavigateRightClicked, false ) );
|
||||
dom.controlsUp.forEach( el => el.removeEventListener( eventName, onNavigateUpClicked, false ) );
|
||||
dom.controlsDown.forEach( el => el.removeEventListener( eventName, onNavigateDownClicked, false ) );
|
||||
dom.controlsPrev.forEach( el => el.removeEventListener( eventName, onNavigatePrevClicked, false ) );
|
||||
dom.controlsNext.forEach( el => el.removeEventListener( eventName, onNavigateNextClicked, false ) );
|
||||
} );
|
||||
|
||||
}
|
||||
@ -1576,12 +1576,12 @@ export default function( revealElement, options ) {
|
||||
let html = '<p class="title">Keyboard Shortcuts</p><br/>';
|
||||
|
||||
html += '<table><th>KEY</th><th>ACTION</th>';
|
||||
for( var key in keyboardShortcuts ) {
|
||||
for( let key in keyboardShortcuts ) {
|
||||
html += `<tr><td>${key}</td><td>${keyboardShortcuts[ key ]}</td></tr>`;
|
||||
}
|
||||
|
||||
// Add custom key bindings that have associated descriptions
|
||||
for( var binding in registeredKeyBindings ) {
|
||||
for( let binding in registeredKeyBindings ) {
|
||||
if( registeredKeyBindings[binding].key && registeredKeyBindings[binding].description ) {
|
||||
html += `<tr><td>${registeredKeyBindings[binding].key}</td><td>${registeredKeyBindings[binding].description}</td></tr>`;
|
||||
}
|
||||
@ -1598,7 +1598,7 @@ export default function( revealElement, options ) {
|
||||
</div>
|
||||
`;
|
||||
|
||||
dom.overlay.querySelector( '.close' ).addEventListener( 'click', function( event ) {
|
||||
dom.overlay.querySelector( '.close' ).addEventListener( 'click', event => {
|
||||
closeOverlay();
|
||||
event.preventDefault();
|
||||
}, false );
|
||||
@ -1696,7 +1696,7 @@ export default function( revealElement, options ) {
|
||||
// Select all slides, vertical and horizontal
|
||||
const slides = toArray( dom.wrapper.querySelectorAll( SLIDES_SELECTOR ) );
|
||||
|
||||
for( var i = 0, len = slides.length; i < len; i++ ) {
|
||||
for( let i = 0, len = slides.length; i < len; i++ ) {
|
||||
const slide = slides[ i ];
|
||||
|
||||
// Don't bother updating invisible slides
|
||||
@ -1753,7 +1753,7 @@ export default function( revealElement, options ) {
|
||||
toArray( dom.slides.querySelectorAll( 'section > .stretch' ) ).forEach( element => {
|
||||
|
||||
// Determine how much vertical space we can use
|
||||
var remainingHeight = getRemainingHeight( element, height );
|
||||
let remainingHeight = getRemainingHeight( element, height );
|
||||
|
||||
// Consider the aspect ratio of media elements
|
||||
if( /(img|video)/gi.test( element.nodeName ) ) {
|
||||
@ -2475,7 +2475,7 @@ export default function( revealElement, options ) {
|
||||
*/
|
||||
function resetVerticalSlides() {
|
||||
|
||||
getHorizontalSlides().forEach( function( horizontalSlide ) {
|
||||
getHorizontalSlides().forEach( horizontalSlide => {
|
||||
|
||||
toArray( horizontalSlide.querySelectorAll( 'section' ) ).forEach( ( verticalSlide, y ) => {
|
||||
|
||||
@ -3149,13 +3149,13 @@ export default function( revealElement, options ) {
|
||||
toSlide.dataset.autoAnimate = 'pending';
|
||||
|
||||
// Inject our auto-animate styles for this transition
|
||||
let css = getAutoAnimatableElements( fromSlide, toSlide ).map( function( elements ) {
|
||||
let css = getAutoAnimatableElements( fromSlide, toSlide ).map( elements => {
|
||||
return getAutoAnimateCSS( elements.from, elements.to, elements.options || {}, animationOptions, autoAnimateCounter++ );
|
||||
} );
|
||||
|
||||
// Animate unmatched elements, if enabled
|
||||
if( toSlide.dataset.autoAnimateUnmatched !== 'false' && config.autoAnimateUnmatched === true ) {
|
||||
getUnmatchedAutoAnimateElements( toSlide ).forEach( function( unmatchedElement ) {
|
||||
getUnmatchedAutoAnimateElements( toSlide ).forEach( unmatchedElement => {
|
||||
unmatchedElement.dataset.autoAnimateTarget = 'unmatched';
|
||||
} );
|
||||
|
||||
@ -3305,11 +3305,11 @@ export default function( revealElement, options ) {
|
||||
|
||||
// Build up our custom CSS. We need to override inline styles
|
||||
// so we need to make our styles vErY IMPORTANT!1!!
|
||||
let fromCSS = Object.keys( fromProps.styles ).map( function( propertyName ) {
|
||||
let fromCSS = Object.keys( fromProps.styles ).map( propertyName => {
|
||||
return propertyName + ': ' + fromProps.styles[propertyName] + ' !important;';
|
||||
} ).join( '' );
|
||||
|
||||
let toCSS = Object.keys( toProps.styles ).map( function( propertyName ) {
|
||||
let toCSS = Object.keys( toProps.styles ).map( propertyName => {
|
||||
return propertyName + ': ' + toProps.styles[propertyName] + ' !important;';
|
||||
} ).join( '' );
|
||||
|
||||
@ -3686,7 +3686,7 @@ export default function( revealElement, options ) {
|
||||
|
||||
// Media elements with <source> children
|
||||
toArray( slide.querySelectorAll( 'video, audio' ) ).forEach( media => {
|
||||
var sources = 0;
|
||||
let sources = 0;
|
||||
|
||||
toArray( media.querySelectorAll( 'source[data-src]' ) ).forEach( source => {
|
||||
source.setAttribute( 'src', source.getAttribute( 'data-src' ) );
|
||||
@ -3831,7 +3831,7 @@ export default function( revealElement, options ) {
|
||||
*/
|
||||
function availableRoutes() {
|
||||
|
||||
var horizontalSlides = dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ),
|
||||
let horizontalSlides = dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ),
|
||||
verticalSlides = dom.wrapper.querySelectorAll( VERTICAL_SLIDES_SELECTOR );
|
||||
|
||||
let routes = {
|
||||
@ -3896,7 +3896,7 @@ export default function( revealElement, options ) {
|
||||
|
||||
let _appendParamToIframeSource = ( sourceAttribute, sourceURL, param ) => {
|
||||
toArray( dom.slides.querySelectorAll( 'iframe['+ sourceAttribute +'*="'+ sourceURL +'"]' ) ).forEach( el => {
|
||||
var src = el.getAttribute( sourceAttribute );
|
||||
let src = el.getAttribute( sourceAttribute );
|
||||
if( src && src.indexOf( param ) === -1 ) {
|
||||
el.setAttribute( sourceAttribute, src + ( !/\?/.test( src ) ? '?' : '&' ) + param );
|
||||
}
|
||||
@ -3959,7 +3959,7 @@ export default function( revealElement, options ) {
|
||||
// If autoplay does not work, ensure that the controls are visible so
|
||||
// that the viewer can start the media on their own
|
||||
if( promise && typeof promise.catch === 'function' && el.controls === false ) {
|
||||
promise.catch( function() {
|
||||
promise.catch( () => {
|
||||
el.controls = true;
|
||||
|
||||
// Once the video does start playing, hide the controls again
|
||||
@ -4435,7 +4435,7 @@ export default function( revealElement, options ) {
|
||||
*/
|
||||
function getSlidesAttributes() {
|
||||
|
||||
return getSlides().map( function( slide ) {
|
||||
return getSlides().map( slide => {
|
||||
|
||||
let attributes = {};
|
||||
for( let i = 0; i < slide.attributes.length; i++ ) {
|
||||
@ -4557,7 +4557,7 @@ export default function( revealElement, options ) {
|
||||
if( typeof state === 'object' ) {
|
||||
slide( deserialize( state.indexh ), deserialize( state.indexv ), deserialize( state.indexf ) );
|
||||
|
||||
var pausedFlag = deserialize( state.paused ),
|
||||
let pausedFlag = deserialize( state.paused ),
|
||||
overviewFlag = deserialize( state.overview );
|
||||
|
||||
if( typeof pausedFlag === 'boolean' && pausedFlag !== isPaused() ) {
|
||||
@ -5167,7 +5167,7 @@ export default function( revealElement, options ) {
|
||||
// Check if this binding matches the pressed key
|
||||
if( parseInt( key, 10 ) === keyCode ) {
|
||||
|
||||
var value = config.keyboard[ key ];
|
||||
let value = config.keyboard[ key ];
|
||||
|
||||
// Callback function
|
||||
if( typeof value === 'function' ) {
|
||||
@ -5613,7 +5613,7 @@ export default function( revealElement, options ) {
|
||||
deactivateOverview();
|
||||
|
||||
if( element.nodeName.match( /section/gi ) ) {
|
||||
var h = parseInt( element.getAttribute( 'data-index-h' ), 10 ),
|
||||
let h = parseInt( element.getAttribute( 'data-index-h' ), 10 ),
|
||||
v = parseInt( element.getAttribute( 'data-index-v' ), 10 );
|
||||
|
||||
slide( h, v );
|
||||
|
@ -7,7 +7,7 @@
|
||||
*/
|
||||
export const extend = ( a, b ) => {
|
||||
|
||||
for( var i in b ) {
|
||||
for( let i in b ) {
|
||||
a[ i ] = b[ i ];
|
||||
}
|
||||
|
||||
@ -57,7 +57,7 @@ export const deserialize = ( value ) => {
|
||||
*/
|
||||
export const distanceBetween = ( a, b ) => {
|
||||
|
||||
var dx = a.x - b.x,
|
||||
let dx = a.x - b.x,
|
||||
dy = a.y - b.y;
|
||||
|
||||
return Math.sqrt( dx*dx + dy*dy );
|
||||
|
Loading…
Reference in New Issue
Block a user