You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by iv...@apache.org on 2009/02/03 17:32:25 UTC
svn commit: r740343 -
/wicket/branches/wicket-1.3.x/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
Author: ivaynberg
Date: Tue Feb 3 16:32:24 2009
New Revision: 740343
URL: http://svn.apache.org/viewvc?rev=740343&view=rev
Log:
WICKET-2072
Modified:
wicket/branches/wicket-1.3.x/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
Modified: wicket/branches/wicket-1.3.x/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.3.x/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java?rev=740343&r1=740342&r2=740343&view=diff
==============================================================================
--- wicket/branches/wicket-1.3.x/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java (original)
+++ wicket/branches/wicket-1.3.x/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java Tue Feb 3 16:32:24 2009
@@ -267,6 +267,12 @@
}
calendarInit.append("]");
}
+ else if (value instanceof Map)
+ {
+ calendarInit.append(":");
+ Map map = (Map)value;
+ appendMapping(map, calendarInit);
+ }
else
{
calendarInit.append(":");
@@ -629,7 +635,8 @@
* selection of month and year.
*
* @return <code>true</code> if select boxes should be rendered to allow month and year
- * selection.<br/> <code>false</code> to render just plain text.
+ * selection.<br/>
+ * <code>false</code> to render just plain text.
*/
protected boolean enableMonthYearSelection()
{
@@ -639,9 +646,8 @@
/**
* Indicates whether the calendar should be hidden after a date was selected.
*
- * @return <code>true</code> (default) if the calendar should be hidden after the date
- * selection <br/> <code>false</code> if the calendar should remain visible after the
- * date selection.
+ * @return <code>true</code> (default) if the calendar should be hidden after the date selection <br/>
+ * <code>false</code> if the calendar should remain visible after the date selection.
*/
protected boolean hideOnSelect()
{
@@ -659,12 +665,50 @@
return false;
}
+
+ private void appendMapping(Map map, StringBuffer calendarInit)
+ {
+ boolean first = true;
+ calendarInit.append("{");
+ Iterator keys = map.keySet().iterator();
+ while (keys.hasNext())
+ {
+ final Object key = keys.next();
+ if (first)
+ {
+ first = false;
+ }
+ else
+ {
+ calendarInit.append(",");
+ }
+ calendarInit.append(Strings.toEscapedUnicode(key.toString()));
+ calendarInit.append(":");
+ if (map.get(key) instanceof Map)
+ {
+
+ Map value = (Map)map.get(key);
+ appendMapping(value, calendarInit);
+ }
+ else
+ {
+ // calendarInit.append(map.get(key).toString());
+ calendarInit.append("\"");
+ calendarInit.append(Strings.toEscapedUnicode(map.get(key).toString()));
+ calendarInit.append("\"");
+ }
+ }
+ calendarInit.append("}");
+ }
+
/**
* Override this method to further customize the YUI Calendar with additional Javascript code.
* The code returned by this method is executed right after the Calendar has been constructed
- * and initialized. To refer to the actual Calendar DOM object, use <code>${calendar}</code>
- * in your code.<br/> See <a href="http://developer.yahoo.com/yui/calendar/">the widget's
- * documentation</a> for more information about the YUI Calendar.<br/> Example:
+ * and initialized. To refer to the actual Calendar DOM object, use <code>${calendar}</code> in
+ * your code.<br/>
+ * See <a href="http://developer.yahoo.com/yui/calendar/">the widget's documentation</a> for
+ * more information about the YUI Calendar.<br/>
+ * Example:
*
* <pre>
* protected String getAdditionalJavascript()