Skip to main content
elearningbuilder11
Inspiring
November 24, 2017
Question

Slide reload?

  • November 24, 2017
  • 2 replies
  • 571 views

How do I have a slide change to its original state when re-visited?

Is there a 'reload slide' command, option or feature in CP2017?

This topic has been closed for replies.

2 replies

TLCMediaDesign
Inspiring
November 27, 2017

I do it with JavaScript. You would need to put the following JavaScript in an external JS file and include it in the head of the index.html.

var interfaceObj, eventEmitterObj, slideEnterData, slideNum,visibleArray = [ ];

window.addEventListener( 'moduleReadyEvent', function ( e )
{
interfaceObj = e.Data;
eventEmitterObj = interfaceObj.getEventEmitter();
initializeEventListeners();
});

function initializeEventListeners()

if ( interfaceObj )
{
  if ( eventEmitterObj )
  {     
   eventEmitterObj.addEventListener( 'CPAPI_SLIDEENTER', function ( e )
   {        
    slideEnterData = e.Data;
    slideNum = window.cpInfoCurrentSlide;
    resetSlide();
   });
  
  }
}
}

function resetSlide()
{
if ( typeof visibleArray[ slideNum - 1 ] === 'undefined' || visibleArray[ slideNum - 1 ] === null )
{
  var tempArray = [ ];

  for ( var i = 0; i < slideEnterData.si.length; i++ )
  {
   tempArray[ i ] = cp.model.data[ slideEnterData.si[ i ].n + 'c' ].visible;
  
   if ( tempArray[ i ] === true || tempArray[ i ] === false )
   {
    tempArray[ i ] = 0;
   }
  }
   
  visibleArray[ slideNum - 1 ] = tempArray;
}
else
{
  for ( var i = 0; i < visibleArray[ slideNum - 1 ].length; i++ )
  {
   if ( visibleArray[ slideNum - 1 ][ i ] == 0 )
   { 
    if ( typeof slideEnterData.si[ i ] == 'object' )
    {
     if ( slideEnterData.si[ i ].hasOwnProperty( 'n' ) )
     {      
      cp.hide( slideEnterData.si[ i ].n );
     }
    }
   }
   else
   {
    if ( typeof slideEnterData.si[ i ] == 'object' )
    {
     if ( slideEnterData.si[ i ].hasOwnProperty( 'n'  ) )
     {
      cp.show( slideEnterData.si[ i ].n );
     }
    }
   }
  }
}
}

Lilybiri
Legend
November 24, 2017

No, you have to take care ofthat, for which you use an advanced action On Enter. Exceptions are the Knowledge check slides, including D&D setup as KC. They will automatically be reset when you leave the slide.

Quiz slides, including the D&D slides set up as quiz slides, will be reset when the learner starts a new attempt on Quiz elvel using the Retake button on the results slide.

All other slides can be reset, but you'll have to create an advanced action for it. I have plenty of examples on my blog.