You can set callbacks for Inline Manual Player either via options or via method setCallbacks().


For example:


inline_manual_player.setCallbacks({
  onStepShow: function (player, topic_id, step_id) {
    console.log('Step was displayed.');
  }
});

You can use these callbacks:


onInit

arguments: player_instance


Called when Player object is initialised.


onDestroy

arguments: player_instance


Called when Player object is destroyed.


onTopicStart

arguments: player_instance, topic_id


Called when Topic is started.


onTopicPrevious

arguments: player_instance, topic_id, step_id


Called when the previous step within the topic is requested.


Note that the requested step may not actually exist (e.g. calling the previous step when the first step is active).

onTopicNext

arguments: player_instance, topic_id, step_id


Called when next step within the topic is requested.


Note that the requested step may not actually exist (e.g. calling next step when the last step is active).

onTopicEnd

arguments: player_instance, topic_id


Called when the topic is ended.


This may be because the user ended it, or because another topic was started.

onStepActivate

arguments: player_instance, topic_id, step_id


Called when the step is activated.


Note that the step may actually not be displayed, for example, because it is delayed, or it is waiting for the condition to be fulfilled.

onStepShow

arguments: player_instance, topic_id, step_id


Called when step's popover is actually displayed.


onRedirect

arguments: player_instance, url, target, done


This callback is called when Player attempts to redirect or open a new window. It can be used to intercept and cancel or modify the redirect request.


done callback expects two parameters - url and target


Example:


// always add GET parameter with timestamp to URL of the redirect
inline_manual_player.setCallbacks({
  onRedirect: function (player, url, target, done) {
    url += '?timestamp=' + (new Date).getTime()
    done(url, target);
  }
});

// only execute the redirect if user confirms the dialog
inline_manual_player.setCallbacks({
  onRedirect: function (player, url, target, done) {
    if (confirm('Do you really want to redirect to ' + url + '?')) {
      done(url, target);
    }
  }
});

onProfileLoad

arguments: player_instance, profile_data


This callback is called when Player successfully loads profile data from the server. It will not be called if request for profile data results in an error.