You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2013/08/12 15:52:54 UTC

git commit: WICKET-5315 PriorityHeaderItem+OnDomReadyHeaderItem has no priority in Ajax response

Updated Branches:
  refs/heads/wicket-6.x 5e5afd112 -> 706d7ac39


WICKET-5315 PriorityHeaderItem+OnDomReadyHeaderItem has no priority in Ajax response


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

Branch: refs/heads/wicket-6.x
Commit: 706d7ac39f249dec00ab3b7a6a6653ae9ff115f3
Parents: 5e5afd1
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Mon Aug 12 16:51:17 2013 +0300
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Mon Aug 12 16:52:35 2013 +0300

----------------------------------------------------------------------
 .../wicket/ajax/AbstractAjaxResponse.java       | 21 +++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/706d7ac3/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 b7c51de..86cf240 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
@@ -28,9 +28,11 @@ import org.apache.wicket.Component;
 import org.apache.wicket.Page;
 import org.apache.wicket.markup.head.HeaderItem;
 import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.markup.head.IWrappedHeaderItem;
 import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
 import org.apache.wicket.markup.head.OnEventHeaderItem;
 import org.apache.wicket.markup.head.OnLoadHeaderItem;
+import org.apache.wicket.markup.head.PriorityHeaderItem;
 import org.apache.wicket.markup.head.internal.HeaderResponse;
 import org.apache.wicket.markup.html.internal.HtmlHeaderContainer;
 import org.apache.wicket.markup.parser.filter.HtmlHeaderSectionHandler;
@@ -527,6 +529,16 @@ public abstract class AbstractAjaxResponse
 		@Override
 		public void render(HeaderItem item)
 		{
+			PriorityHeaderItem priorityHeaderItem = null;
+			while (item instanceof IWrappedHeaderItem)
+			{
+				if (item instanceof PriorityHeaderItem)
+				{
+					priorityHeaderItem = (PriorityHeaderItem) item;
+				}
+				item = ((IWrappedHeaderItem) item).getWrapped();
+			}
+
 			if (item instanceof OnLoadHeaderItem)
 			{
 				if (!wasItemRendered(item))
@@ -547,7 +559,14 @@ public abstract class AbstractAjaxResponse
 			{
 				if (!wasItemRendered(item))
 				{
-					AbstractAjaxResponse.this.domReadyJavaScripts.add(((OnDomReadyHeaderItem)item).getJavaScript());
+					if (priorityHeaderItem != null)
+					{
+						AbstractAjaxResponse.this.domReadyJavaScripts.add(0, ((OnDomReadyHeaderItem)item).getJavaScript());
+					}
+					else
+					{
+						AbstractAjaxResponse.this.domReadyJavaScripts.add(((OnDomReadyHeaderItem)item).getJavaScript());
+					}
 					markItemRendered(item);
 				}
 			}