fix slide numbering issue with uncounted horizontal slides (fixes #2675)

master
Hakim El Hattab 2020-06-05 11:47:29 +02:00
parent 37d8337411
commit 66cbd66fb6
4 changed files with 9 additions and 6 deletions

2
dist/reveal.esm.js vendored

File diff suppressed because one or more lines are too long

2
dist/reveal.js vendored

File diff suppressed because one or more lines are too long

View File

@ -72,17 +72,20 @@ export default class SlideNumber {
format = 'c'; format = 'c';
} }
// Offset the current slide number by 1 to make it 1-indexed
let horizontalOffset = slide && slide.dataset.visibility === 'uncounted' ? 0 : 1;
value = []; value = [];
switch( format ) { switch( format ) {
case 'c': case 'c':
value.push( this.Reveal.getSlidePastCount( slide ) + 1 ); value.push( this.Reveal.getSlidePastCount( slide ) + horizontalOffset );
break; break;
case 'c/t': case 'c/t':
value.push( this.Reveal.getSlidePastCount( slide ) + 1, '/', this.Reveal.getTotalSlides() ); value.push( this.Reveal.getSlidePastCount( slide ) + horizontalOffset, '/', this.Reveal.getTotalSlides() );
break; break;
default: default:
let indices = this.Reveal.getIndices( slide ); let indices = this.Reveal.getIndices( slide );
value.push( indices.h + 1 ); value.push( indices.h + horizontalOffset );
let sep = format === 'h/v' ? '/' : '.'; let sep = format === 'h/v' ? '/' : '.';
if( this.Reveal.isVerticalSlide( slide ) ) value.push( sep, indices.v + 1 ); if( this.Reveal.isVerticalSlide( slide ) ) value.push( sep, indices.v + 1 );
} }

View File

@ -1793,7 +1793,7 @@ export default function( revealElement, options ) {
// Don't count the wrapping section for vertical slides and // Don't count the wrapping section for vertical slides and
// slides marked as uncounted // slides marked as uncounted
if( horizontalSlide.classList.contains( 'stack' ) === false && !horizontalSlide.dataset.visibility !== 'uncounted' ) { if( horizontalSlide.classList.contains( 'stack' ) === false && horizontalSlide.dataset.visibility !== 'uncounted' ) {
pastCount++; pastCount++;
} }