|
@ -1,5 +1,5 @@ |
|
|
/*! |
|
|
/*! |
|
|
* reveal.js 1.5 r1 |
|
|
* reveal.js 1.5 r2 |
|
|
* http://lab.hakim.se/reveal-js
|
|
|
* http://lab.hakim.se/reveal-js
|
|
|
* MIT licensed |
|
|
* MIT licensed |
|
|
* |
|
|
* |
|
@ -12,10 +12,6 @@ var Reveal = (function(){ |
|
|
|
|
|
|
|
|
IS_TOUCH_DEVICE = !!( 'ontouchstart' in window ), |
|
|
IS_TOUCH_DEVICE = !!( 'ontouchstart' in window ), |
|
|
|
|
|
|
|
|
// The horizontal and verical index of the currently active slide
|
|
|
|
|
|
indexh = 0, |
|
|
|
|
|
indexv = 0, |
|
|
|
|
|
|
|
|
|
|
|
// Configurations defaults, can be overridden at initialization time
|
|
|
// Configurations defaults, can be overridden at initialization time
|
|
|
config = { |
|
|
config = { |
|
|
// Display controls in the bottom right corner
|
|
|
// Display controls in the bottom right corner
|
|
@ -50,6 +46,14 @@ var Reveal = (function(){ |
|
|
transition: 'default' // default/cube/page/concave/linear(2d)
|
|
|
transition: 'default' // default/cube/page/concave/linear(2d)
|
|
|
}, |
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
// The horizontal and verical index of the currently active slide
|
|
|
|
|
|
indexh = 0, |
|
|
|
|
|
indexv = 0, |
|
|
|
|
|
|
|
|
|
|
|
// The previous and current slide HTML elements
|
|
|
|
|
|
previousSlide, |
|
|
|
|
|
currentSlide, |
|
|
|
|
|
|
|
|
// Slides may hold a data-state attribute which we pick up and apply
|
|
|
// Slides may hold a data-state attribute which we pick up and apply
|
|
|
// as a class to the body. This list contains the combined state of
|
|
|
// as a class to the body. This list contains the combined state of
|
|
|
// all current slides.
|
|
|
// all current slides.
|
|
@ -650,6 +654,9 @@ var Reveal = (function(){ |
|
|
* set indices. |
|
|
* set indices. |
|
|
*/ |
|
|
*/ |
|
|
function slide( h, v ) { |
|
|
function slide( h, v ) { |
|
|
|
|
|
// Remember where we were at before
|
|
|
|
|
|
previousSlide = currentSlide; |
|
|
|
|
|
|
|
|
// Remember the state before this slide
|
|
|
// Remember the state before this slide
|
|
|
var stateBefore = state.concat(); |
|
|
var stateBefore = state.concat(); |
|
|
|
|
|
|
|
@ -700,31 +707,30 @@ var Reveal = (function(){ |
|
|
clearTimeout( writeURLTimeout ); |
|
|
clearTimeout( writeURLTimeout ); |
|
|
writeURLTimeout = setTimeout( writeURL, 1500 ); |
|
|
writeURLTimeout = setTimeout( writeURL, 1500 ); |
|
|
|
|
|
|
|
|
// Only fire if the slide index is different from before
|
|
|
// Query all horizontal slides in the deck
|
|
|
if( indexh !== indexhBefore || indexv !== indexvBefore ) { |
|
|
var horizontalSlides = document.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ); |
|
|
// Query all horizontal slides in the deck
|
|
|
|
|
|
var horizontalSlides = document.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ); |
|
|
|
|
|
|
|
|
|
|
|
// Find the previous and current horizontal slides
|
|
|
// Find the current horizontal slide and any possible vertical slides
|
|
|
var previousHorizontalSlide = horizontalSlides[ indexhBefore ], |
|
|
// within it
|
|
|
currentHorizontalSlide = horizontalSlides[ indexh ]; |
|
|
var currentHorizontalSlide = horizontalSlides[ indexh ], |
|
|
|
|
|
currentVerticalSlides = currentHorizontalSlide.querySelectorAll( 'section' ); |
|
|
|
|
|
|
|
|
// Query all vertical slides inside of the previous and current horizontal slides
|
|
|
// Store references to the previous and current slides
|
|
|
var previousVerticalSlides = previousHorizontalSlide.querySelectorAll( 'section' ); |
|
|
currentSlide = currentVerticalSlides[ indexv ] || currentHorizontalSlide; |
|
|
currentVerticalSlides = currentHorizontalSlide.querySelectorAll( 'section' ); |
|
|
|
|
|
|
|
|
|
|
|
// Dispatch an event notifying observers of the change in slide
|
|
|
// Dispatch an event if the slide changed
|
|
|
|
|
|
if( indexh !== indexhBefore || indexv !== indexvBefore ) { |
|
|
dispatchEvent( 'slidechanged', { |
|
|
dispatchEvent( 'slidechanged', { |
|
|
// Include the current indices in the event
|
|
|
|
|
|
'indexh': indexh, |
|
|
'indexh': indexh, |
|
|
'indexv': indexv, |
|
|
'indexv': indexv, |
|
|
|
|
|
'previousSlide': previousSlide, |
|
|
// Passes direct references to the slide HTML elements, attempts to find
|
|
|
'currentSlide': currentSlide |
|
|
// a vertical slide and falls back on the horizontal parent
|
|
|
|
|
|
'previousSlide': previousVerticalSlides[ indexvBefore ] || previousHorizontalSlide, |
|
|
|
|
|
'currentSlide': currentVerticalSlides[ indexv ] || currentHorizontalSlide |
|
|
|
|
|
} ); |
|
|
} ); |
|
|
} |
|
|
} |
|
|
|
|
|
else { |
|
|
|
|
|
// Ensure that the previous slide is never the same as the current
|
|
|
|
|
|
previousSlide = null; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
@ -980,9 +986,28 @@ var Reveal = (function(){ |
|
|
navigateNext: navigateNext, |
|
|
navigateNext: navigateNext, |
|
|
toggleOverview: toggleOverview, |
|
|
toggleOverview: toggleOverview, |
|
|
|
|
|
|
|
|
|
|
|
// Adds or removes all internal event listeners (such as keyboard)
|
|
|
addEventListeners: addEventListeners, |
|
|
addEventListeners: addEventListeners, |
|
|
removeEventListeners: removeEventListeners, |
|
|
removeEventListeners: removeEventListeners, |
|
|
|
|
|
|
|
|
|
|
|
// Returns the indices of the current slide
|
|
|
|
|
|
getIndices: function() { |
|
|
|
|
|
return { |
|
|
|
|
|
h: indexh, |
|
|
|
|
|
v: indexv |
|
|
|
|
|
}; |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
// Returns the previous slide element, may be null
|
|
|
|
|
|
getPreviousSlide: function() { |
|
|
|
|
|
return previousSlide |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
// Returns the current slide element
|
|
|
|
|
|
getCurrentSlide: function() { |
|
|
|
|
|
return currentSlide |
|
|
|
|
|
}, |
|
|
|
|
|
|
|
|
// Forward event binding to the reveal DOM element
|
|
|
// Forward event binding to the reveal DOM element
|
|
|
addEventListener: function( type, listener, useCapture ) { |
|
|
addEventListener: function( type, listener, useCapture ) { |
|
|
( dom.wrapper || document.querySelector( '.reveal' ) ).addEventListener( type, listener, useCapture ); |
|
|
( dom.wrapper || document.querySelector( '.reveal' ) ).addEventListener( type, listener, useCapture ); |
|
|