support for custom slide number formatting #965

This commit is contained in:
Hakim El Hattab
2015-01-16 13:48:13 +01:00
parent 817bb3bf43
commit 5fb81b1b3c
2 changed files with 28 additions and 5 deletions

View File

@ -2331,19 +2331,33 @@
/**
* Updates the slide number div to reflect the current slide.
*
* Slide number format can be defined as a string using the
* following variables:
* h: current slide's horizontal index
* v: current slide's vertical index
* c: current slide index (flattened)
* t: total number of slides (flattened)
*/
function updateSlideNumber() {
// Update slide number if enabled
if( config.slideNumber && dom.slideNumber) {
// Display the number of the page using 'indexh - indexv' format
var indexString = indexh;
if( indexv > 0 ) {
indexString += ' - ' + indexv;
// Default to only showing the current slide number
var format = 'c';
// Check if a custom slide number format is available
if( typeof config.slideNumber === 'string' ) {
format = config.slideNumber;
}
dom.slideNumber.innerHTML = indexString;
var totalSlides = getTotalSlides();
dom.slideNumber.innerHTML = format.replace( /h/g, indexh )
.replace( /v/g, indexv )
.replace( /c/g, Math.round( getProgress() * totalSlides ) + 1 )
.replace( /t/g, totalSlides + 1 );
}
}