Author: mgrigorov
Date: Fri Feb 11 09:50:56 2011
New Revision: 1069727

URL: http://svn.apache.org/viewvc?rev=1069727&view=rev
Log:
WICKET-3436 OnChangeAjaxBehavior can render javascript before wicket-ajax.js is 
loaded

register Wicket.ChangeHandler when 'domready' event is fired.
This way the registration doesn't depend on already loaded wicket-ajax.js


Modified:
    
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/ajax/form/OnChangeAjaxBehavior.java

Modified: 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/ajax/form/OnChangeAjaxBehavior.java
URL: 
http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/ajax/form/OnChangeAjaxBehavior.java?rev=1069727&r1=1069726&r2=1069727&view=diff
==============================================================================
--- 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/ajax/form/OnChangeAjaxBehavior.java
 (original)
+++ 
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/ajax/form/OnChangeAjaxBehavior.java
 Fri Feb 11 09:50:56 2011
@@ -16,10 +16,9 @@
  */
 package org.apache.wicket.ajax.form;
 
-import org.apache.wicket.Response;
+import org.apache.wicket.markup.html.IHeaderResponse;
 import org.apache.wicket.markup.html.form.AbstractTextComponent;
 import org.apache.wicket.markup.html.form.FormComponent;
-import org.apache.wicket.util.string.JavascriptUtils;
 
 /**
  * A behavior that updates the hosting {@link FormComponent} via ajax when 
value of the component is
@@ -48,15 +47,14 @@ public abstract class OnChangeAjaxBehavi
        }
 
        @Override
-       protected void onComponentRendered()
+       public void renderHead(final IHeaderResponse response)
        {
+               super.renderHead(response);
+
                if (getComponent() instanceof AbstractTextComponent)
                {
-                       Response response = getComponent().getResponse();
                        final String id = getComponent().getMarkupId();
-                       response.write(JavascriptUtils.SCRIPT_OPEN_TAG);
-                       response.write("new Wicket.ChangeHandler('" + id + 
"');");
-                       response.write(JavascriptUtils.SCRIPT_CLOSE_TAG);
+                       response.renderOnDomReadyJavascript("new 
Wicket.ChangeHandler('" + id + "');");
                }
        }
 }


Reply via email to