clean up trailing whitespace (closes #197)

This commit is contained in:
Hakim El Hattab 2012-10-20 21:05:14 -04:00
parent c6f8a44edf
commit 8bdeb360ce
3 changed files with 115 additions and 115 deletions

View file

@ -2,17 +2,17 @@
* reveal.js 2.1 r35 * reveal.js 2.1 r35
* http://lab.hakim.se/reveal-js * http://lab.hakim.se/reveal-js
* MIT licensed * MIT licensed
* *
* Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se
*/ */
var Reveal = (function(){ var Reveal = (function(){
'use strict'; 'use strict';
var HORIZONTAL_SLIDES_SELECTOR = '.reveal .slides>section', var HORIZONTAL_SLIDES_SELECTOR = '.reveal .slides>section',
VERTICAL_SLIDES_SELECTOR = '.reveal .slides>section.present>section', VERTICAL_SLIDES_SELECTOR = '.reveal .slides>section.present>section',
// 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
controls: true, controls: true,
@ -32,7 +32,7 @@ var Reveal = (function(){
// Loop the presentation // Loop the presentation
loop: false, loop: false,
// Number of milliseconds between automatically proceeding to the // Number of milliseconds between automatically proceeding to the
// next slide, disabled when set to 0, this value can be overwritten // next slide, disabled when set to 0, this value can be overwritten
// by using a data-autoslide attribute on your slides // by using a data-autoslide attribute on your slides
autoSlide: 0, autoSlide: 0,
@ -44,7 +44,7 @@ var Reveal = (function(){
rollingLinks: true, rollingLinks: true,
// Transition style (see /css/theme) // Transition style (see /css/theme)
theme: null, theme: null,
// Transition style // Transition style
transition: 'default', // default/cube/page/concave/zoom/linear/none transition: 'default', // default/cube/page/concave/zoom/linear/none
@ -65,8 +65,8 @@ var Reveal = (function(){
previousSlide, previousSlide,
currentSlide, 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.
state = [], state = [],
@ -79,13 +79,13 @@ var Reveal = (function(){
'msPerspective' in document.body.style || 'msPerspective' in document.body.style ||
'OPerspective' in document.body.style || 'OPerspective' in document.body.style ||
'perspective' in document.body.style, 'perspective' in document.body.style,
supports2DTransforms = 'WebkitTransform' in document.body.style || supports2DTransforms = 'WebkitTransform' in document.body.style ||
'MozTransform' in document.body.style || 'MozTransform' in document.body.style ||
'msTransform' in document.body.style || 'msTransform' in document.body.style ||
'OTransform' in document.body.style || 'OTransform' in document.body.style ||
'transform' in document.body.style, 'transform' in document.body.style,
// Throttles mouse wheel navigation // Throttles mouse wheel navigation
mouseWheelTimeout = 0, mouseWheelTimeout = 0,
@ -104,7 +104,7 @@ var Reveal = (function(){
handled: false, handled: false,
threshold: 80 threshold: 80
}; };
/** /**
* Starts up the presentation if the client is capable. * Starts up the presentation if the client is capable.
*/ */
@ -112,7 +112,7 @@ var Reveal = (function(){
if( ( !supports2DTransforms && !supports3DTransforms ) ) { if( ( !supports2DTransforms && !supports3DTransforms ) ) {
document.body.setAttribute( 'class', 'no-transforms' ); document.body.setAttribute( 'class', 'no-transforms' );
// If the browser doesn't support core features we won't be // If the browser doesn't support core features we won't be
// using JavaScript to control the presentation // using JavaScript to control the presentation
return; return;
} }
@ -125,12 +125,12 @@ var Reveal = (function(){
// Loads the dependencies and continues to #start() once done // Loads the dependencies and continues to #start() once done
load(); load();
} }
/** /**
* Finds and stores references to DOM elements which are * Finds and stores references to DOM elements which are
* required by the presentation. If a required element is * required by the presentation. If a required element is
* not found, it is created. * not found, it is created.
*/ */
function setupDOM() { function setupDOM() {
@ -200,10 +200,10 @@ var Reveal = (function(){
} }
/** /**
* Loads the dependencies of reveal.js. Dependencies are * Loads the dependencies of reveal.js. Dependencies are
* defined via the configuration option 'dependencies' * defined via the configuration option 'dependencies'
* and will be loaded prior to starting/binding reveal.js. * and will be loaded prior to starting/binding reveal.js.
* Some dependencies may have an 'async' flag, if so they * Some dependencies may have an 'async' flag, if so they
* will load after reveal.js has been started up. * will load after reveal.js has been started up.
*/ */
function load() { function load() {
@ -233,7 +233,7 @@ var Reveal = (function(){
function proceed() { function proceed() {
// Load asynchronous scripts // Load asynchronous scripts
head.js.apply( null, scriptsAsync ); head.js.apply( null, scriptsAsync );
start(); start();
} }
@ -249,13 +249,13 @@ var Reveal = (function(){
} }
/** /**
* Starts up reveal.js by binding input events and navigating * Starts up reveal.js by binding input events and navigating
* to the current URL deeplink if there is one. * to the current URL deeplink if there is one.
*/ */
function start() { function start() {
// Make sure we've got all the DOM elements we need // Make sure we've got all the DOM elements we need
setupDOM(); setupDOM();
// Subscribe to input // Subscribe to input
addEventListeners(); addEventListeners();
@ -340,7 +340,7 @@ var Reveal = (function(){
dom.controlsLeft.addEventListener( 'click', preventAndForward( navigateLeft ), false ); dom.controlsLeft.addEventListener( 'click', preventAndForward( navigateLeft ), false );
dom.controlsRight.addEventListener( 'click', preventAndForward( navigateRight ), false ); dom.controlsRight.addEventListener( 'click', preventAndForward( navigateRight ), false );
dom.controlsUp.addEventListener( 'click', preventAndForward( navigateUp ), false ); dom.controlsUp.addEventListener( 'click', preventAndForward( navigateUp ), false );
dom.controlsDown.addEventListener( 'click', preventAndForward( navigateDown ), false ); dom.controlsDown.addEventListener( 'click', preventAndForward( navigateDown ), false );
} }
} }
@ -357,7 +357,7 @@ var Reveal = (function(){
if ( config.progress && dom.progress ) { if ( config.progress && dom.progress ) {
dom.progress.removeEventListener( 'click', preventAndForward( onProgressClick ), false ); dom.progress.removeEventListener( 'click', preventAndForward( onProgressClick ), false );
} }
if ( config.controls && dom.controls ) { if ( config.controls && dom.controls ) {
dom.controlsLeft.removeEventListener( 'click', preventAndForward( navigateLeft ), false ); dom.controlsLeft.removeEventListener( 'click', preventAndForward( navigateLeft ), false );
dom.controlsRight.removeEventListener( 'click', preventAndForward( navigateRight ), false ); dom.controlsRight.removeEventListener( 'click', preventAndForward( navigateRight ), false );
@ -367,7 +367,7 @@ var Reveal = (function(){
} }
/** /**
* Extend object a with the properties of object b. * Extend object a with the properties of object b.
* If there's a conflict, object b takes precedence. * If there's a conflict, object b takes precedence.
*/ */
function extend( a, b ) { function extend( a, b ) {
@ -378,8 +378,8 @@ var Reveal = (function(){
/** /**
* Measures the distance in pixels between point a * Measures the distance in pixels between point a
* and point b. * and point b.
* *
* @param {Object} a point with x/y properties * @param {Object} a point with x/y properties
* @param {Object} b point with x/y properties * @param {Object} b point with x/y properties
*/ */
@ -391,10 +391,10 @@ var Reveal = (function(){
} }
/** /**
* Prevents an events defaults behavior calls the * Prevents an events defaults behavior calls the
* specified delegate. * specified delegate.
* *
* @param {Function} delegate The method to call * @param {Function} delegate The method to call
* after the wrapper has been executed * after the wrapper has been executed
*/ */
function preventAndForward( delegate ) { function preventAndForward( delegate ) {
@ -405,7 +405,7 @@ var Reveal = (function(){
} }
/** /**
* Causes the address bar to hide on mobile devices, * Causes the address bar to hide on mobile devices,
* more vertical space ftw. * more vertical space ftw.
*/ */
function removeAddressBar() { function removeAddressBar() {
@ -415,7 +415,7 @@ var Reveal = (function(){
} }
/** /**
* Dispatches an event of the specified type from the * Dispatches an event of the specified type from the
* reveal DOM element. * reveal DOM element.
*/ */
function dispatchEvent( type, properties ) { function dispatchEvent( type, properties ) {
@ -434,7 +434,7 @@ var Reveal = (function(){
for( var i = 0, len = nodes.length; i < len; i++ ) { for( var i = 0, len = nodes.length; i < len; i++ ) {
var node = nodes[i]; var node = nodes[i];
if( node.textContent && !node.querySelector( 'img' ) && ( !node.className || !node.classList.contains( node, 'roll' ) ) ) { if( node.textContent && !node.querySelector( 'img' ) && ( !node.className || !node.classList.contains( node, 'roll' ) ) ) {
node.classList.add( 'roll' ); node.classList.add( 'roll' );
node.innerHTML = '<span data-title="'+ node.text +'">' + node.innerHTML + '</span>'; node.innerHTML = '<span data-title="'+ node.text +'">' + node.innerHTML + '</span>';
@ -444,17 +444,17 @@ var Reveal = (function(){
} }
/** /**
* Displays the overview of slides (quick nav) by * Displays the overview of slides (quick nav) by
* scaling down and arranging all slide elements. * scaling down and arranging all slide elements.
* *
* Experimental feature, might be dropped if perf * Experimental feature, might be dropped if perf
* can't be improved. * can't be improved.
*/ */
function activateOverview() { function activateOverview() {
// Only proceed if enabled in config // Only proceed if enabled in config
if( config.overview ) { if( config.overview ) {
dom.wrapper.classList.add( 'overview' ); dom.wrapper.classList.add( 'overview' );
var horizontalSlides = document.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ); var horizontalSlides = document.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR );
@ -462,7 +462,7 @@ var Reveal = (function(){
for( var i = 0, len1 = horizontalSlides.length; i < len1; i++ ) { for( var i = 0, len1 = horizontalSlides.length; i < len1; i++ ) {
var hslide = horizontalSlides[i], var hslide = horizontalSlides[i],
htransform = 'translateZ(-2500px) translate(' + ( ( i - indexh ) * 105 ) + '%, 0%)'; htransform = 'translateZ(-2500px) translate(' + ( ( i - indexh ) * 105 ) + '%, 0%)';
hslide.setAttribute( 'data-index-h', i ); hslide.setAttribute( 'data-index-h', i );
hslide.style.display = 'block'; hslide.style.display = 'block';
hslide.style.WebkitTransform = htransform; hslide.style.WebkitTransform = htransform;
@ -470,12 +470,12 @@ var Reveal = (function(){
hslide.style.msTransform = htransform; hslide.style.msTransform = htransform;
hslide.style.OTransform = htransform; hslide.style.OTransform = htransform;
hslide.style.transform = htransform; hslide.style.transform = htransform;
if( !hslide.classList.contains( 'stack' ) ) { if( !hslide.classList.contains( 'stack' ) ) {
// Navigate to this slide on click // Navigate to this slide on click
hslide.addEventListener( 'click', onOverviewSlideClicked, true ); hslide.addEventListener( 'click', onOverviewSlideClicked, true );
} }
var verticalSlides = hslide.querySelectorAll( 'section' ); var verticalSlides = hslide.querySelectorAll( 'section' );
for( var j = 0, len2 = verticalSlides.length; j < len2; j++ ) { for( var j = 0, len2 = verticalSlides.length; j < len2; j++ ) {
@ -494,19 +494,19 @@ var Reveal = (function(){
// Navigate to this slide on click // Navigate to this slide on click
vslide.addEventListener( 'click', onOverviewSlideClicked, true ); vslide.addEventListener( 'click', onOverviewSlideClicked, true );
} }
} }
} }
} }
/** /**
* Exits the slide overview and enters the currently * Exits the slide overview and enters the currently
* active slide. * active slide.
*/ */
function deactivateOverview() { function deactivateOverview() {
// Only proceed if enabled in config // Only proceed if enabled in config
if( config.overview ) { if( config.overview ) {
@ -529,15 +529,15 @@ var Reveal = (function(){
} }
slide(); slide();
} }
} }
/** /**
* Toggles the slide overview mode on and off. * Toggles the slide overview mode on and off.
* *
* @param {Boolean} override Optional flag which overrides the * @param {Boolean} override Optional flag which overrides the
* toggle logic and forcibly sets the desired state. True means * toggle logic and forcibly sets the desired state. True means
* overview is open, false means it's closed. * overview is open, false means it's closed.
*/ */
function toggleOverview( override ) { function toggleOverview( override ) {
@ -551,7 +551,7 @@ var Reveal = (function(){
/** /**
* Checks if the overview is currently active. * Checks if the overview is currently active.
* *
* @return {Boolean} true if the overview is active, * @return {Boolean} true if the overview is active,
* false otherwise * false otherwise
*/ */
@ -561,26 +561,26 @@ var Reveal = (function(){
/** /**
* Handling the fullscreen functionality via the fullscreen API * Handling the fullscreen functionality via the fullscreen API
* *
* @see http://fullscreen.spec.whatwg.org/ * @see http://fullscreen.spec.whatwg.org/
* @see https://developer.mozilla.org/en-US/docs/DOM/Using_fullscreen_mode * @see https://developer.mozilla.org/en-US/docs/DOM/Using_fullscreen_mode
*/ */
function enterFullscreen() { function enterFullscreen() {
var element = document.body; var element = document.body;
// Check which implementation is available // Check which implementation is available
var requestMethod = element.requestFullScreen || var requestMethod = element.requestFullScreen ||
element.webkitRequestFullScreen || element.webkitRequestFullScreen ||
element.mozRequestFullScreen || element.mozRequestFullScreen ||
element.msRequestFullScreen; element.msRequestFullScreen;
if( requestMethod ) { if( requestMethod ) {
requestMethod.apply( element ); requestMethod.apply( element );
} }
} }
/** /**
* Enters the paused mode which fades everything on screen to * Enters the paused mode which fades everything on screen to
* black. * black.
*/ */
function pause() { function pause() {
@ -612,11 +612,11 @@ var Reveal = (function(){
function isPaused() { function isPaused() {
return dom.wrapper.classList.contains( 'paused' ); return dom.wrapper.classList.contains( 'paused' );
} }
/** /**
* Steps from the current point in the presentation to the * Steps from the current point in the presentation to the
* slide which matches the specified horizontal and vertical * slide which matches the specified horizontal and vertical
* indices. * indices.
* *
* @param {int} h Horizontal index of the target slide * @param {int} h Horizontal index of the target slide
* @param {int} v Vertical index of the target slide * @param {int} v Vertical index of the target slide
@ -640,7 +640,7 @@ var Reveal = (function(){
// Apply the new state // Apply the new state
stateLoop: for( var i = 0, len = state.length; i < len; i++ ) { stateLoop: for( var i = 0, len = state.length; i < len; i++ ) {
// Check if this state existed on the previous slide. If it // Check if this state existed on the previous slide. If it
// did, we will avoid adding it repeatedly. // did, we will avoid adding it repeatedly.
for( var j = 0; j < stateBefore.length; j++ ) { for( var j = 0; j < stateBefore.length; j++ ) {
if( stateBefore[j] === state[i] ) { if( stateBefore[j] === state[i] ) {
@ -671,7 +671,7 @@ var Reveal = (function(){
} }
updateControls(); updateControls();
// Update the URL hash after a delay since updating it mid-transition // Update the URL hash after a delay since updating it mid-transition
// is likely to cause visual lag // is likely to cause visual lag
clearTimeout( writeURLTimeout ); clearTimeout( writeURLTimeout );
@ -691,7 +691,7 @@ var Reveal = (function(){
// Dispatch an event if the slide changed // Dispatch an event if the slide changed
if( indexh !== indexhBefore || indexv !== indexvBefore ) { if( indexh !== indexhBefore || indexv !== indexvBefore ) {
dispatchEvent( 'slidechanged', { dispatchEvent( 'slidechanged', {
'indexh': indexh, 'indexh': indexh,
'indexv': indexv, 'indexv': indexv,
'previousSlide': previousSlide, 'previousSlide': previousSlide,
'currentSlide': currentSlide 'currentSlide': currentSlide
@ -702,8 +702,8 @@ var Reveal = (function(){
previousSlide = null; previousSlide = null;
} }
// Solves an edge case where the previous slide maintains the // Solves an edge case where the previous slide maintains the
// 'present' class when navigating between adjacent vertical // 'present' class when navigating between adjacent vertical
// stacks // stacks
if( previousSlide ) { if( previousSlide ) {
previousSlide.classList.remove( 'present' ); previousSlide.classList.remove( 'present' );
@ -713,14 +713,14 @@ var Reveal = (function(){
/** /**
* Updates one dimension of slides by showing the slide * Updates one dimension of slides by showing the slide
* with the specified index. * with the specified index.
* *
* @param {String} selector A CSS selector that will fetch * @param {String} selector A CSS selector that will fetch
* the group of slides we are working with * the group of slides we are working with
* @param {Number} index The index of the slide that should be * @param {Number} index The index of the slide that should be
* shown * shown
* *
* @return {Number} The index of the slide that is now shown, * @return {Number} The index of the slide that is now shown,
* might differ from the passed in index if it was out of * might differ from the passed in index if it was out of
* bounds. * bounds.
*/ */
function updateSlides( selector, index ) { function updateSlides( selector, index ) {
@ -728,7 +728,7 @@ var Reveal = (function(){
// an array // an array
var slides = Array.prototype.slice.call( document.querySelectorAll( selector ) ), var slides = Array.prototype.slice.call( document.querySelectorAll( selector ) ),
slidesLength = slides.length; slidesLength = slides.length;
if( slidesLength ) { if( slidesLength ) {
// Should the index loop? // Should the index loop?
@ -739,14 +739,14 @@ var Reveal = (function(){
index = slidesLength + index; index = slidesLength + index;
} }
} }
// Enforce max and minimum index bounds // Enforce max and minimum index bounds
index = Math.max( Math.min( index, slidesLength - 1 ), 0 ); index = Math.max( Math.min( index, slidesLength - 1 ), 0 );
for( var i = 0; i < slidesLength; i++ ) { for( var i = 0; i < slidesLength; i++ ) {
var element = slides[i]; var element = slides[i];
// Optimization; hide all slides that are three or more steps // Optimization; hide all slides that are three or more steps
// away from the present slide // away from the present slide
if( isOverviewActive() === false ) { if( isOverviewActive() === false ) {
// The distance loops so that it measures 1 between the first // The distance loops so that it measures 1 between the first
@ -785,7 +785,7 @@ var Reveal = (function(){
state = state.concat( slideState.split( ' ' ) ); state = state.concat( slideState.split( ' ' ) );
} }
// If this slide has a data-autoslide attribtue associated use this as // If this slide has a data-autoslide attribtue associated use this as
// autoSlide value otherwise use the global configured time // autoSlide value otherwise use the global configured time
var slideAutoSlide = slides[index].getAttribute( 'data-autoslide' ); var slideAutoSlide = slides[index].getAttribute( 'data-autoslide' );
if( slideAutoSlide ) { if( slideAutoSlide ) {
@ -796,13 +796,13 @@ var Reveal = (function(){
} }
else { else {
// Since there are no slides we can't be anywhere beyond the // Since there are no slides we can't be anywhere beyond the
// zeroth index // zeroth index
index = 0; index = 0;
} }
return index; return index;
} }
/** /**
@ -810,7 +810,7 @@ var Reveal = (function(){
*/ */
function updateControls() { function updateControls() {
if ( config.controls && dom.controls ) { if ( config.controls && dom.controls ) {
var routes = availableRoutes(); var routes = availableRoutes();
// Remove the 'enabled' class from all directions // Remove the 'enabled' class from all directions
@ -829,7 +829,7 @@ var Reveal = (function(){
/** /**
* Determine what available routes there are for navigation. * Determine what available routes there are for navigation.
* *
* @return {Object} containing four booleans: left/right/up/down * @return {Object} containing four booleans: left/right/up/down
*/ */
function availableRoutes() { function availableRoutes() {
@ -843,7 +843,7 @@ var Reveal = (function(){
down: indexv < verticalSlides.length - 1 down: indexv < verticalSlides.length - 1
}; };
} }
/** /**
* Reads the current URL (hash) and navigates accordingly. * Reads the current URL (hash) and navigates accordingly.
*/ */
@ -854,7 +854,7 @@ var Reveal = (function(){
var bits = hash.slice( 2 ).split( '/' ), var bits = hash.slice( 2 ).split( '/' ),
name = hash.replace( /#|\//gi, '' ); name = hash.replace( /#|\//gi, '' );
// If the first bit is invalid and there is a name we can // If the first bit is invalid and there is a name we can
// assume that this is a named link // assume that this is a named link
if( isNaN( parseInt( bits[0], 10 ) ) && name.length ) { if( isNaN( parseInt( bits[0], 10 ) ) && name.length ) {
// Find the slide with the specified name // Find the slide with the specified name
@ -878,32 +878,32 @@ var Reveal = (function(){
slide( h, v ); slide( h, v );
} }
} }
/** /**
* Updates the page URL (hash) to reflect the current * Updates the page URL (hash) to reflect the current
* state. * state.
*/ */
function writeURL() { function writeURL() {
if( config.history ) { if( config.history ) {
var url = '/'; var url = '/';
// Only include the minimum possible number of components in // Only include the minimum possible number of components in
// the URL // the URL
if( indexh > 0 || indexv > 0 ) url += indexh; if( indexh > 0 || indexv > 0 ) url += indexh;
if( indexv > 0 ) url += '/' + indexv; if( indexv > 0 ) url += '/' + indexv;
window.location.hash = url; window.location.hash = url;
} }
} }
/** /**
* Retrieves the h/v location of the current, or specified, * Retrieves the h/v location of the current, or specified,
* slide. * slide.
* *
* @param {HTMLElement} slide If specified, the returned * @param {HTMLElement} slide If specified, the returned
* index will be for this slide rather than the currently * index will be for this slide rather than the currently
* active one * active one
* *
* @return {Object} { h: <int>, v: <int> } * @return {Object} { h: <int>, v: <int> }
*/ */
function getIndices( slide ) { function getIndices( slide ) {
@ -933,7 +933,7 @@ var Reveal = (function(){
/** /**
* Navigate to the next slide fragment. * Navigate to the next slide fragment.
* *
* @return {Boolean} true if there was a next fragment, * @return {Boolean} true if there was a next fragment,
* false otherwise * false otherwise
*/ */
@ -966,7 +966,7 @@ var Reveal = (function(){
/** /**
* Navigate to the previous slide fragment. * Navigate to the previous slide fragment.
* *
* @return {Boolean} true if there was a previous fragment, * @return {Boolean} true if there was a previous fragment,
* false otherwise * false otherwise
*/ */
@ -993,7 +993,7 @@ var Reveal = (function(){
return true; return true;
} }
} }
return false; return false;
} }
@ -1008,7 +1008,7 @@ var Reveal = (function(){
autoSlideTimeout = setTimeout( navigateNext, autoSlide ); autoSlideTimeout = setTimeout( navigateNext, autoSlide );
} }
} }
function navigateLeft() { function navigateLeft() {
// Prioritize hiding fragments // Prioritize hiding fragments
if( isOverviewActive() || previousFragment() === false ) { if( isOverviewActive() || previousFragment() === false ) {
@ -1071,7 +1071,7 @@ var Reveal = (function(){
availableRoutes().down ? navigateDown() : navigateRight(); availableRoutes().down ? navigateDown() : navigateRight();
} }
// If auto-sliding is enabled we need to cue up // If auto-sliding is enabled we need to cue up
// another timeout // another timeout
cueAutoSlide(); cueAutoSlide();
} }
@ -1084,11 +1084,11 @@ var Reveal = (function(){
/** /**
* Handler for the document level 'keydown' event. * Handler for the document level 'keydown' event.
* *
* @param {Object} event * @param {Object} event
*/ */
function onDocumentKeyDown( event ) { function onDocumentKeyDown( event ) {
// Disregard the event if the target is editable or a // Disregard the event if the target is editable or a
// modifier is present // modifier is present
if ( document.querySelector( ':focus' ) !== null || event.shiftKey || event.altKey || event.ctrlKey || event.metaKey ) return; if ( document.querySelector( ':focus' ) !== null || event.shiftKey || event.altKey || event.ctrlKey || event.metaKey ) return;
@ -1096,7 +1096,7 @@ var Reveal = (function(){
switch( event.keyCode ) { switch( event.keyCode ) {
// p, page up // p, page up
case 80: case 33: navigatePrev(); break; case 80: case 33: navigatePrev(); break;
// n, page down // n, page down
case 78: case 34: navigateNext(); break; case 78: case 34: navigateNext(); break;
// h, left // h, left
@ -1123,18 +1123,18 @@ var Reveal = (function(){
triggered = false; triggered = false;
} }
// If the input resulted in a triggered action we should prevent // If the input resulted in a triggered action we should prevent
// the browsers default behavior // the browsers default behavior
if( triggered ) { if( triggered ) {
event.preventDefault(); event.preventDefault();
} }
else if ( event.keyCode === 27 && supports3DTransforms ) { else if ( event.keyCode === 27 && supports3DTransforms ) {
toggleOverview(); toggleOverview();
event.preventDefault(); event.preventDefault();
} }
// If auto-sliding is enabled we need to cue up // If auto-sliding is enabled we need to cue up
// another timeout // another timeout
cueAutoSlide(); cueAutoSlide();
@ -1149,7 +1149,7 @@ var Reveal = (function(){
touch.startY = event.touches[0].clientY; touch.startY = event.touches[0].clientY;
touch.startCount = event.touches.length; touch.startCount = event.touches.length;
// If there's two touches we need to memorize the distance // If there's two touches we need to memorize the distance
// between those two points to detect pinching // between those two points to detect pinching
if( event.touches.length === 2 && config.overview ) { if( event.touches.length === 2 && config.overview ) {
touch.startSpan = distanceBetween( { touch.startSpan = distanceBetween( {
@ -1161,7 +1161,7 @@ var Reveal = (function(){
} ); } );
} }
} }
/** /**
* Handler for the document level 'touchmove' event. * Handler for the document level 'touchmove' event.
*/ */
@ -1171,7 +1171,7 @@ var Reveal = (function(){
var currentX = event.touches[0].clientX; var currentX = event.touches[0].clientX;
var currentY = event.touches[0].clientY; var currentY = event.touches[0].clientY;
// If the touch started off with two points and still has // If the touch started off with two points and still has
// two active touches; test for the pinch gesture // two active touches; test for the pinch gesture
if( event.touches.length === 2 && touch.startCount === 2 && config.overview ) { if( event.touches.length === 2 && touch.startCount === 2 && config.overview ) {
@ -1184,7 +1184,7 @@ var Reveal = (function(){
y: touch.startY y: touch.startY
} ); } );
// If the span is larger than the desire amount we've got // If the span is larger than the desire amount we've got
// ourselves a pinch // ourselves a pinch
if( Math.abs( touch.startSpan - currentSpan ) > touch.threshold ) { if( Math.abs( touch.startSpan - currentSpan ) > touch.threshold ) {
touch.handled = true; touch.handled = true;
@ -1209,15 +1209,15 @@ var Reveal = (function(){
if( deltaX > touch.threshold && Math.abs( deltaX ) > Math.abs( deltaY ) ) { if( deltaX > touch.threshold && Math.abs( deltaX ) > Math.abs( deltaY ) ) {
touch.handled = true; touch.handled = true;
navigateLeft(); navigateLeft();
} }
else if( deltaX < -touch.threshold && Math.abs( deltaX ) > Math.abs( deltaY ) ) { else if( deltaX < -touch.threshold && Math.abs( deltaX ) > Math.abs( deltaY ) ) {
touch.handled = true; touch.handled = true;
navigateRight(); navigateRight();
} }
else if( deltaY > touch.threshold ) { else if( deltaY > touch.threshold ) {
touch.handled = true; touch.handled = true;
navigateUp(); navigateUp();
} }
else if( deltaY < -touch.threshold ) { else if( deltaY < -touch.threshold ) {
touch.handled = true; touch.handled = true;
navigateDown(); navigateDown();
@ -1227,7 +1227,7 @@ var Reveal = (function(){
} }
} }
// There's a bug with swiping on some Android devices unless // There's a bug with swiping on some Android devices unless
// the default action is always prevented // the default action is always prevented
else if( navigator.userAgent.match( /android/gi ) ) { else if( navigator.userAgent.match( /android/gi ) ) {
event.preventDefault(); event.preventDefault();
@ -1242,7 +1242,7 @@ var Reveal = (function(){
} }
/** /**
* Handles mouse wheel scrolling, throttled to avoid skipping * Handles mouse wheel scrolling, throttled to avoid skipping
* multiple slides. * multiple slides.
*/ */
function onDocumentMouseScroll( event ){ function onDocumentMouseScroll( event ){
@ -1260,7 +1260,7 @@ var Reveal = (function(){
} }
/** /**
* Clicking on the progress bar results in a navigation to the * Clicking on the progress bar results in a navigation to the
* closest approximate horizontal slide using this equation: * closest approximate horizontal slide using this equation:
* *
* ( clickX / presentationWidth ) * numberOfSlides * ( clickX / presentationWidth ) * numberOfSlides
@ -1271,10 +1271,10 @@ var Reveal = (function(){
slide( slideIndex ); slide( slideIndex );
} }
/** /**
* Handler for the window level 'hashchange' event. * Handler for the window level 'hashchange' event.
* *
* @param {Object} event * @param {Object} event
*/ */
function onWindowHashChange( event ) { function onWindowHashChange( event ) {
@ -1285,7 +1285,7 @@ var Reveal = (function(){
* Invoked when a slide is and we're in the overview. * Invoked when a slide is and we're in the overview.
*/ */
function onOverviewSlideClicked( event ) { function onOverviewSlideClicked( event ) {
// TODO There's a bug here where the event listeners are not // TODO There's a bug here where the event listeners are not
// removed after deactivating the overview. // removed after deactivating the overview.
if( isOverviewActive() ) { if( isOverviewActive() ) {
event.preventDefault(); event.preventDefault();
@ -1299,7 +1299,7 @@ var Reveal = (function(){
} }
} }
// --------------------------------------------------------------------// // --------------------------------------------------------------------//
// ------------------------------- API --------------------------------// // ------------------------------- API --------------------------------//
// --------------------------------------------------------------------// // --------------------------------------------------------------------//
@ -1307,7 +1307,7 @@ var Reveal = (function(){
return { return {
initialize: initialize, initialize: initialize,
// Navigation methods // Navigation methods
slide: slide, slide: slide,
left: navigateLeft, left: navigateLeft,
@ -1369,5 +1369,5 @@ var Reveal = (function(){
} }
} }
}; };
})(); })();

2
js/reveal.min.js vendored
View file

@ -2,7 +2,7 @@
* reveal.js 2.1 r35 * reveal.js 2.1 r35
* http://lab.hakim.se/reveal-js * http://lab.hakim.se/reveal-js
* MIT licensed * MIT licensed
* *
* Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se
*/ */
var Reveal=(function(){var l=".reveal .slides>section",b=".reveal .slides>section.present>section",R={controls:true,progress:true,history:false,keyboard:true,overview:true,loop:false,autoSlide:0,mouseWheel:true,rollingLinks:true,theme:null,transition:"default",dependencies:[]},Y=R.autoSlide,m=0,e=0,y,G,ak=[],f={},T="WebkitPerspective" in document.body.style||"MozPerspective" in document.body.style||"msPerspective" in document.body.style||"OPerspective" in document.body.style||"perspective" in document.body.style,n="WebkitTransform" in document.body.style||"MozTransform" in document.body.style||"msTransform" in document.body.style||"OTransform" in document.body.style||"transform" in document.body.style,z=0,k=0,D=0,ac={startX:0,startY:0,startSpan:0,startCount:0,handled:false,threshold:80}; var Reveal=(function(){var l=".reveal .slides>section",b=".reveal .slides>section.present>section",R={controls:true,progress:true,history:false,keyboard:true,overview:true,loop:false,autoSlide:0,mouseWheel:true,rollingLinks:true,theme:null,transition:"default",dependencies:[]},Y=R.autoSlide,m=0,e=0,y,G,ak=[],f={},T="WebkitPerspective" in document.body.style||"MozPerspective" in document.body.style||"msPerspective" in document.body.style||"OPerspective" in document.body.style||"perspective" in document.body.style,n="WebkitTransform" in document.body.style||"MozTransform" in document.body.style||"msTransform" in document.body.style||"OTransform" in document.body.style||"transform" in document.body.style,z=0,k=0,D=0,ac={startX:0,startY:0,startSpan:0,startCount:0,handled:false,threshold:80};

View file

@ -39,7 +39,7 @@ var RevealNotes = (function() {
notesPopup.postMessage( JSON.stringify( slideData ), '*' ); notesPopup.postMessage( JSON.stringify( slideData ), '*' );
} }
// The main presentation is kept in sync when navigating the // The main presentation is kept in sync when navigating the
// note slides so that the popup may be used as a remote // note slides so that the popup may be used as a remote
window.addEventListener( 'message', function( event ) { window.addEventListener( 'message', function( event ) {
var data = JSON.parse( event.data ); var data = JSON.parse( event.data );
@ -60,7 +60,7 @@ var RevealNotes = (function() {
// Open the notes when the 's' key is hit // Open the notes when the 's' key is hit
document.addEventListener( 'keydown', function( event ) { document.addEventListener( 'keydown', function( event ) {
// Disregard the event if the target is editable or a // Disregard the event if the target is editable or a
// modifier is present // modifier is present
if ( document.querySelector( ':focus' ) !== null || event.shiftKey || event.altKey || event.ctrlKey || event.metaKey ) return; if ( document.querySelector( ':focus' ) !== null || event.shiftKey || event.altKey || event.ctrlKey || event.metaKey ) return;