Embed Explo dashboards through an iFrame
The HTML Inline Frame element (<iframe>
) represents a nested browsing context, embedding another HTML page into the current one. You can read more about iFrames here.
Since the web component is an HTML element, you can use it in any context:
Directly in an HTML file
Define it in vanilla JS
Any JS web framework: React, Vue, Angular, etc
The iFrame is powered by an Explo URL that will need to be constructed.
https://app.explo.co/iframe/<jwt>/<environment>
https://app.explo.co/iframe/<dashboard_id>/<customer_token>/<environment>
All strings must be quoted with double quotes "".
Attribute Name | Type | Description |
---|---|---|
jwt (recommended) | string | This is the embed secret (JWT) for the dashboard. We recommend you use this attribute instead of the dashboard_id and customer_token . Read more about embed secrets here. |
dashboard_id | string | This is the dashboard embed id that you retrieve from the Explo application. |
customer_token | string | The customer_token is the token you use to identify the customer that is viewing the dashboard. This is retrieved via the Customer API. |
environment | string | The environment name (such as production or staging) that you would like to embed. If no environment is provided, the most recent saved version will be rendered. |
refresh-minutes | number | The cadence on which you want the dashboard to automatically refresh data. (Optional) |
locale_code | string | An optional argument that overrides any localization settings for your team. This will localize your dashboard’s numbers, currencies, and dates to the desired locale, if supported. |
currency_code | string | An optional argument that overrides any currency localization settings for your team. This will localize your dashboard’s currency symbols and format to the desired locale, if supported. |
timezone | string | An optional argument that allows you to specify a timezone to display dates in. Valid values can be found here. |
disable-editable-section-editing | boolean | An optional argument that disables your user from editing the editable section at the bottom of the dashboard if enabled. |
hide-editable-section | boolean | An optional argument that hides the editable section if enabled. |
hide-editable-section-edit-controls | boolean | An optional argument that hides the editable section edit controls (toggling editing mode, saving/ discarding changes). Recommended only if using JS events. |
theme | string | This is the name of the theme you created in the custom styles tab |
id | string | An optional argument that allows you to uniquely identify this dashboard if you have multiple on the same page. Used in Custom JS Events |
Embed the iFrame below into your web application. The iFrame is backward-compatible with the previous Dashboard Customer Token syntax, but we recommend using the Embed Secret (JWT) syntax. Read more about embed secrets here.
You can see how to do that here.
You can hide elements on your dashboard by passing a hide parameter into the url of your embed like so:
You can set the following values on date range picker elements:
To set any of these values, you can pass in a variable for the date range picker element in the URL query in one of two formats
As a JSON object:
As properties on the date range picker element variable:
You are also able to pass events to the Explo iFrame without reloading the entire dashboard. Below is an example of passing a hide element event to an iFrame component. See here for more information on Custom JS Events.
To turn on copy-paste (Ctrl+C & Ctrl+V) for data table cells, you need to add an additional prop to the iFrame. You need to add allow="clipboard-write"
, like this: