Updated Branches:
  refs/heads/master 017961387 -> 217fbb3bf

WICKET-5082 ensure consistent JavaScript ordering with Wicket's
IHeaderRenderStrategy for Ajax responses and removing special handling
of Ajax response in AjaxEventBehavior, i.e. not calling
appendJavaScript()

Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/217fbb3b
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/217fbb3b
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/217fbb3b

Branch: refs/heads/master
Commit: 217fbb3bf370fc2e41dcf78f23ba83b24c82492a
Parents: 0179613
Author: svenmeier <[email protected]>
Authored: Thu Mar 7 20:30:42 2013 +0100
Committer: svenmeier <[email protected]>
Committed: Thu Mar 7 20:30:42 2013 +0100

----------------------------------------------------------------------
 .../apache/wicket/ajax/AbstractAjaxResponse.java   |   28 ++------------
 .../org/apache/wicket/ajax/AjaxEventBehavior.java  |   10 +-----
 .../ajax/DomReadyOrderPage_ajax_expected.html      |    2 +-
 3 files changed, 6 insertions(+), 34 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/217fbb3b/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxResponse.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxResponse.java 
b/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxResponse.java
index 80624bf..1e3cd1a 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxResponse.java
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/AbstractAjaxResponse.java
@@ -25,7 +25,6 @@ import java.util.List;
 import java.util.Map;
 
 import org.apache.wicket.Component;
-import org.apache.wicket.MarkupContainer;
 import org.apache.wicket.Page;
 import org.apache.wicket.markup.head.HeaderItem;
 import org.apache.wicket.markup.head.IHeaderResponse;
@@ -34,6 +33,8 @@ import org.apache.wicket.markup.head.OnLoadHeaderItem;
 import org.apache.wicket.markup.head.internal.HeaderResponse;
 import org.apache.wicket.markup.html.internal.HtmlHeaderContainer;
 import org.apache.wicket.markup.parser.filter.HtmlHeaderSectionHandler;
+import org.apache.wicket.markup.renderStrategy.AbstractHeaderRenderStrategy;
+import org.apache.wicket.markup.renderStrategy.IHeaderRenderStrategy;
 import org.apache.wicket.markup.repeater.AbstractRepeater;
 import org.apache.wicket.request.IRequestCycle;
 import org.apache.wicket.request.Response;
@@ -44,8 +45,6 @@ import org.apache.wicket.util.lang.Classes;
 import org.apache.wicket.util.lang.Generics;
 import org.apache.wicket.util.string.AppendingStringBuffer;
 import org.apache.wicket.util.string.Strings;
-import org.apache.wicket.util.visit.IVisit;
-import org.apache.wicket.util.visit.IVisitor;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -460,28 +459,9 @@ public abstract class AbstractAjaxResponse
                try {
                        encodingHeaderResponse.reset();
 
-                       // render the head of component and all it's children
+                       IHeaderRenderStrategy strategy = 
AbstractHeaderRenderStrategy.get();
 
-                       component.renderHead(header);
-
-                       if (component instanceof MarkupContainer)
-                       {
-                               ((MarkupContainer)component).visitChildren(new 
IVisitor<Component, Void>()
-                               {
-                                       @Override
-                                       public void component(final Component 
component, final IVisit<Void> visit)
-                                       {
-                                               if 
(component.isVisibleInHierarchy())
-                                               {
-                                                       
component.renderHead(header);
-                                               }
-                                               else
-                                               {
-                                                       visit.dontGoDeeper();
-                                               }
-                                       }
-                               });
-                       }
+                       strategy.renderHeader(header, null, component);
                } finally {
                        // revert to old response
                        requestCycle.setResponse(oldResponse);

http://git-wip-us.apache.org/repos/asf/wicket/blob/217fbb3b/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxEventBehavior.java
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxEventBehavior.java 
b/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxEventBehavior.java
index 8998cb5..0cee432 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxEventBehavior.java
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/AjaxEventBehavior.java
@@ -82,15 +82,7 @@ public abstract class AjaxEventBehavior extends 
AbstractDefaultAjaxBehavior
                {
                        CharSequence js = getCallbackScript(component);
 
-                       AjaxRequestTarget target = 
component.getRequestCycle().find(AjaxRequestTarget.class);
-                       if (target == null)
-                       {
-                               
response.render(OnDomReadyHeaderItem.forScript(js.toString()));
-                       }
-                       else
-                       {
-                               target.appendJavaScript(js);
-                       }
+                       
response.render(OnDomReadyHeaderItem.forScript(js.toString()));
                }
        }
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/217fbb3b/wicket-core/src/test/java/org/apache/wicket/ajax/DomReadyOrderPage_ajax_expected.html
----------------------------------------------------------------------
diff --git 
a/wicket-core/src/test/java/org/apache/wicket/ajax/DomReadyOrderPage_ajax_expected.html
 
b/wicket-core/src/test/java/org/apache/wicket/ajax/DomReadyOrderPage_ajax_expected.html
index a35bf0e..c62457a 100644
--- 
a/wicket-core/src/test/java/org/apache/wicket/ajax/DomReadyOrderPage_ajax_expected.html
+++ 
b/wicket-core/src/test/java/org/apache/wicket/ajax/DomReadyOrderPage_ajax_expected.html
@@ -12,4 +12,4 @@ Wicket.Ajax.DebugWindow.enabled=true;
 Wicket.Ajax.baseUrl="wicket/page?0-1.IBehaviorListener.0-test";
 /*]^]^>*/
 </script>
-</head>]]></header-contribution><evaluate><![CDATA[(function(){test1();})();(function(){test2();})();(function(){Wicket.Ajax.ajax({"u":"./page?0-1.IBehaviorListener.0-test","e":"click","c":"test1"});})();]]></evaluate></ajax-response>
\ No newline at end of file
+</head>]]></header-contribution><evaluate><![CDATA[(function(){Wicket.Ajax.ajax({"u":"./page?0-1.IBehaviorListener.0-test","e":"click","c":"test1"});})();(function(){test1();})();(function(){test2();})();]]></evaluate></ajax-response>
\ No newline at end of file

Reply via email to