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