Initializing help system before first use

Executing a Scenario

You can execute individual scenarios using the JS API.

There are two ways to do this: from a scenario object you have loaded via a ScenarioObserver or from the view object, passing in a scenario id. In both cases you can specify the execution mode to submit the job with, this defaults to RUN. Both methods submit the execution job asynchronously and return a Promise object which resolves when the job has been successfully submitted or gets rejected if the job could not be queued.

The following is an example of executing a scenario directly from the scenario object. It uses a custom execution mode named FAST_MODE:
insight.getView().withFirstScenario()
        .withSummaryData()
        .notify(function (scenario) {
            scenario.execute('FAST_MODE')
                    .then(function () {
                        console.log('scenario successfully queued');
                    })
                    .catch(function () {
                        console.error('scenario failed to queue')
                    })
        })
     .start();
The next example executes a scenario from outside of a ScenarioObserver. First it looks up the id of the first scenario in the selection. Then it uses that together with the custom execution mode name, FAST_MODE:
var view = insight.getView();
view.getScenarioProperties(0)
        .then(function (props) {
            return props.getId();
        })
        .then(function (scenarioId) {
            return view.executeScenario(scenarioId, 'FAST_MODE');
        })
        .then(function () {
            console.log('scenario successfully queued');
        })
        .catch(function (error) {
            console.error('scenario failed to queue');
        });