From cc8dda39fc4e6a875ffdbe9f7614d434375fa29b Mon Sep 17 00:00:00 2001 From: schneefux Date: Sat, 2 Apr 2016 17:12:01 +0200 Subject: first impress-ions; add error vis --- dep/impress.js | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) (limited to 'dep') diff --git a/dep/impress.js b/dep/impress.js index 2529e26..8115af1 100644 --- a/dep/impress.js +++ b/dep/impress.js @@ -553,15 +553,33 @@ var prev = steps.indexOf( activeStep ) - 1; prev = prev >= 0 ? steps[ prev ] : steps[ steps.length-1 ]; + // when backing through a slide, clear its inner steps + $$('.innerStep.stepped', activeStep).forEach( function (elem) { + elem.classList.remove('stepped'); + }); + return goto(prev); }; + var inner = { + next: function () { + var innerNext = activeStep.querySelector('.innerStep:not(.stepped)'); + innerNext.classList.add('stepped'); + } + }; + // `next` API function goes to next step (in document order) var next = function () { - var next = steps.indexOf( activeStep ) + 1; - next = next < steps.length ? steps[ next ] : steps[ 0 ]; - - return goto(next); + // if there are unshown inner steps, show next one instead of next slide + if(activeStep.querySelectorAll('.innerStep:not(.stepped)').length) { + inner.next(); + triggerEvent(activeStep, "impress:innerstep"); + } else { + var next = steps.indexOf( activeStep ) + 1; + next = next < steps.length ? steps[ next ] : steps[ 0 ]; + + return goto(next); + } }; // Adding some useful classes to step elements. -- cgit v1.3.1