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:32 UTC

[2/2] git commit: WICKET-5315 PriorityHeaderItem+OnDomReadyHeaderItem has no priority in Ajax response

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/bfd46496
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/bfd46496
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/bfd46496

Branch: refs/heads/master
Commit: bfd4649656f4f51c8d1a164cc14cb5b8dc71f89d
Parents: 841e9a4
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:51:17 2013 +0300

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


http://git-wip-us.apache.org/repos/asf/wicket/blob/bfd46496/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 668e3af..0f656b0 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);
 				}
 			}