Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[birt-dev]CheckIn: Fix Bugzilla Bug --- 120803 Bookmark crossed multiple pages doesn't work properly in html viewer.

Title: [birt-dev]CheckIn: Fix Bugzilla Bug --- 120803 Bookmark crossed multiple pages doesn't work properly in html viewer.

Summary 

Bugzilla Bug (s) Resolved:
120803 Bookmark crossed multiple pages doesn't work properly in html viewer.

Description:
Add task based ActionHandler to support bookmark crossed multiple pages.

In the previous implementation, all taskes share the same ActionHandler which is defined in EngineConfig. To support bookmark crossed mutliple pages, we need task-based ActionHandler. The user can set different ActionHandler for different task in the HTMLRenderOptions. (renderOption.setActionHandler). In HTML Emitter, ENGINE first gets the ActionHandler from the IRenderOption, then get the ActionHandler from the Services to build the action URL.

To support bookmark in the mutiple pages (RenderTask):
1) create a ActionHandler for each task, use the current page, report document as the constructor paramters
2) in the buildBookmark:
        use the report document to find the page number of target bookmark
        if they are in the same page, return "#" + bookmark  as they are in the same page
        If they are in different pages, return a URL to navigate to differnet pages.

To support bookmark in the signle page (RunAndRenderTaks)
Use the current ActionHandler

 
Test Description:
Unit Test
 
Files Edited:
cvs ci -m "support task based IHTMLActionHandler" -l "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/api/RenderOptionBase.java" "/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/api/HTMLRenderOption.java"

Files Added:

Notes to Build Team:
 
Notes to Developers:
VIEWER should implement the ActionHandler to support bookmarks in different page.

Notes to QA:
 
Quotes to Documentation:


-Wei Yan




Back to the top