Author: jcompagner
Date: Mon Mar 26 08:40:50 2007
New Revision: 522550

URL: http://svn.apache.org/viewvc?view=rev&rev=522550
Log:
hack in StyleDate so that small dates will always print the full year (2 digits 
year should really be avoided...)
also a fix so that the datepicker will select what is selected in the textfield 
itself (if the user did that by hand)

Modified:
    
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket-datetime/src/main/java/wicket/datetime/util/StyleDateConverter.java
    
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket-datetime/src/main/java/wicket/extensions/yui/calendar/DatePicker.java

Modified: 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket-datetime/src/main/java/wicket/datetime/util/StyleDateConverter.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket-datetime/src/main/java/wicket/datetime/util/StyleDateConverter.java?view=diff&rev=522550&r1=522549&r2=522550
==============================================================================
--- 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket-datetime/src/main/java/wicket/datetime/util/StyleDateConverter.java
 (original)
+++ 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket-datetime/src/main/java/wicket/datetime/util/StyleDateConverter.java
 Mon Mar 26 08:40:50 2007
@@ -110,15 +110,21 @@
         * @return datePattern
         */
        public final String getDatePattern() {
-               return DateTimeFormat.patternForStyle(dateStyle, Session.get()
+               String str = DateTimeFormat.patternForStyle(dateStyle, 
Session.get()
                                .getLocale());
+               // a bit of a hack, but yy shouldn't be used then the 
datepicker will make from 1/1/07 -> 1/1/1907
+               if (str.indexOf("yyy") == -1)
+               {
+                       str = str.replaceAll("yy", "yyyy");
+               }
+               return str;
        }
 
        /**
         * @return formatter The formatter for the current conversion
         */
        protected DateTimeFormatter getFormat() {
-               return DateTimeFormat.forStyle(dateStyle).withLocale(
-                               Session.get().getLocale());
+               DateTimeFormatter dtf = 
DateTimeFormat.forPattern(getDatePattern());
+               return dtf;
        }
 }

Modified: 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket-datetime/src/main/java/wicket/extensions/yui/calendar/DatePicker.java
URL: 
http://svn.apache.org/viewvc/incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket-datetime/src/main/java/wicket/extensions/yui/calendar/DatePicker.java?view=diff&rev=522550&r1=522549&r2=522550
==============================================================================
--- 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket-datetime/src/main/java/wicket/extensions/yui/calendar/DatePicker.java
 (original)
+++ 
incubator/wicket/branches/wicket-1.x/jdk-1.4/wicket-datetime/src/main/java/wicket/extensions/yui/calendar/DatePicker.java
 Mon Mar 26 08:40:50 2007
@@ -187,6 +187,22 @@
                }
                buffer.append(" });\n");
 
+               buffer.append(" function showCalendar() {\n");
+               buffer.append(javascriptWidgetId);
+               buffer.append(".select(YAHOO.util.Dom.get(\"");
+               buffer.append(component.getMarkupId());
+               buffer.append("\").value);\n");
+               buffer.append("var firstDate = ");
+               buffer.append(javascriptWidgetId);
+               buffer.append(".getSelectedDates()[0];");
+               buffer.append(javascriptWidgetId);
+               buffer.append(".cfg.setProperty(\"pagedate\", 
(firstDate.getMonth()+1) + \"/\" + firstDate.getFullYear());");  
+               buffer.append(javascriptWidgetId);
+               buffer.append(".render();\n");
+               buffer.append(javascriptWidgetId);
+               buffer.append(".show();\n");
+               buffer.append(" }\n");
+               
                // add a listener to the calendar widget that fills in the value
                // of the passed in date text field when a selection is made,
                // after which the widget is hidden again (it starts out hidden)
@@ -194,8 +210,7 @@
                String iconId = getIconId();
                buffer.append(iconId);
                buffer.append("\", \"click\", ");
-               buffer.append(javascriptWidgetId);
-               buffer.append(".show, ");
+               buffer.append("showCalendar, ");
                buffer.append(javascriptWidgetId);
                buffer.append(", true);\n");
                buffer.append("  function selectHandler(type, args, cal) {\n");


Reply via email to