dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #05653
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 1811: Fixed bug <545688> using JQuery to improve the printing function and applied this one into Excel ...
------------------------------------------------------------
revno: 1811
committer: hieu <hieu.hispvietnam@xxxxxxxxx>
branch nick: trunk
timestamp: Mon 2010-04-26 16:09:48 +0700
message:
Fixed bug <545688> using JQuery to improve the printing function and applied this one into Excel reporting module also.
added:
dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/util/jquery.jqprint.0.3.js
modified:
dhis-2/dhis-web/dhis-web-excel-reporting/src/main/resources/struts.xml
dhis-2/dhis-web/dhis-web-excel-reporting/src/main/webapp/dhis-web-excel-reporting/javascript/preview.js
dhis-2/dhis-web/dhis-web-excel-reporting/src/main/webapp/dhis-web-excel-reporting/reportparams.vm
dhis-2/dhis-web/dhis-web-reporting/src/main/resources/struts.xml
dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/javascript/dataSetReport.js
dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/previewCustomDataSetReportForm.vm
--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk
Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== added file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/util/jquery.jqprint.0.3.js'
--- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/util/jquery.jqprint.0.3.js 1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/util/jquery.jqprint.0.3.js 2010-04-26 09:09:48 +0000
@@ -0,0 +1,76 @@
+// -----------------------------------------------------------------------
+// Eros Fratini - eros@xxxxxxxxxxx
+// jqprint 0.3
+//
+// - 19/06/2009 - some new implementations, added Opera support
+// - 11/05/2009 - first sketch
+//
+// Printing plug-in for jQuery, evolution of jPrintArea: http://plugins.jquery.com/project/jPrintArea
+// requires jQuery 1.3.x
+//
+// Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
+//------------------------------------------------------------------------
+
+(function($) {
+ var opt;
+
+ $.fn.jqprint = function (options) {
+ opt = $.extend({}, $.fn.jqprint.defaults, options);
+
+ var $element = (this instanceof jQuery) ? this : $(this);
+
+ if (opt.operaSupport && $.browser.opera)
+ {
+ var tab = window.open("","jqPrint-preview");
+ tab.document.open();
+
+ var doc = tab.document;
+ }
+ else
+ {
+ var $iframe = $("<iframe />");
+
+ if (!opt.debug) { $iframe.css({ position: "absolute", width: "0px", height: "0px", left: "-600px", top: "-600px" }); }
+
+ $iframe.appendTo("body");
+ var doc = $iframe[0].contentWindow.document;
+ }
+
+ if (opt.importCSS)
+ {
+ if ($("link[media=print]").length > 0)
+ {
+ $("link[media=print]").each( function() {
+ doc.write("<link type='text/css' rel='stylesheet' href='" + $(this).attr("href") + "' media='print' />");
+ });
+ }
+ else
+ {
+ $("link").each( function() {
+ doc.write("<link type='text/css' rel='stylesheet' href='" + $(this).attr("href") + "' />");
+ });
+ }
+ }
+
+ if (opt.printContainer) { doc.write($element.outer()); }
+ else { $element.each( function() { doc.write($(this).html()); }); }
+
+ doc.close();
+
+ (opt.operaSupport && $.browser.opera ? tab : $iframe[0].contentWindow).focus();
+ setTimeout( function() { (opt.operaSupport && $.browser.opera ? tab : $iframe[0].contentWindow).print(); if (tab) { tab.close(); } }, 1000);
+ }
+
+ $.fn.jqprint.defaults = {
+ debug: false,
+ importCSS: true,
+ printContainer: true,
+ operaSupport: true
+ };
+
+ // Thanks to 9__, found at http://users.livejournal.com/9__/380664.html
+ jQuery.fn.outer = function() {
+ return $($('<div></div>').html(this.clone())).html();
+ }
+})(jQuery);
+
=== modified file 'dhis-2/dhis-web/dhis-web-excel-reporting/src/main/resources/struts.xml'
--- dhis-2/dhis-web/dhis-web-excel-reporting/src/main/resources/struts.xml 2010-04-26 08:34:42 +0000
+++ dhis-2/dhis-web/dhis-web-excel-reporting/src/main/resources/struts.xml 2010-04-26 09:09:48 +0000
@@ -479,11 +479,12 @@
<param name="stylesheets">style/previewStyle.css,
style/ui.all.css</param>
<param name="javascripts">
- ../dhis-web-commons/ouwt/ouwt.js,
javascript/export.js,
javascript/commons.js,
javascript/preview.js,
- ../dhis-web-commons/util/jquery-ui.js
+ ../dhis-web-commons/ouwt/ouwt.js,
+ ../dhis-web-commons/util/jquery-ui.js,
+ ../dhis-web-commons/util/jquery.jqprint.0.3.js
</param>
</action>
=== modified file 'dhis-2/dhis-web/dhis-web-excel-reporting/src/main/webapp/dhis-web-excel-reporting/javascript/preview.js'
--- dhis-2/dhis-web/dhis-web-excel-reporting/src/main/webapp/dhis-web-excel-reporting/javascript/preview.js 2009-12-17 02:15:50 +0000
+++ dhis-2/dhis-web/dhis-web-excel-reporting/src/main/webapp/dhis-web-excel-reporting/javascript/preview.js 2010-04-26 09:09:48 +0000
@@ -180,8 +180,18 @@
}
showById("tabs");
+ showById("printExcelReportButton");
window.status = "DATAWARE HOUSE";
window.stop();
}
+function printExcelReportPreview()
+{
+ var o = $("div#previewDiv");
+ o.jqprint();
+
+ // or
+ //$("#tabs").jqprint();
+ //$('#divOpera').jqprint({ operaSupport: true });
+}
\ No newline at end of file
=== modified file 'dhis-2/dhis-web/dhis-web-excel-reporting/src/main/webapp/dhis-web-excel-reporting/reportparams.vm'
--- dhis-2/dhis-web/dhis-web-excel-reporting/src/main/webapp/dhis-web-excel-reporting/reportparams.vm 2010-03-09 09:36:40 +0000
+++ dhis-2/dhis-web/dhis-web-excel-reporting/src/main/webapp/dhis-web-excel-reporting/reportparams.vm 2010-04-26 09:09:48 +0000
@@ -59,6 +59,11 @@
<div id="previewDiv">
</div>
+<br/>
+
+<div id="printDiv">
+ <input type="button" id="printExcelReportButton" value='$i18n.getString("print")' onclick="printExcelReportPreview();" disabled />
+</div>
<span id="info" style="display:none;top:70px;right:5px;position:fixed;" onclick="hideById(this.id)">
=== modified file 'dhis-2/dhis-web/dhis-web-reporting/src/main/resources/struts.xml'
--- dhis-2/dhis-web/dhis-web-reporting/src/main/resources/struts.xml 2010-04-13 11:48:30 +0000
+++ dhis-2/dhis-web/dhis-web-reporting/src/main/resources/struts.xml 2010-04-26 09:09:48 +0000
@@ -374,22 +374,22 @@
<param name="menuTreeHeight">420</param>
<param name="page">/dhis-web-reporting/dataSetReportForm.vm</param>
<param name="menu">/dhis-web-reporting/menu.vm</param>
- <param name="javascripts">../dhis-web-commons/oust/oust.js,javascript/dataSetReport.js,../dhis-web-commons/calendar/calendar.js,../dhis-web-commons/calendar/calendar-lang.js,../dhis-web-commons/calendar/calendar-setup.js</param>
+ <param name="javascripts">../dhis-web-commons/oust/oust.js,javascript/dataSetReport.js,../dhis-web-commons/calendar/calendar.js,../dhis-web-commons/calendar/calendar-lang.js,../dhis-web-commons/calendar/calendar-setup.js</param>
<interceptor-ref name="organisationUnitTreeStack"/>
</action>
<action name="getDataSetReportTypeForPDF" class="org.hisp.dhis.reporting.dataset.action.GetDataSetReportTypeAction">
- <result name="customreport" type="chain">generateCustomDataSetReport</result>
- <result name="defaultreport" type="chain">generateDefaultDataSetReport</result>
+ <result name="customreport" type="chain">generateCustomDataSetReport</result>
+ <result name="defaultreport" type="chain">generateDefaultDataSetReport</result>
<result name="error" type="chain">showDataSetReportForm</result>
- <interceptor-ref name="organisationUnitTreeStack"/>
+ <interceptor-ref name="organisationUnitTreeStack"/>
</action>
<action name="generateCustomDataSetReport" class="org.hisp.dhis.reporting.dataset.action.GenerateCustomDataSetReportAction">
<result name="success" type="velocity">/popup.vm</result>
<result name="error" type="chain">showDataSetReportForm</result>
<param name="page">/dhis-web-reporting/previewCustomDataSetReportForm.vm</param>
- <param name="javascripts">javascript/dataSetReport.js</param>
+ <param name="javascripts">javascript/dataSetReport.js,../dhis-web-commons/util/jquery.jqprint.0.3.js</param>
<interceptor-ref name="organisationUnitTreeStack"/>
</action>
@@ -406,10 +406,10 @@
</action>
<action name="getDataSetReportTypeForPreview" class="org.hisp.dhis.reporting.dataset.action.GetDataSetReportTypeAction">
- <result name="customreport" type="chain">previewCustomDataSetReport</result>
- <result name="defaultreport" type="chain">previewDefaultDataSetReport</result>
- <result name="error" type="chain">showDataSetReportForm</result>
- <interceptor-ref name="organisationUnitTreeStack"/>
+ <result name="customreport" type="chain">previewCustomDataSetReport</result>
+ <result name="defaultreport" type="chain">previewDefaultDataSetReport</result>
+ <result name="error" type="chain">showDataSetReportForm</result>
+ <interceptor-ref name="organisationUnitTreeStack"/>
</action>
<action name="previewCustomDataSetReport" class="org.hisp.dhis.reporting.dataset.action.GenerateCustomDataSetReportAction">
@@ -417,12 +417,12 @@
<param name="menuTreeHeight">420</param>
<result name="error" type="chain">showQuickReportForm</result>
<param name="page">/dhis-web-reporting/previewCustomDataSetReportForm.vm</param>
- <param name="javascripts">javascript/dataSetReport.js</param>
- <interceptor-ref name="organisationUnitTreeStack"/>
+ <param name="javascripts">javascript/dataSetReport.js,../dhis-web-commons/util/jquery.jqprint.0.3.js</param>
+ <interceptor-ref name="organisationUnitTreeStack"/>
</action>
<action name="previewDefaultDataSetReport" class="org.hisp.dhis.reporting.dataset.action.GenerateDefaultDataSetReportAction">
- <result name="success" type="chain">previewDefaultDataSetHtmlReport</result>
+ <result name="success" type="chain">previewDefaultDataSetHtmlReport</result>
<result name="error" type="chain">showDataSetReportForm</result>
<param name="preview">true</param>
<interceptor-ref name="organisationUnitTreeStack"/>
=== modified file 'dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/javascript/dataSetReport.js'
--- dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/javascript/dataSetReport.js 2010-02-01 20:21:20 +0000
+++ dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/javascript/dataSetReport.js 2010-04-26 09:09:48 +0000
@@ -109,3 +109,9 @@
setTimeout( "getDataSetReportStatus();", 2000 );
}
}
+
+function printDateSetReportPreview()
+{
+ var o = $("div#printDateSetPreviewDiv");
+ o.jqprint();
+}
\ No newline at end of file
=== modified file 'dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/previewCustomDataSetReportForm.vm'
--- dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/previewCustomDataSetReportForm.vm 2009-03-03 16:46:36 +0000
+++ dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/dhis-web-reporting/previewCustomDataSetReportForm.vm 2010-04-26 09:09:48 +0000
@@ -4,9 +4,9 @@
<td><h3>$i18n.getString('reporting_unit'): </h3></td>
<td><h3>$reportingUnit</h3></td>
<td><input type="button" value="$i18n.getString( 'back' )" style="width:100px"
- onclick="javascript:window.location.href='showDataSetReportForm.action'">
+ onclick="javascript:window.location.href='showDataSetReportForm.action'"/>
<input type="button" value="$i18n.getString( 'print' )" style="width:100px"
- onclick="javascript:window.print()"></td>
+ onclick="printDateSetReportPreview();"/></td>
</tr>
<tr>
<td><h3>$i18n.getString('reporting_period'): </h3></td>
@@ -18,4 +18,6 @@
</tr>
</table>
-$customDataEntryFormCode
\ No newline at end of file
+<div id="printDateSetPreviewDiv">
+ $customDataEntryFormCode
+</div>
\ No newline at end of file