[jboss-cvs] jboss-seam/src/ui/org/jboss/seam/ui ...
Norman Richards
norman.richards at jboss.com
Sat Jan 27 21:19:26 EST 2007
User: nrichards
Date: 07/01/27 21:19:26
Modified: src/ui/org/jboss/seam/ui SelectDate.java selectDate.js
Log:
JBSEAM-623: partial fixes
Revision Changes Path
1.5 +14 -0 jboss-seam/src/ui/org/jboss/seam/ui/SelectDate.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: SelectDate.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/ui/org/jboss/seam/ui/SelectDate.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- SelectDate.java 21 Dec 2006 20:19:03 -0000 1.4
+++ SelectDate.java 28 Jan 2007 02:19:26 -0000 1.5
@@ -13,6 +13,8 @@
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
+import org.jboss.seam.core.Messages;
+
public class SelectDate
extends UIComponentBase
{
@@ -151,9 +153,21 @@
response.write("var monthArrayLong = " + getArray(symbols.getMonths(), 0) + ";\r");
response.write("var firstDayInWeek = " + (cal.getFirstDayOfWeek() - 1) + ";\r");
+ response.write("var thisMonthButton = '" + messageForKey(COMPONENT_TYPE + ".thisMonth", "this month") + "';\r");
+ response.write("var closeButton = '" + messageForKey(COMPONENT_TYPE + ".close", "close") + "';\r");
+
response.endElement("script");
}
+ private String messageForKey(String key, String defaultTranslation) {
+ String translation = (String) Messages.instance().get(key);
+ if (key.equals(translation)) {
+ translation = defaultTranslation;
+ }
+ return translation;
+ }
+
+
private StringBuilder getArray(String[] values, int start) throws IOException {
StringBuilder s = new StringBuilder();
s.append("new Array(");
1.4 +26 -5 jboss-seam/src/ui/org/jboss/seam/ui/selectDate.js
(In the diff below, changes in quantity of whitespace are not shown.)
Index: selectDate.js
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/ui/org/jboss/seam/ui/selectDate.js,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- selectDate.js 21 Dec 2006 20:19:03 -0000 1.3
+++ selectDate.js 28 Jan 2007 02:19:26 -0000 1.4
@@ -195,8 +195,9 @@
var today = new Date();
var todayString = "Today is " + dayArrayMed[today.getDay()] + ", " + monthArrayMed[ today.getMonth()] + " " + today.getDate();
html += TR_todaybutton + TD_todaybutton;
- html += "<button class='dpTodayButton' onclick='refreshDatePicker(\"" + dateFieldName + "\");'>this month</button> ";
- html += "<button class='dpTodayButton' onclick='updateDateField(\"" + dateFieldName + "\");'>close</button>";
+
+ html += "<button onclick='refreshDatePicker(\"" + dateFieldName + "\");'>" + thisMonthButton + "</button> ";
+ html += "<button onclick='updateDateField(\"" + dateFieldName + "\");'>" + closeButton + "</button>";
html += xTD + xTR;
// and finally, close the table
@@ -273,6 +274,9 @@
var dArray;
var d, m, y;
+ var limit, twoDigitYear;
+ var now = new Date();
+
try {
dArray = splitDateString(dateString);
if (dArray) {
@@ -294,14 +298,31 @@
y = parseInt(dArray[2], 10);
break;
}
+
+ // The logic for years with two digits is documented in
+ // http://java.sun.com/j2se/1.5.0/docs/api/java/text/SimpleDateFormat.html
+
+ twoDigitYear = y < 100;
+ if (twoDigitYear) {
+ limit = new Date(now.getFullYear() + 20, now.getMonth(), now.getDate());
+ y += limit.getFullYear() - (limit.getFullYear() % 100);
+ }
+
dateVal = new Date(y, m, d);
+
+ if (twoDigitYear) {
+ if (dateVal > limit) {
+ dateVal.setFullYear(dateVal.getFullYear() - 100);
+ }
+ }
+
} else if (dateString) {
dateVal = new Date(dateString);
} else {
- dateVal = new Date();
+ dateVal = now;
}
} catch(e) {
- dateVal = new Date();
+ dateVal = now;
}
return dateVal;
More information about the jboss-cvs-commits
mailing list