You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by gs...@apache.org on 2007/10/06 23:43:41 UTC
svn commit: r582535 -
/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
Author: gseitz
Date: Sat Oct 6 14:43:37 2007
New Revision: 582535
URL: http://svn.apache.org/viewvc?rev=582535&view=rev
Log:
when in AjaxRequest, remove the previously generated markup (see onRendered) via javascript to not render multiple yui calendars
Modified:
wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
Modified: wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java
URL: http://svn.apache.org/viewvc/wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java?rev=582535&r1=582534&r2=582535&view=diff
==============================================================================
--- wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java (original)
+++ wicket/trunk/jdk-1.4/wicket-datetime/src/main/java/org/apache/wicket/extensions/yui/calendar/DatePicker.java Sat Oct 6 14:43:37 2007
@@ -35,6 +35,7 @@
import org.apache.wicket.Response;
import org.apache.wicket.WicketRuntimeException;
import org.apache.wicket.ajax.AjaxEventBehavior;
+import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.behavior.AbstractBehavior;
import org.apache.wicket.behavior.StringHeaderContributor;
import org.apache.wicket.datetime.markup.html.form.DateTextField;
@@ -255,6 +256,18 @@
TextTemplate datePickerJs = new PackagedTextTemplate(DatePicker.class, "DatePicker.js");
datePickerJs.interpolate(variables);
response.renderOnDomReadyJavascript(datePickerJs.asString());
+
+ // remove previously generated markup (see onRendered) via javascript in
+ // ajax requests to not render the yui calendar multiple times
+ if (AjaxRequestTarget.get() != null)
+ {
+ final String javascript = "var e = Wicket.$('" + getEscapedComponentMarkupId() + "Dp"
+ + "'); if (e != null && typeof(e.parentNode) != 'undefined' && "
+ + "typeof(e.parentNode.parentNode != 'undefined')) "
+ + "e.parentNode.parentNode.removeChild(e.parentNode);";
+
+ response.renderJavascript(javascript, null);
+ }
}
/**