Difference between revisions of "Msz"

From Documentation
Line 73: Line 73:
 
<iframe id="iframe" src="/report/reportPage.zul" hflex="1" vflex="1" scrolling="auto" />
 
<iframe id="iframe" src="/report/reportPage.zul" hflex="1" vflex="1" scrolling="auto" />
 
</window>
 
</window>
</zk>
 
</source>
 
 
= The reportPage.zul =
 
<source lang="xml">
 
<?page title="Тестовый отчет" contentType="text/html;charset=UTF-8"?>
 
<?script src="http://localhost:8081/ActuateBIRTViewer/jsapi" ?>
 
<zk>
 
...
 
 
<script>
 
zk.afterMount(function() {
 
        init();   
 
});
 
</script>
 
<n:script xmlns:n="native">
 
<![CDATA[
 
function init(){
 
actuate.load("viewer");
 
actuate.initialize("http://localhost:8081/ActuateBIRTViewer", null, null, null, null);
 
}
 
function runReportI(jsonElements)    {
 
var countOfElements = jsonElements.elements.length;
 
        for (var i = 0; i < countOfElements; i++) {
 
        var year = jsonElements.elements[i].year;
 
    }
 
var viewer = new actuate.Viewer("viewer1");
 
viewer.setReportName("/salesDashboard.rptdesign");
 
viewer.setParameters({Year:year});
 
var options2 = new actuate.viewer.UIOptions( );
 
options2.enableToolBar(true);
 
options2.enableMainMenu(false);
 
viewer.setUIOptions( options2 );
 
viewer.setSize(1100,800);
 
viewer.submit();
 
}
 
 
function runReportXLS() {
 
var viewer = new actuate.Viewer("viewer1");
 
viewer.downloadReport("xls", null, null);
 
}
 
 
function runReportPDF() {
 
var viewer = new actuate.Viewer("viewer1");
 
viewer.downloadReport("pdf", null, null);
 
}
 
 
function printReport() {
 
var viewer = new actuate.Viewer("viewer1");
 
viewer.showPrintDialog( );
 
}
 
 
]]>
 
</n:script>
 
<window width="100%" height="100%" apply="ru.ufa.zkbirt.ViewReportController">
 
<borderlayout>
 
<center  autoscroll="true">
 
<html ><![CDATA[
 
<div id="viewer1">
 
</div>       
 
]]>
 
</html>
 
</center>
 
...
 
 
 
</zk>
 
</zk>
 
</source>
 
</source>

Revision as of 09:42, 5 June 2014

Integrating_BIRT_Viewer_Toolkit_and_ZK

Author
Shamil' Mustafin, Engineer, Nefteavtomatika, Russia
Date
June 03, 2014
Version
ZK CE 7.0.2

Introduction

SalesDashboardReport.png

Environment

  • Apache Tomcat/7.0.52
  • ActuateBIRTViewer Toolkit [1]
  • ZK Framework CE 7.0.2
  • File Report Sales Dashboard.rtpdesign must be placed in the folder Tomcat7\webapps\ActuateBIRTViewer\WEB-INF\repository
  • ZkBirtReport.war

Features

  • To pass parameters are used ZK components
  • Passing parameters via JSON
  • You can generate reports independently from each other (in different tabs)

Source

The MainController.java

public class MainController extends SelectorComposer<Window>{

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	@Wire("#treeReports") private Tree treeReports;
	@Wire("#mainTabs")	private Tabbox mainTabs;
	@Wire("#mainTabs > tabs") 	private Tabs tabs; 
	@Wire("#mainTabs > tabpanels") 	private Tabpanels tabpanels;
	
	private void setTabValue(String url, String nameReport) {
		Tab tab = new Tab(nameReport);
		tab.setClosable(true);
		tab.setSelected(true);
		tabs.appendChild(tab);
		
		Tabpanel tabpanel = new Tabpanel();
		Include include = new Include(url);
		tabpanel.appendChild(include);
		tabpanels.appendChild(tabpanel);
	}
	
	@Listen("onClick = #viewReport")
	public void showReport() {
		if (treeReports.getSelectedItem() != null) {
			String url = treeReports.getSelectedItem().getValue();
			String label = treeReports.getSelectedItem().getLabel();
			setTabValue(url, label);
		} else {
			showNotify("Select the report");
			return;
		}
	}
	
	private void showNotify(String msg) {
		 Clients.showNotification(msg,"warning",null,null,0);
   }
}

The report.zul

<?page title="new page title" contentType="text/html;charset=UTF-8"?>
<zk>
<window border="none" width="100%" height="100%" >
<iframe id="iframe" src="/report/reportPage.zul" hflex="1" vflex="1" scrolling="auto" />
</window>
</zk>

Summary

http://www.actuate.com/info/birt-viewer-toolkit/ [2].
http://developer.actuate.com/deployment-center/deployment-guides/birt-viewer-toolkit/ [3].