[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