function goToStep(s, force) {
  if (!isPaused) toggleStartPause(true);

  if (s === 0) {
    /* If step 1 running go back to step one begin*/
    if (width < 100 - meeting.getSequence(1).durationPercent && !force) {
      stepStart = meeting.getSequence(s).durationPercent;
      s = step;
      /* Else refresh to the begining */
    } else {
      stepStart = 0;
    }
  } else {
    if (step < s) {
      stepStart += meeting.getSequence(step).durationPercent;
    } else {
      /* If step not finished, refresh it instead of going back */
      if (width !== 100 - stepStart) {
        s = step;
      } else {
        stepStart -= meeting.getSequence(step - 1).durationPercent;
      }
    }
  }

  step = s;
  width = 100 - stepStart;
  bar.style.width = width + "%";
  updateRemainingTime(width);

  if (meeting.getSequence(step)) {
    setSubTitle(meeting.getSequence(step).title);

    if (meeting.getSequence(step).extra) {
      setExtra(meeting.getSequence(step).extra);
    } else {
      setExtra();
    }
  }
}
/**
 * Move the progress bar current time to a new defined sequence
 *
 * @param {number} s
 * @param {boolean} force
 */
Move the progress bar current time to a new defined sequence
@param {number} s
@param {boolean} force
Move the progress bar current time to a new defined sequence @param { number } s @param { boolean } force
function goToStep(s, force) {
  if (!isPaused) toggleStartPause(true);
  if (s === 0) {
    if (width < 100 - meeting.getSequence(1).durationPercent && !force) {
      stepStart = meeting.getSequence(s).durationPercent;
      s = step;
    } else {
      stepStart = 0;
    }
  } else {
    if (step < s) {
      stepStart += meeting.getSequence(step).durationPercent;
    } else {
      if (width !== 100 - stepStart) {
        s = step;
      } else {
        stepStart -= meeting.getSequence(step - 1).durationPercent;
      }
    }
  }
  step = s;
  width = 100 - stepStart;
  bar.style.width = width + "%";
  updateRemainingTime(width);
  if (meeting.getSequence(step)) {
    setSubTitle(meeting.getSequence(step).title);
    if (meeting.getSequence(step).extra) {
      setExtra(meeting.getSequence(step).extra);
    } else {
      setExtra();
    }
  }
}
function goToStep ( s , force ) { if ( ! isPaused ) toggleStartPause ( true ) ; if ( s === 0 ) { if ( width < 100 - meeting . getSequence ( 1 ) . durationPercent && ! force ) { stepStart = meeting . getSequence ( s ) . durationPercent ; s = step ; } else { stepStart = 0 ; } } else { if ( step < s ) { stepStart += meeting . getSequence ( step ) . durationPercent ; } else { if ( width !== 100 - stepStart ) { s = step ; } else { stepStart -= meeting . getSequence ( step - 1 ) . durationPercent ; } } } step = s ; width = 100 - stepStart ; bar . style . width = width + "%" ; updateRemainingTime ( width ) ; if ( meeting . getSequence ( step ) ) { setSubTitle ( meeting . getSequence ( step ) . title ) ; if ( meeting . getSequence ( step ) . extra ) { setExtra ( meeting . getSequence ( step ) . extra ) ; } else { setExtra ( ) ; } } }
Move the progress bar current time to a new defined sequence
 @param {number} s
 @param {boolean} force
Move the progress bar current time to a new defined sequence @param { number } s @param { boolean } force
/* If step 1 running go back to step one begin*/ /* Else refresh to the begining */ /* If step not finished, refresh it instead of going back */