add get/setState methods for persisting and restoring presentation state
This commit is contained in:
		
							
								
								
									
										46
									
								
								js/reveal.js
									
									
									
									
									
								
							
							
						
						
									
										46
									
								
								js/reveal.js
									
									
									
									
									
								
							@@ -1430,13 +1430,13 @@ var Reveal = (function(){
 | 
			
		||||
	/**
 | 
			
		||||
	 * Toggles the paused mode on and off.
 | 
			
		||||
	 */
 | 
			
		||||
	function togglePause() {
 | 
			
		||||
	function togglePause( override ) {
 | 
			
		||||
 | 
			
		||||
		if( isPaused() ) {
 | 
			
		||||
			resume();
 | 
			
		||||
		if( typeof override === 'boolean' ) {
 | 
			
		||||
			override ? pause() : resume();
 | 
			
		||||
		}
 | 
			
		||||
		else {
 | 
			
		||||
			pause();
 | 
			
		||||
			isPaused() ? resume() : pause();
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
@@ -2325,6 +2325,40 @@ var Reveal = (function(){
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Retrieves the current state of the presentation as
 | 
			
		||||
	 * an object. This state can then be restored at any
 | 
			
		||||
	 * time.
 | 
			
		||||
	 */
 | 
			
		||||
	function getState() {
 | 
			
		||||
 | 
			
		||||
		var indices = getIndices();
 | 
			
		||||
 | 
			
		||||
		return {
 | 
			
		||||
			indexh: indices.h,
 | 
			
		||||
			indexv: indices.v,
 | 
			
		||||
			indexf: indices.f,
 | 
			
		||||
			paused: isPaused(),
 | 
			
		||||
			overview: isOverview()
 | 
			
		||||
		};
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Restores the presentation to the given state.
 | 
			
		||||
	 *
 | 
			
		||||
	 * @param {Object} state As generated by getState()
 | 
			
		||||
	 */
 | 
			
		||||
	function setState( state ) {
 | 
			
		||||
 | 
			
		||||
		if( typeof state === 'object' ) {
 | 
			
		||||
			slide( state.indexh, state.indexv, state.indexf );
 | 
			
		||||
			togglePause( state.paused );
 | 
			
		||||
			toggleOverview( state.overview );
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Return a sorted fragments list, ordered by an increasing
 | 
			
		||||
	 * "data-fragment-index" attribute.
 | 
			
		||||
@@ -3345,6 +3379,10 @@ var Reveal = (function(){
 | 
			
		||||
		addEventListeners: addEventListeners,
 | 
			
		||||
		removeEventListeners: removeEventListeners,
 | 
			
		||||
 | 
			
		||||
		// Facility for persisting and restoring the presentation state
 | 
			
		||||
		getState: getState,
 | 
			
		||||
		setState: setState,
 | 
			
		||||
 | 
			
		||||
		// Returns the indices of the current, or specified, slide
 | 
			
		||||
		getIndices: getIndices,
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								js/reveal.min.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								js/reveal.min.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
		Reference in New Issue
	
	Block a user