Skip to main content
Participant
January 29, 2016
Question

Can you assign Hide TOC On Enter to all Master slides?

  • January 29, 2016
  • 2 replies
  • 408 views

I currently developing a Captivate template for my company and the default TOC model is overlay. I want to make it that once they navigate to a new slide it causes the TOC to hide. I can manually configure each slide to do this manually but I am trying to find a way that any slide created from the master slide deck will have this setting configured already. Thoughts?

This topic has been closed for replies.

2 replies

Lilybiri
Legend
January 29, 2016

Maybe better use the JS script posted above, because it is not possible to assign an action On Enter for a Master slide.

All depends how you create the 'template' because I see a lot of confusion between 'theme' and 'template'. It is pretty easy to assign 'Hide TOC' to the On Enter event of all slides: just select all slides in the Filmstrip with CTRL-A and assign the action Hide TOC to the On Enter event. If template means that the users always have to use copies of slides with placeholders, that will do the trick.

Participant
January 29, 2016

Thanks lilybiri,

Unfortunately my template uses a slide deck of master slides and not just a bunch staged in the filmstrip view. I'll most likely just add the instructions to the above to the content creation guidelines. Just trying to remove as many obstacles as possible for my users.

TLCMediaDesign
Inspiring
January 29, 2016

I do this with the common JS Interface.You can put this in a JS file or in the head of the html page. If html enclose in <script></script> tags.

var interfaceObj, eventEmitterObj;

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

function initializeEventListeners()
{
if ( interfaceObj )
{
     if ( eventEmitterObj )
  {
         eventEmitterObj.addEventListener( "CPAPI_SLIDEENTER", function( e )
   {
    window.cpAPIInterface.setVariableValue( "cpCmndTOCVisible", 0 );  
            });
  }
}
}

Participant
January 29, 2016

Is there a way to embed that into the template so that any person who creates a project from the source template will have that automatically applied? Sorry if that's a dense question but I have no experience manipulating jsfiles with my captivate projects.

Lilybiri
Legend
January 29, 2016

Elaborate. Why NOT a template? All of the items you mention above we have incorporated into our template file (*.cptl). I chose the template file because I could create a single source file for them to create content from and not have to attempt to distribute theme files across the network. It also seemed like an easier way to insure they had the latest revision when we change something.

Since you brought it up what method do you recommend versus what we are doing?


You talk only about master slide! That is why I tell you don't need a template at all.  The advantage of a template over a theme is that the resolution is fixed, that you have placeholders in slides to be copied, that you integrate variables and advanced actions, that you populate Project Info etc. The biggest issue with a template is that you always have to start a file by using the template. You can never apply a template after creation of a file. That is perfectly possible with a theme. From your explanation, you create only a theme, and I really hope you are saving that theme and the used theme colors palette as well. Maybe I miss something, but only a bunch of master slides (you don't even mention the theme colors palette, nor the object styles which should be created before the master slides, nor the skin) is a theme for me, not a template.

Template is useful IMO if you have a lot of files that are part of the same course: I would fill it with placeholders, which means 'template slide' (not master slides), with variables, fill in the Project info etc. If you talk only about master slides, template file is not necessary at all.