...
The prompting piece of the equation is implemented as part of the Pentaho Common UI project. This JavaScript API allows the developer to build a collection of input components that work together to provide prompts for the parameters defined in a Parameter XML Specification.
...
Project Location
You can find the source code for the Pentaho Reporting Web Viewer project here:
svn://source.pentaho.org/svnroot/platform-plugins/reporting-plugin/branches/4.5
The client-side JavaScript can be found at:
svn://source.pentaho.org/svnroot/platform-plugins/reporting-plugin/branches/4.5/package-res/reportviewer
Architectural Overview
The Pentaho Reporting Web Viewer is built from the ground up to be extensible. Every part of the Report Viewer from the prompting to report content display can be overridden easily to allow a tight integration or custom behavior where desired.
...
A large majority of the code is pure JavaScript on the client with a small number of Java components on the server reponsible for rendering the report and generating suitable Parameter XML to define the client-side prompt. The entire reporting prompt is generated and rendered on the client side and can be manipulated at every step of the way.
Customizing the Reporting Web Viewer
The core of the Reporting Web Viewer is the pentaho.reporting.Viewer
and pentaho.reporting.Prompt
objects; Viewer
and Prompt
from here on out. Prompt
is designed to be a Pentaho Reporting-specific Pentaho Prompting implementation to provide the prompt for a report. It is where prompt refreshing (for cascading prompts), session timeout, and Pentaho Reporting prompt parsing is implemented. It contains the Pentaho Prompting pentaho.common.prompting.PromptPanel
reference and is responsible for initializing it.
The Viewer
handles all interactions with the view: rendering the report as a styled page, updating the page control, providing localization, and providing hooks for report designers to use (window.reportViewer_openUrlInDialog
and window.reportViewer_hide
).
Custom Prompting Components
For information on how to define your own custom prompting component check out the Pentaho Prompting Project project page for more documentation.
...