The dashboard viewer notifies your application about what the user does — loading, exporting and more — through events handled in Angular, backed by this controller.

Initialize the viewer with event routing.
[HttpPost]
public IActionResult InitViewer()
{
    var requestParams = StiAngularViewer.GetRequestParams(this);
    var options = new StiAngularViewerOptions();
    options.Actions.GetReport = "GetReport";
    options.Actions.ViewerEvent = "ViewerEvent";
    options.Appearance.ScrollbarsMode = true;
    return StiAngularViewer.ViewerDataResult(requestParams, options);
}

public IActionResult ViewerEvent()
{
    return StiAngularViewer.ViewerEventResult(this);
}

How it works. Viewer events flow to both the Angular component and this action, so your app can react to user actions on the client, the server, or both.