Bi-directional Interaction
  • 19 Jul 2022
  • 2 Minutes to read
  • Dark

Bi-directional Interaction

  • Dark

In some instances, you may want to have bi-directional interaction between the container/host application and the widgets or dashboards embedded within it.
For example, you might have existing widgets and controllers in your application, and you would like to pass information as a filter or change a widget’s look & feel from existing controls, or you may want to receive information from Sisense widgets - for example, when the widget finishes loading or when a user clicks on specific data points.
For this type of two-way interaction, you will require knowledge of the Sisense widget javascript API and its different events. You can hook into different events via EmbedSDK and the SisenseJS API and apply the required logic.

Custom Filter Elements

You can create a custom filtering UI on your page in order to slice the data that is presented within the embedded Sisense widget or dashboard.
If the Sisense filters UI is not aligned with your site’s look & feel, you can develop custom filter elements and pass the selected filters to Sisense.
This will require web development knowledge and Sisense JAQL knowledge.
Developers will need to develop their own UI elements for filtering (such as: calendar pickers, list selectors, etc.), populate them with available fields and values from Sisense, and implement the logic to generate valid JAQL from the values selected by the user in these components. Once you select the desired filters, they are applied to the dashboard or widget via the EmbedSDK or SisenseJS API, or via the iFrame URL.


There are times when you may want to export widgets and/or the entire dashboard.
To export widgets, you must implement controls to invoke the Sisense REST API; SisenseJS does not offer exporting controllers via the native API. The developer must develop a controller and invoke the Sisense REST API export request to allow exporting.
EmbedSDK and IFrame show the widget header, which you can use to export assets.
Exporting a dashboard with SisenseJS - To export a custom page that was created by the customer, you must implement your own exporting; since it is a custom page, Sisense does not have a way to export it.
If the customer wants to export the underlying data, this can be done via the REST API. This requires that the customer add controls.

Editing Capabilities

If you are embedding Sisense using Embed SDK, and to some extent in regular iFrames, you can choose to provide users with the ability to edit, create widgets, bookmark widgets, etc.
To make use of this, the OEM/Sisense customer or Partner implementing an embedded Sisense-based solution requires knowledge of the Sisense REST API and the javascript API - specifically, the Embed SDK API.

Was this article helpful?