| 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 | } |