Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
PrintUtils |
|
| 2.0;2 |
1 | package org.kuali.student.common.ui.client.util; | |
2 | ||
3 | import com.google.gwt.dom.client.Document; | |
4 | import com.google.gwt.dom.client.NodeList; | |
5 | import com.google.gwt.user.client.Window; | |
6 | import com.google.gwt.user.client.ui.UIObject; | |
7 | import com.google.gwt.user.client.ui.Widget; | |
8 | ||
9 | 0 | public class PrintUtils { |
10 | 0 | private static int num = 0; |
11 | /** | |
12 | * Shows the uiObject content in a printable form in a new window | |
13 | * @param uiObject | |
14 | */ | |
15 | public static void print(UIObject uiObject){ | |
16 | 0 | String headTag = ""; |
17 | 0 | String styleTags = ""; |
18 | 0 | NodeList<com.google.gwt.dom.client.Element> head = Document.get().getElementsByTagName("head"); |
19 | 0 | if(head.getItem(0) != null){ |
20 | 0 | com.google.gwt.dom.client.Element e = head.getItem(0); |
21 | 0 | NodeList<com.google.gwt.dom.client.Element> styles = e.getElementsByTagName("style"); |
22 | 0 | for(int i = 0; i < styles.getLength(); i++){ |
23 | 0 | styleTags = styleTags + styles.getItem(i).getString(); |
24 | ||
25 | } | |
26 | } | |
27 | 0 | headTag = "<HEAD><TITLE>Print - " + Window.getTitle() + "</TITLE>" + styleTags + "</HEAD>"; |
28 | 0 | openPrintWindow(uiObject.getElement().getString(), headTag, num); |
29 | 0 | num++; |
30 | 0 | } |
31 | ||
32 | private static native void openPrintWindow(String html, String headTag, int num)/*-{ | |
33 | var win = $wnd.open("", num, "width=900,height=600,scrollbars=1"); | |
34 | var doc = win.document; | |
35 | doc.open("text/html", "replace"); | |
36 | if(navigator.appName == "Microsoft Internet Explorer"){ | |
37 | doc.write("<HTML style='overflow: auto;'>"); | |
38 | doc.write(headTag); | |
39 | doc.write("<BODY style='overflow: auto;'>"); | |
40 | } else { | |
41 | doc.write("<HTML style='overflow: inherit;'>"); | |
42 | doc.write(headTag); | |
43 | doc.write("<BODY style='overflow: inherit;'>"); | |
44 | } | |
45 | doc.write("<a class='ks-button-primary' style='cursor: pointer;' onClick='print();'>Print</a>"); | |
46 | doc.write("<DIV class='printPage'>"); | |
47 | doc.writeln(html); | |
48 | doc.writeln("</DIV></BODY></HTML>"); | |
49 | doc.close(); | |
50 | | |
51 | }-*/; | |
52 | ||
53 | } |