Like what you see? Have a play with our trial version.

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Dashboard
    • Sub Tabs
      • SubTab Entities (Reports, Canvas, etc.)
    • Global Content Entities (Filter Panels)
    • Filters API

Sub Tabs, Reports and Filters all have a number of their own properties that can be seen in the reference guides for those areas.

...

A Filter Panel is what the end-user sees. This uses the FilterObjects within the FilterAPI to generate what is displayed to the user.

Within the Yellowfin version 9.2 API it It is not possible to manipulate Filter Panels , without using DOM manipulation. However developers can manipulate the filters within those panels through the FiltersAPI.

...

Loads a report within the context of the dashboard. Resolves the promise and passes a Report object as the parameter, but does not automatically display it.

If the reportUUID/entityUUID combination has already been loaded for this dashboard, the promise will resolve immediately with the relevant Report object.

If the report has been set up as part of this dashboard and had filter linking and interaction linking applied, it will automatically have those links applied to it. 

...

  • ReportId - (String) The ReportUUID or PublishUUID of the report you wish to load. 
  • EntityUUID - The uniqueId unique ID for this instance of the report.

...

//Get sub tab by Id
let subTab = dashboard.getSubTab(123456);
//Get subTab by name
let subTab = dashboard.getSubTab('Campaign Summary');

getSubTabFilters(SubTab)

Returns

Object - {String, FilterObject}

Description

Returns an Object that contains all of the user prompt filters for the SubTab that is passed to the function. This object is keyed by Filter UUID. 

Notes/Limitations

This function is useful for observing which filters are available for a given SubTab. If you are looking for a specific filter it is recommended using filters.getFilter(filterId) rather than getAllFilters()[uuid] as getFilters can accept a UUID or a name. If you wish to iterate over all filters, we recommend using filters.forEach(fn) instead.

nextSubTab()

Returns

Nothing

Description

Changes the Dashboard’s current tab to the next one by order. From a user perspective this would move the tab to the right of the current tab.

...

setInterval(function() {
         dashboard.nextSubTab();
}, 10000);

previousSubTab()

Returns

Nothing

Description

Changes the Dashboard’s current tab to the previous one by order. From a user perspective this would move the tab to the left of the current tab.

...

findSubTabOrder(subTabId)

Returns

Number

Description

Returns the position of the sub tab. If there is no matching sub tab, null will be returned. Sort indexing starts at 0.

...

let subTabPosition = dashboard.findSubTabOrder(123456);

moveToTab(subTabId)

Returns

Nothing

Description

Changes the dashboard's current sub tab to the sub tab that matches the passed ID. If a name is passed, it will attempt to convert that to a matching ID. If there is no matching tab, then nothing will happen.

...

moveToTabAtPosition(position)

Returns

Nothing

Description

Change the dashboard's current sub tab to the sub tab at the matching position. If there is no matching tab, then nothing will happen. If the subTabPosition isn’t within the possible range (i.e. the number of sub tabs on the dashboard), nothing will happen.

...

dashboard.moveToTabAtPosition(dashboard.getSubtabs().length - 1);

hasFilters()

Returns

Boolean

Description

Returns true if the dashboard has any user prompt filters enabled. Otherwise returns false.

...

let hasFilters = dashboard.hasFilters();
if(hasFilters) {
         console.log("this dashboard has modifiable filters");
}

refresh()

Returns

Nothing

Description

Re-runs all of the reports on the dashboard. This will force all of the reports to fetch new datasets from the server.

...

dashboard.refresh();

resetDashboard()

Returns

Nothing

Description

Resets all of the reports on the dashboards to their default state, as well as resetting all of the filters to their default value.

...

Only reports that are on the current tab will be re-run.

goToReport(reportUUID) 

Returns

Nothing

Description

Navigates the browser to the report output page associated with the passed reportUUID. If the report can’t be found then the user will be shown a “Report Can’t be Found page” message.

...

This will only function when being used within Dashboard Code Mode.

getEmbedURL()

Returns

String

Description

Gets the embed URL for the dashboard exactly as it stands now. The URL will include any applied filters or bookmarks.

This differs from the property externalApiUrl as that only includes the link to the dashboard in its base state (i.e. without any filter or bookmark references). 

getSubTabs()

Returns

Array[SubTab]

Description

Returns all of the sub tabs associated with the Dashboard in an ordered array. 

...

let subTabs = dashboard.getSubTabs();
subTabs.forEach(subTab => {
         console.log(subTab.name + " : " + subTab.uuid);
});

getAllReports()

Returns 

Array[Object]

Description

Returns an array of objects containing a Report's UUID, the EntityUUID it has been assigned on the dashboard, as well as the sub tab it has been placed on. 

...

let reportToFind = 'af67e527-81d3-47fc-81ce-dfc506a61dd2';
let dashboardReports = dashboard.getAllReports();
let dashboardReport= dashboardReports.find(reportInfo => {
          return reportInfo.reportUUID ===  reportToFind;
});

if(dashboardReport) {
         //We found that report now we can load the report object. If the report has already been loaded by the dashboard this will just give us that version of the report
        dashboard.loadReport({
                reportId: reportInfo.reportUUID,
                entityUUID: reportInfo.entityUUID
        }).then(report => {
                //Now we've fetched the report.
        });
}

forEach(fn) 

Returns

Nothing

Description 

Iterates over all of the sub tabs that are included on the dashboard in order. The function will be passed a SubTab object on each iteration.

...

Event Reference

tabChanged

Description

Triggered whenever the current sub tab or slide is changed. 

...