Notes: Weakly enforce a minimum allocated pacing time per slide
When using the totalTime-based pacing calculation, a presenter may inadvertently set totalTime and per-slide data-timing attributes in such a way that the pacing time for some slides is impossibly low or even negative. Add a check to ensure that the pacing on a slide never falls below a configurable minimum, defaulting to 0. Display an alert if the pacing for any slide(s) falls below the threshold.
This commit is contained in:
parent
078ba62050
commit
23c12d7332
@ -346,6 +346,13 @@ Reveal.initialize({
|
|||||||
// instead of using the defaultTiming value
|
// instead of using the defaultTiming value
|
||||||
totalTime: 0,
|
totalTime: 0,
|
||||||
|
|
||||||
|
// Specify the minimum amount of time you want to allot to
|
||||||
|
// each slide, if using the totalTime calculation method. If
|
||||||
|
// the automated time allocation causes slide pacing to fall
|
||||||
|
// below this threshold, then you will see an alert in the
|
||||||
|
// speaker notes window
|
||||||
|
minimumTimePerSlide: 0;
|
||||||
|
|
||||||
// Enable slide navigation via mouse wheel
|
// Enable slide navigation via mouse wheel
|
||||||
mouseWheel: false,
|
mouseWheel: false,
|
||||||
|
|
||||||
|
@ -540,6 +540,7 @@
|
|||||||
callRevealApi( 'getSlidesAttributes', [], function ( slideAttributes ) {
|
callRevealApi( 'getSlidesAttributes', [], function ( slideAttributes ) {
|
||||||
callRevealApi( 'getConfig', [], function ( config ) {
|
callRevealApi( 'getConfig', [], function ( config ) {
|
||||||
var totalTime = config.totalTime;
|
var totalTime = config.totalTime;
|
||||||
|
var minTimePerSlide = config.minimumTimePerSlide || 0;
|
||||||
var defaultTiming = config.defaultTiming;
|
var defaultTiming = config.defaultTiming;
|
||||||
if ((defaultTiming == null) && (totalTime == null)) {
|
if ((defaultTiming == null) && (totalTime == null)) {
|
||||||
callback(null);
|
callback(null);
|
||||||
@ -574,6 +575,11 @@
|
|||||||
// And now we replace every zero-value timing with that average
|
// And now we replace every zero-value timing with that average
|
||||||
timings = timings.map( function(x) { return (x==0 ? timePerSlide : x) } );
|
timings = timings.map( function(x) { return (x==0 ? timePerSlide : x) } );
|
||||||
}
|
}
|
||||||
|
var slidesUnderMinimum = timings.filter( function(x) { return (x < minTimePerSlide) } ).length
|
||||||
|
if ( slidesUnderMinimum ) {
|
||||||
|
message = "The pacing time for " + slidesUnderMinimum + " slide(s) is under the configured minimum of " + minTimePerSlide + " seconds. Check the data-timing attribute on individual slides, or consider increasing the totalTime or minimumTimePerSlide configuration options (or removing some slides).";
|
||||||
|
alert(message);
|
||||||
|
}
|
||||||
callback( timings );
|
callback( timings );
|
||||||
} );
|
} );
|
||||||
} );
|
} );
|
||||||
|
Loading…
Reference in New Issue
Block a user