You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by eh...@apache.org on 2007/06/18 03:34:21 UTC
svn commit: r548157 - in
/incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar:
DatePicker.java DatePicker.js
Author: ehillenius
Date: Sun Jun 17 18:34:20 2007
New Revision: 548157
URL: http://svn.apache.org/viewvc?view=rev&rev=548157
Log:
WICKET-661
Modified:
incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.js
Modified: incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java?view=diff&rev=548157&r1=548156&r2=548157
==============================================================================
--- incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java (original)
+++ incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java Sun Jun 17 18:34:20 2007
@@ -29,6 +29,7 @@
import org.apache.wicket.ResourceReference;
import org.apache.wicket.Response;
import org.apache.wicket.WicketRuntimeException;
+import org.apache.wicket.ajax.AjaxEventBehavior;
import org.apache.wicket.behavior.AbstractBehavior;
import org.apache.wicket.datetime.markup.html.form.DateTextField;
import org.apache.wicket.extensions.yui.YuiLib;
@@ -131,6 +132,8 @@
String widgetId = getComponentMarkupId();
variables.put("widgetId", widgetId);
variables.put("datePattern", getDatePattern());
+ variables.put("fireChangeEvent", Boolean.valueOf(getNotifyBoundComponentOnDateSelected()));
+
// print out the initialization properties
Properties p = new Properties();
configureWidgetProperties(p);
@@ -340,5 +343,20 @@
protected CharSequence getIconUrl()
{
return RequestCycle.get().urlFor(new ResourceReference(DatePicker.class, "icon1.gif"));
+ }
+
+ /**
+ * Whether to notify the associated component when a date is selected.
+ * Notifying is done by calling the associated component's onchange
+ * Javascript event handler. You can for instance attach an
+ * {@link AjaxEventBehavior} to that component to get a call back to the
+ * server. Returns false by default.
+ *
+ * @return if true, notifies the associated component when a date is
+ * selected
+ */
+ protected boolean getNotifyBoundComponentOnDateSelected()
+ {
+ return false;
}
}
Modified: incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.js
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.js?view=diff&rev=548157&r1=548156&r2=548157
==============================================================================
--- incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.js (original)
+++ incubator/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.js Sun Jun 17 18:34:20 2007
@@ -22,7 +22,7 @@
// create date picker instance
YAHOO.wicket.${widgetId}DpJs = new YAHOO.widget.Calendar("${widgetId}DpJs","${widgetId}Dp", { ${calendarInit} });
-
+ YAHOO.wicket.${widgetId}DpJs.isVisible = function() { return YAHOO.wicket.${widgetId}DpJs.oDomContainer.style.display == 'block'; }
// inner function to show the calendar
function showCalendar() {
var dateValue = YAHOO.util.Dom.get("${widgetId}").value;
@@ -47,11 +47,17 @@
var yr = selDateArray[0];
var month = selDateArray[1];
var dt = selDateArray[2];
- var val = '${datePattern}'.replace(/d+/, dt).replace(/M+/, month).replace(/y+/, yr);
+ var val = '${datePattern}'.replace(/d+/, dt).replace(/M+/, month).replace(/y+/, yr);
+ var wasVisible = YAHOO.wicket.${widgetId}DpJs.isVisible();
YAHOO.util.Dom.get("${widgetId}").value = val;
-
+
// hide picker
cal.hide();
+
+ // fire onchange notification
+ if (wasVisible && ${fireChangeEvent}) {
+ YAHOO.util.Dom.get("${widgetId}").onchange();
+ }
}
// register the select handler function