sisense.com

SisenseDash

An object representing a Sisense dashboard.

Properties

NameTypeDescription
datasourceDatasourceContains an object representing the dashboard's primary data source.
idstringContains the full dashboard ID.
refreshingbooleanTrue when the dashboard is currently refreshing, or false when it is not.
widgetsobjectA collection of the widget objects currently loaded to memory for a the dashboard
$$modelDashboardThe internal dashboard instance - same as the dashboard object in a dash script

Constructor

new Dashboard()

A blank dashboard object can be created and added to the application, into which various widgets may be loaded.

Doing this will not create an actual dashboard in Sisense - only a temporary object to host widgets on your application.

Example

// Create a blank dashboard object
var myEmptyDashboard = new Dashboard();
// Add dashboard to application
app.dashboards.add(myEmptyDashboard);

Filters and Blank Dashboards

By default, a "blank" dashboard as described above does not have a data source associated with it, and as such cannot support dashboard filters.
This makes it impossible to render the filters panel correctly.

To use dashboard filters and/or the filters panel with a "blank" dashboard, initialize it with a datasource and an empty widget array:

// You can get a list of available datasources via GET /api/datasources
var datasource = {
    "title": "Sample Healthcare",
    "address": "localHost",
    "fullname": "LocalHost/Sample Healthcare"
};
// Create a blank dashboard object that supports filters
var myEmptyDashboard = new Dashboard({ datasource: datasource, widgets: [] });

Methods

refresh

dash.refresh()

Refresh a dashboard to apply recent changes. Use this method to render the widgets in a dashboard once their containers are set.

Arguments

N/A

Returns

N/A

Example

dash.refresh();

renderFilters

dash.renderFilters(container)

Renders the dashboard filters panel into a DIV container.

After you have loaded a dashboard, you can load its filters UI using this method.
Note: A dashboard object can only contain filters if it's datasource property is set. When loading existing dashboards, they are always loaded with a datasource. When creating a new object, you must set it yourself.

Arguments

NameTypeRequiredDescriptionExample
containerDOMElement<DIV>YesA DIV element to render todocument.getElementById("filters")

Returns

N/A

Example

dash.renderFilters(document.getElementById("filters"));

renderSimplyAsk L8.2.1

dash.renderSimplyAsk(container)

Renders the SimplyAsk NLQ UI into a container DOM element.

Limitations

  • The renderSimplyAsk and popSimplyAsk methods cannot be used concurrently on the same page
  • When using this method, the SimplyAsk UI will not display the "Available Fields" button

Arguments

NameTypeRequiredDescription
containerDOMElementYesA DOM element to render into

Returns

N/A

Example

Sisense.connect('https://example.com/').then(function (app) {
    app.dashboards.load('5e9edfedf52f45002d5a6844').then(function (dashboard) {
        dashboard.renderSimplyAsk(document.getElementById("simplyAskContainer"));
    });
});

popSimplyAsk L8.2.1

dash.popSimplyAsk([options])

Opens the SimplyAsk NLQ popup as a modal dialog.

Limitations

  • The renderSimplyAsk and popSimplyAsk methods cannot be used concurrently on the same page

Arguments

NameTypeRequiredDescription
optionsobjectNoConfiguration for the NLQ popup
options.containerClassstringNoA CSS class name that will be added to NLQ container

Returns

N/A

Example

// With a container CSS class
Sisense.connect('https://example.com/').then(function (app) {
    app.dashboards.load('5e9edfedf52f45002d5a6844').then(function (dashboard) {
        dashboard.popSimplyAsk({containerClass: 'custom-class-name'});
    });
});

// Without any options
Sisense.connect('https://example.com/').then(function (app) {
    app.dashboards.load('5e9edfedf52f45002d5a6844').then(function (dashboard) {
        dashboard.popSimplyAsk();
    });
});

on

on(event, callback)

Registers dashboard events. For more information, see the Dashboard API reference.

Arguments

NameTypeRequiredDescriptionExample
eventstringyesA string value of the event name.'initialized'
callbackfunctionyesThe callback function to execute when the event is triggered.

Returns

N/A

Example

dash.on('initialized', () => {
    console.log('dashboard initialized');
});

widgets.get

dash.widgets.get(widgetId) → SisenseWidget

Get a widget object from the dashboard by OID, when the widget is already loaded (such as widgets belonging to the dashboard or those loaded with the widgets.load method)

Arguments

NameTypeRequiredDescriptionExample
widgetIdstringYesOID of the widget to get'574603d5fc726c3430000037'

Returns

A SisenseWidget object.

Example

var myWidget = dash.widgets.get('5746043ffc726c3430000043');

widgets.load

dash.widgets.load(widgetId) → Promise<SisenseWidget>

Load a widget by OID. Used to load widgets that aren't already in the dashboard object, such as when using a blank dashboard object.

Arguments

NameTypeRequiredDescriptionExample
widgetIdstringYesOID of the widget to load'574603d5fc726c3430000037'

Returns

A Promise that resolves to a SisenseWidget once the widget has been loaded.

Example

dash.widgets.load('574603d5fc726c3430000037').then(function(widget) {
    // your code here
});
Last Updated: