BackPrevious Page Next PageNext

Embedding JReport with JavaScript APIs

Integrating JavaScript APIs into your environment

Running the JavaScript API demos

Specifying parameter values

Using Single Sign On

With the JavaScript APIs provided by JReport, you can successfully embed page reports, web reports and dashboards into your own application and then perform actions outside the report template without using Page Report Studio, Web Report Studio, or JDashboard.

The implemented JavaScript APIs in an external application can be applied to perform the following actions on the embedded reports and dashboards:

Integrating JavaScript APIs into your environment

The JavaScript APIs that JReport provides is a single JavaScript file jreportapi.js. It is created in the <JReportServer_install_root>\public_html\webos\jsvm\lib folder by the JavaScript making tool. There are two ways to use the JavaScript APIs in customer's application.

Running the JavaScript API demos

JReport Server provides two demos in the <JReportServer_install_root>\public_html\webos\app\demo folder:

To run the demos:

  1. Start your JReport Server and then open a demo file using URL like the following:

    http://localhost:8888/webos/app/demo/jreportapi-demo-rpt.html
    http://localhost:8888/webos/app/demo/jreportapi-demo-dsb.html

  2. In the displayed web page, click the Open xxx option on the left menu to load the specified report or dashboards as customized in the API.

    For the dashboard demo, two dashboards are opened and their names are shown above the dashboard body. You can click the names to switch between the two dashboards.

  3. Use the left menu to perform actions on the report or dashboards.
  4. If the report or dashboards has defined web controls such as filter control and custom control, they can also work.
  5. If there are links in the report or dashboards, after you click a link, a link path is displayed above the report body or dashboard body. You can then use the link path to go back to the previous step.

As for the detailed JavaScript APIs and methods of each API that JReport provides, refer to the API documentation in the <JReportServerinstall_root>\help\javascriptapi folder.

Specifying parameter values

When the reports or dashboards embedded in an application contain parameters, you need to specify parameters when running them. See the following example for a page report:

thi$.openPageReport = function(entryId){
var params1 = { "p_Cascading-Country":"USA", "p_Cascading-City":["New York","Los Angeles","Chicago"], };
var app = Factory.runReport(
server, prptRes, catRes, params1, entryId); };

After the reports or dashboards are opened, you can take the following API functions to get and change their parameter values.

You can find the detailed usage in the two files Dashboard.js and ReportSet.js in the <server_install_root>\public_html\webos\jsvm\src\com\jinfonet\api directory.

Using Single Sign On

When the reports or dashboards are embedded in a single sign on environment, you should specify the authorized user in your code. The following shows how to specify a user for single sign on as compared to normal login.

For common login, user name and password are set as:

user: "admin",
pass: "admin",

See the following example:

        var server = {
        url: "http://localhost:8888/jinfonet/tryView.jsp",
        user: "admin",
        pass: "admin",

        jrd_prefer:{
            // For page report
            pagestudio:{
                feature_UserInfoBar:false,
                feature_ToolBar: false,
                feature_Toolbox: false,
                feature_DSOTree: false,
                feature_TOCTree: false,
                feature_PopupMenu: false,
                feature_ADHOC: false
            },
            
            // For web report
            wrptstudio:{
                viewMode:{
                    hasToolbar: false,
                    hasSideArea: false
                }
            }
        },
        jrd_studio_mode: "view",
        "jrs.param_page": true
    },

For single sign on, use authorized_user:"user_name" to specify the authorized user as follows:

        var server = {
        url: "http://localhost:8888/jinfonet/tryView.jsp",
        authorized_user:"admin",
        jrd_prefer:{
            // For page report
            pagestudio:{
                feature_UserInfoBar:false,
                feature_ToolBar: false,
                feature_Toolbox: false,
                feature_DSOTree: false,
                feature_TOCTree: false,
                feature_PopupMenu: false,
                feature_ADHOC: false
            },
            
            // For web report
            wrptstudio:{
                viewMode:{
                    hasToolbar: false,
                    hasSideArea: false
                }
            }
        },
        jrd_studio_mode: "view",
        "jrs.param_page": true
    },

BackPrevious Page Next PageNext