1 19 package org.openbravo.wad.controls; 20 21 import java.util.*; 22 import org.openbravo.xmlEngine.XmlDocument; 23 24 public class WADDateTime extends WADControl { 25 private WADControl button; 26 27 public WADDateTime() { 28 } 29 30 public WADDateTime(Properties prop) { 31 setInfo(prop); 32 initialize(); 33 } 34 35 public void initialize() { 36 generateJSCode(); 37 this.button = new WADFieldButton("Calendar", getData("ColumnName"), getData("ColumnNameInp"), getData("Name"), "showCalendar('frmMain.inp" + getData("ColumnNameInp") + "', document.frmMain.inp" + getData("ColumnNameInp") + ".value, false);"); 38 } 39 40 private void generateJSCode() { 41 addImport("DateTextBox", "../../../../../web/js/default/DateTextBox.js"); 42 addImport("calendar", "../../../../../web/js/jscalendar/calendar.js"); 43 if (!getData("AD_Language").equals("")) 44 addImport("calendarLang", "../../../../../web/js/jscalendar/lang/calendar-" + getData("AD_Language").substring(0, 2) + ".js"); 45 else addImport("calendarLang", "../../../../../web/js/jscalendar/lang/calendar-en.js"); 46 generateMessages(); 47 generateValidation(); 48 setCalloutJS(); 49 } 50 51 private void generateValidation() { 52 String [] discard = {"","","",""}; 53 String join = ""; 54 if (!getData("IsMandatory").equals("Y")) discard[0] = "isMandatory"; 55 if (getData("ValueMin").trim().equals("") && getData("ValueMax").trim().equals("")) discard[1] = "isValueCheck"; 56 else { 57 boolean valmin=false; 58 if (getData("ValueMin").equals("")) discard[2] = "isValueMin"; 59 else valmin = true; 60 if (getData("ValueMax").equals("")) discard[3] = "isValueMax"; 61 else if (valmin) join = " || "; 62 } 63 64 XmlDocument xmlDocument = getReportEngine().readXmlTemplate("org/openbravo/wad/controls/WADDateJSValidation", discard).createXmlDocument(); 65 xmlDocument.setParameter("columnNameInp", getData("ColumnNameInp")); 66 xmlDocument.setParameter("valueMin", getData("ValueMin")); 67 xmlDocument.setParameter("valueMax", getData("ValueMax")); 68 xmlDocument.setParameter("join", join); 69 setValidation(replaceHTML(xmlDocument.print())); 70 } 71 72 public String getType() { 73 return "TextBox_btn"; 74 } 75 76 public String editMode() { 77 String textButton = ""; 78 String buttonClass = ""; 79 if (getData("IsReadOnly").equals("N") && getData("IsReadOnlyTab").equals("N") && getData("IsUpdateable").equals("Y")) { 80 this.button.setReportEngine(getReportEngine()); 81 textButton = this.button.toString(); 82 buttonClass = this.button.getType(); 83 } 84 85 XmlDocument xmlDocument = getReportEngine().readXmlTemplate("org/openbravo/wad/controls/WADDateTime").createXmlDocument(); 86 87 xmlDocument.setParameter("columnName", getData("ColumnName")); 88 xmlDocument.setParameter("columnNameInp", getData("ColumnNameInp")); 89 xmlDocument.setParameter("size", (textButton.equals("")?"":"btn_") + getData("CssSize")); 90 xmlDocument.setParameter("hasButton", (textButton.equals("")?"TextButton_ContentCell":"")); 91 xmlDocument.setParameter("maxlength", getData("FieldLength")); 92 xmlDocument.setParameter("buttonClass", buttonClass + "_ContentCell"); 93 xmlDocument.setParameter("invalid", this.invalid); 94 xmlDocument.setParameter("missing", this.missing); 95 xmlDocument.setParameter("range", this.range); 96 xmlDocument.setParameter("button", textButton); 97 98 boolean isDisabled = (getData("IsReadOnly").equals("Y") || getData("IsReadOnlyTab").equals("Y") || getData("IsUpdateable").equals("N")); 99 xmlDocument.setParameter("disabled", (isDisabled?"Y":"N")); 100 if (!isDisabled && getData("IsMandatory").equals("Y")) { 101 xmlDocument.setParameter("required", "true"); 102 xmlDocument.setParameter("requiredClass", " required"); 103 } else { 104 xmlDocument.setParameter("required", "false"); 105 xmlDocument.setParameter("requiredClass", (isDisabled?" readonly":"")); 106 } 107 xmlDocument.setParameter("textBoxCSS", (isDisabled?"_ReadOnly":"")); 108 109 xmlDocument.setParameter("callout", getOnChangeCode()); 110 111 return replaceHTML(xmlDocument.print()); 112 } 113 114 public String newMode() { 115 String textButton = ""; 116 String buttonClass = ""; 117 if (getData("IsReadOnly").equals("N") && getData("IsReadOnlyTab").equals("N")) { 118 this.button.setReportEngine(getReportEngine()); 119 textButton = this.button.toString(); 120 buttonClass = this.button.getType(); 121 } 122 XmlDocument xmlDocument = getReportEngine().readXmlTemplate("org/openbravo/wad/controls/WADDateTime").createXmlDocument(); 123 124 xmlDocument.setParameter("columnName", getData("ColumnName")); 125 xmlDocument.setParameter("columnNameInp", getData("ColumnNameInp")); 126 xmlDocument.setParameter("size", (textButton.equals("")?"":"btn_") + getData("CssSize")); 127 xmlDocument.setParameter("hasButton", (textButton.equals("")?"TextButton_ContentCell":"")); 128 xmlDocument.setParameter("maxlength", getData("FieldLength")); 129 xmlDocument.setParameter("buttonClass", buttonClass + "_ContentCell"); 130 xmlDocument.setParameter("invalid", this.invalid); 131 xmlDocument.setParameter("missing", this.missing); 132 xmlDocument.setParameter("range", this.range); 133 xmlDocument.setParameter("button", textButton); 134 135 boolean isDisabled = (getData("IsReadOnly").equals("Y") || getData("IsReadOnlyTab").equals("Y")); 136 xmlDocument.setParameter("disabled", (isDisabled?"Y":"N")); 137 if (!isDisabled && getData("IsMandatory").equals("Y")) { 138 xmlDocument.setParameter("required", "true"); 139 xmlDocument.setParameter("requiredClass", " required"); 140 } else { 141 xmlDocument.setParameter("required", "false"); 142 xmlDocument.setParameter("requiredClass", (isDisabled?" readonly":"")); 143 } 144 xmlDocument.setParameter("textBoxCSS", (isDisabled?"_ReadOnly":"")); 145 146 xmlDocument.setParameter("callout", getOnChangeCode()); 147 148 return replaceHTML(xmlDocument.print()); 149 } 150 151 public String toXml() { 152 String [] discard = {"xx_PARAM"}; 153 if (getData("IsParameter").equals("Y")) discard[0] = new String ("xx"); 154 XmlDocument xmlDocument = getReportEngine().readXmlTemplate("org/openbravo/wad/controls/WADDateTimeXML", discard).createXmlDocument(); 155 xmlDocument.setParameter("columnName", getData("ColumnName")); 156 return replaceHTML(xmlDocument.print()); 157 } 158 159 public String toJava() { 160 StringBuffer text = new StringBuffer (); 161 text.append("xmlDocument.setParameter(\"").append(getData("ColumnName")).append("_Format\", vars.getSessionValue(\"#AD_SqlDateFormat\"));"); 162 return text.toString(); 163 } 164 } 165 | Popular Tags |