add get/setState methods for persisting and restoring presentation state
This commit is contained in:
parent
4cd1dd1a1f
commit
714102c3f8
2 changed files with 45 additions and 7 deletions
46
js/reveal.js
46
js/reveal.js
|
@ -1430,13 +1430,13 @@ var Reveal = (function(){
|
||||||
/**
|
/**
|
||||||
* Toggles the paused mode on and off.
|
* Toggles the paused mode on and off.
|
||||||
*/
|
*/
|
||||||
function togglePause() {
|
function togglePause( override ) {
|
||||||
|
|
||||||
if( isPaused() ) {
|
if( typeof override === 'boolean' ) {
|
||||||
resume();
|
override ? pause() : resume();
|
||||||
}
|
}
|
||||||
else {
|
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
|
* Return a sorted fragments list, ordered by an increasing
|
||||||
* "data-fragment-index" attribute.
|
* "data-fragment-index" attribute.
|
||||||
|
@ -3345,6 +3379,10 @@ var Reveal = (function(){
|
||||||
addEventListeners: addEventListeners,
|
addEventListeners: addEventListeners,
|
||||||
removeEventListeners: removeEventListeners,
|
removeEventListeners: removeEventListeners,
|
||||||
|
|
||||||
|
// Facility for persisting and restoring the presentation state
|
||||||
|
getState: getState,
|
||||||
|
setState: setState,
|
||||||
|
|
||||||
// Returns the indices of the current, or specified, slide
|
// Returns the indices of the current, or specified, slide
|
||||||
getIndices: getIndices,
|
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
Loading…
Reference in a new issue