You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by jc...@apache.org on 2007/03/26 17:40:51 UTC

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

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");