Embedding Dynamic Reports using JavaScript
You can also use JavaScript and the Embedded Reporting object from the API to embed reports. This object has three primary methods: create, get, and remove. Remember that JavaScript is case-sensitive!
All three methods operate with the following properties:
| applicationUrl |
string
|
Required The URL of your Logi Info application.
|
| report |
string
|
Required The Logi report definition name.
|
|
autoSizing
|
string
|
Required Specifies automatic resizing of the container div to show the entire report or include scroll bars. Valid values include:"none", "height", "width", "all".
|
| heightOffset |
number |
Embedded content frame padding has been increased to 20px. This property allows you to override that value, if desired.
|
| linkParams |
array
|
A name-value collection of report parameters. Example: {"Year":"2010", "CustomerId" : 1}.
You may not use a parameter named "UserName".
|
|
secureKey |
string
|
A SecureKey value; required when using SecureKey Authentication.
|
| iframeId |
string
|
Read Only Returns the id attribute value of the iFrame element that contains the embedded report.
|
| iframe |
object
|
Read Only Returns the iFrame DOM object that contains the embedded report page
|
Using the create() and remove() Methods
1. Create a container for the report in the HTML markup:
-
<div id="reportContainer" />
2. In your JavaScript code, create array of report options:
- var options = {};
-
options.applicationUrl = "https://sampleapps.logianalytics.com/LogiApp";
-
options.report = "EmbeddedReports.DataTable";
-
options.autoSizing = "all";
- options.secureKey = "";
-
options.linkParams = {"CustomerID" : "VINET", "StartDate" : "01/01/2009" };
3. Create a report instance:
-
var report = EmbeddedReporting.create('reportContainer', options);
4. Remove the report instance:
-
EmbeddedReporting.remove('reportContainer');
Here's the JavaScript used in this page, with the onClick events for the two buttons, to create and remove the report:
- function CreateReport() {
- var options = {
-
applicationUrl : "https://sampleapps.logianalytics.com/LogiApp",
-
report : "EmbeddedReports.DataTable",
-
autoSizing : "all",
-
linkParams : { "CustomerID": "VINET", "StartDate": "01/01/1976" }
- };
-
var report = EmbeddedReporting.create('reportContainer', options);
- }
- function RemoveReport() {
-
EmbeddedReporting.remove('reportContainer');
- }
Using the get() Method
To manipulate existing reports created with the API, start by getting the report object, using its container div ID:
- var report = EmbeddedReporting.get('containerId')
Report object properties can be directly manipulated:
-
EmbeddedReporting.get('containerId').report = "SalesByMonth"
The report object also has these methods available:
| loadReport() |
Loads or refreshes an embedded report. Example: EmbeddedReporting.get('containerId').loadReport()
|
| setParam(name, value) |
Updates or inserts a parameter into the report parameters collection. Example: EmbeddedReporting.get('containerId').setParam("startDate", "01/01/2012")
|
| getParam(name) |
Returns a parameter value from the report parameters collection. Example: EmbeddedReporting.get('containerId').getParam("startDate")
|
| removeParam(name) |
Removes a parameter from the report parameters collection. Example: EmbeddedReporting.get('containerId').removeParam("startDate")
|
| removeAllParams() |
Removes all parameters from the report parameters collection. Example: EmbeddedReporting.get('containerId').removeAllParams()
|
Comments
0 comments
Please sign in to leave a comment.