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

Base API Reference

This API will only be available on pages that have the included the “JsAPI/v3” JS file into their page. See example:

<script src="https://pathToYourYellowfinServer/JsAPI/v3"></script>

This API will not be available in Dashboard Code Mode. 


The Base API contains a number of functions to assist with loading the Yellowfin APIs in your own web page. There are functions to load the report and dashboard loader APIs which will allow you to load Dashboard and Reports.

There is also a function to assist with session management. 


init()

Returns

Promise

Description

Initialises the Base API. This is called when the API is included into a page. Returns a promise to indicate when this has finished loading, any usage of the API should wait until this promise has resolved.

Example 

Include the Yellowfin Report API on the page and then load a report after the init() promise has resolved:

<script src="https://pathToYourYellowfinServer/JsAPI/v3"></script>
<div id="reportDiv"></div>
<script>
yellowfin.init().then(() => {
          //The Yellowfin base API has now loaded. Now load a report
          yellowfin.loadReport({
                    reportId: 'c83357db-8aef-4ec7-ab72-fce34de9ee77',
                    element: document.querySelector('div#reportDiv'),
           });

});
</script>

logoff()

Returns

Nothing

Description

Ends the current user session.



loadReport(reportOptions)

Returns

Promise

Description

Waits for the init() promise to load and then loads a report with the passed options. Once the report has been loaded it will be appended to the passed element and the report will begin to run. 

When the promise is resolved a Report object will be passed to the .then() functions. The promise will be resolved just before the report starts running. 


There are a number of options that will be accepted as part of the options object:

reportId - required

Type: String

ReportUUID of the report we wish to load. This is the PublishUUID on the ReportHeader table.

element - required

Type: DOM Element, Selector String

Element that you wish to render the report into. Can either be a DOM element or a selector that will be used to select the element from the page.

If no width or height is passed the report will expand to the dimensions of the element.

width

Type: Number

Width to render the report in pixels.

height

Type: Number

Height to render the report in pixels.

filterValues

Type: Array[Object]

Array of Objects that will be used to apply the initial filter values. 

See the FiltersAPI to understand the filter values.

The objects should contain the following information:

  • filterId - UUID or Name of the filter you wish to set.
  • valueOne - The first value of the filter.
  • valueTwo - The second value of the filter, only has an affect on Between and Not Between filter types.
  • valueList - Array of values to apply to a list filter.

[{ //Set a between filter
         filterId: '1c1e0878-3bd6-402b-bad8-98202e6b8fb1',
         valueOne: 15,
         valueTwo: 35
}]


instanceName

Type: String

Identifier for this instance of the report. If this property is not defined, a random id will be generated. This means that if you include the same report multiple times without defining an instance name, it will always be a separate instance of that report. 

If you do set this, it allows you to load multiple views of the same instance of the report.

//Load the report into two different elements
yellowfin.loadReport({
         reportId:'9617ada1-28bc-42ef-9c3f-8b40d3d1ae61',
         element: document.querySelector('div#firstReport'),
         instanceName: 'firstReport'
});

yellowfin.loadReport({
         reportId:'9617ada1-28bc-42ef-9c3f-8b40d3d1ae61',
         element: document.querySelector('div#secondReport'),
         instanceName: 'firstReport'
});


showToolbar

Type: Boolean

Determines whether or not to show the reports toolbar. 

//Load the report with showToolbar not defined
yellowfin.loadReport({
         reportId:'9617ada1-28bc-42ef-9c3f-8b40d3d1ae61',
         element: document.querySelector('div#reportDiv');
});
//Load the report with showToolbar set to true
yellowfin.loadReport({
         reportId: '9617ada1-28bc-42ef-9c3f-8b40d3d1ae61',
         element: document.querySelector('div#reportDiv'),
         showToolbar: true
});


Or set the showToolbar property to false:

//Load the report with showToolbar set to false
yellowfin.loadReport({
    reportId: '9617ada1-28bc-42ef-9c3f-8b40d3d1ae61',
    element: document.querySelector('div#reportDiv'),
    showToolbar: false
});


showTitle

Type: Boolean

Determines whether or not to show the report title in the report’s toolbar. Default: true.

If the showTitle option is set to false:

//Load the report with showTitle option set to false
yellowfin.loadReport({
         reportId: '9617ada1-28bc-42ef-9c3f-8b40d3d1ae61',
         element: document.querySelector('div#reportDiv'),
         showTitle: false
});

showInfo

Type: Boolean

Determines whether or not to show the info option in the report’s toolbar. Default: true

If this option is set to false:

//Load the report with showInfo option set to false
yellowfin.loadReport({
         reportId: '9617ada1-28bc-42ef-9c3f-8b40d3d1ae61',
         element: document.querySelector('div#reportDiv'),
         showInfo: false
});


showFilter

Type: Boolean

Determines whether or not to show the filters option in the reports toolbar. Default is true.

If this option is set to false:

//Load the report with showFilter option set to false
yellowfin.loadReport({
         reportId: '9617ada1-28bc-42ef-9c3f-8b40d3d1ae61',
         element: document.querySelector('div#reportDiv'),
         showFilter: false
});

 
showExport

Type: Boolean

Determine whether or not the export option will be displayed in the report toolbar. Export options allow a report to be exported to an external file format such as csv, xls, pdf, txt and doc.

With the showExport parameter set to false, the export icon in the toolbar will be removed:

//Load the report with showExport option set to false
yellowfin.loadReport({
         reportId: '9617ada1-28bc-42ef-9c3f-8b40d3d1ae61',
         element: document.querySelector('div#reportDiv'),
         showExport: false
});


showShare

Type: Boolean

Determines whether or not to show the share option in the reports toolbar. Default is true.

//Load the report with showShare option set to false
yellowfin.loadReport({
         reportId: '9617ada1-28bc-42ef-9c3f-8b40d3d1ae61',
         element: document.querySelector('div#reportDiv'),
         showShare: false
});


showDisplayToggle

Type: Boolean

Determines whether or not to show the reports chart/table options in the reports toolbar. Default is true.

If this option is set to false:

//Load the report with this option set to false
yellowfin.loadReport({
         reportId: '9617ada1-28bc-42ef-9c3f-8b40d3d1ae61',
         element: document.querySelector('div#reportDiv'),
         showReportDisplayToggle: false
});


Example

Load the report and then print its name:

yellowfin.loadReport({
          reportId: aReportId,
         element: elementToRenderTo
}).then(report => {

          //Some code to execute when the report has loaded

          console.log(report.name + ‘ has finished loading’);
});





loadDashboard(dashboardOptions)

Returns

Promise

Description

Waits for the init() promise to load and then loads a dashboard with the passed options. Once the dashboard has been loaded it will be appended to the passed element and the content on the dashboard will begin to run. 

There are a number of parameters that can be included in the dashboardOptions object:

dashboardUUID - required

Type: String

The PublishUUID of the dashboard that you wish to load. 


element - required

Type: DOM Element, Selector String

Element that you wish to render the dashboard into. Can either be a DOM element or a selector that will be used to select the first instance of that selector from the page.

If no width or height is passed the dashboard will fill the dimensions of the element.


filterValues

Type: Array[Object]

Array of Objects that will be used to apply the dashboards initial filter values. 

See the FiltersAPI to understand the filter values

The objects should contain the following information:

  • filterId - UUID or Name of the filter you wish to set.
  • valueOne - The first value of the filter.
  • valueTwo - The second value of the filter, only has an affect on Between and Not Between filter types.
  • valueList - Array of values to apply to a list filter.

[{ //Set a between filter
         filterId: '1c1e0878-3bd6-402b-bad8-98202e6b8fb1',
         valueOne: 15,
         valueTwo: 35
}]


showToolbar

Type: Boolean

Determines whether or not to show the dashboard’s toolbar. Default is true.

//Load the dashboard with showToolbar not defined
yellowfin.loadDashboard({
         reportId:'1e68d9cc-fa5a-44e2-816d-782aa40ceeae',
         element: document.querySelector('div#dashboardDiv');
});
//Load the dashboard with showToolbar set to true
yellowfin.loadDashboard({
         reportId: '1e68d9cc-fa5a-44e2-816d-782aa40ceeae',
         element: document.querySelector('div#dashboardDiv'),
         showToolbar: true
});

The following is a dashboard with the toolbar showing:

But if the showToolbar property is set to false:

//Load the dashboard with showToolbar set to false
yellowfin.loadDashboard({
         reportId: '1e68d9cc-fa5a-44e2-816d-782aa40ceeae',
         element: document.querySelector('div#dashboardDiv'),
         showToolbar: false
});



showInfo

Type: Boolean

Determines whether or not to show the info option in the dashboard’s toolbar. Default: true.

If set to false:

//Load the dashboard with showInfo option set to false
yellowfin.loadDashboard({
         reportId: '1e68d9cc-fa5a-44e2-816d-782aa40ceeae',
         element: document.querySelector('div#dashboardDiv'),
         showInfo: false
});


showShare

Type: Boolean

Determines whether or not to display the share option in the dashboard’s toolbar. Default is true.

If set to false:

//Load the dashboard with showShare option set to false
yellowfin.loadDashboard({
         reportId: '1e68d9cc-fa5a-44e2-816d-782aa40ceeae',
         element: document.querySelector('div#dashboardDiv'),
         showShare: false
});


showFilters

Type: Boolean

Determines whether or not to show the filters option in the dashboard’s toolbar. Default is true.

If set to false:

//Load the dashboard with showFilter option set to false
yellowfin.loadDashboard({
         reportId: '1e68d9cc-fa5a-44e2-816d-782aa40ceeae',
         element: document.querySelector('div#dashboardDiv'),
         showFilter: false
});

 
scaleCanvasTabs

Type: Boolean

Determines whether or not a canvas tab should be scaled. Default is true.

If this is set to false, then the canvas tab will appear at the exact size it was created. This setting has no effect on sub-tabs which don’t contain canvas tabs. 

//Load the dashboard with scaleCanvasTabs option set to false
yellowfin.loadDashboard({
          reportId: '1e68d9cc-fa5a-44e2-816d-782aa40ceeae',
          element: document.querySelector('div#dashboardDiv'),
          scaleCanvasTabs: false
});


showGlobalContentContainer

Determines whether or not to show the global content containers when rendering the  dashboard. 

//Load the dashboard with showGlobalContentContainer option set to false
yellowfin.loadDashboard({
         reportId: '1e68d9cc-fa5a-44e2-816d-782aa40ceeae',
         element: document.querySelector('div#dashboardDiv'),
         showGlobalContentContainer: false
});










  • No labels