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 2014/11/17 16:45:20 UTC
wicket git commit: WICKET-5747 Wicket Ajax Click handling gets
requeued in OnDomReady so fire out of order
Repository: wicket
Updated Branches:
refs/heads/wicket-6.x 6b50a9e94 -> 626d93fb0
WICKET-5747 Wicket Ajax Click handling gets requeued in OnDomReady so fire out of order
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/626d93fb
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/626d93fb
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/626d93fb
Branch: refs/heads/wicket-6.x
Commit: 626d93fb0f8aa1997d534f6b2f150db72d06fde6
Parents: 6b50a9e
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Mon Nov 17 17:45:00 2014 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Mon Nov 17 17:45:00 2014 +0200
----------------------------------------------------------------------
.../wicket/ajax/res/js/wicket-event-jquery.js | 23 ++++++++----------
.../markup/head/OnDomReadyHeaderItem.java | 1 -
.../wicket/markup/head/ResourceAggregator.java | 25 ++++++++++++++------
3 files changed, 28 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/626d93fb/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-event-jquery.js
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-event-jquery.js b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-event-jquery.js
index ca37a13..41fca04 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-event-jquery.js
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-event-jquery.js
@@ -231,21 +231,18 @@
jQuery(fn);
});
} else {
- // try to find the element once the DOM is ready
- jQuery(function() {
- type = (type === 'mousewheel' && Wicket.Browser.isGecko()) ? 'DOMMouseScroll' : type;
- var el = element;
- if (typeof(element) === 'string') {
- el = document.getElementById(element);
- }
+ type = (type === 'mousewheel' && Wicket.Browser.isGecko()) ? 'DOMMouseScroll' : type;
+ var el = element;
+ if (typeof(element) === 'string') {
+ el = document.getElementById(element);
+ }
- if (!el && Wicket.Log) {
- Wicket.Log.error('Cannot bind a listener for event "' + type +
- '" on element "' + element + '" because the element is not in the DOM');
- }
+ if (!el && Wicket.Log) {
+ Wicket.Log.error('Cannot bind a listener for event "' + type +
+ '" on element "' + element + '" because the element is not in the DOM');
+ }
- jQuery(el).on(type, selector, data, fn);
- });
+ jQuery(el).on(type, selector, data, fn);
}
return element;
},
http://git-wip-us.apache.org/repos/asf/wicket/blob/626d93fb/wicket-core/src/main/java/org/apache/wicket/markup/head/OnDomReadyHeaderItem.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/OnDomReadyHeaderItem.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/OnDomReadyHeaderItem.java
index 8582cac..c0a415e 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/OnDomReadyHeaderItem.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/OnDomReadyHeaderItem.java
@@ -22,7 +22,6 @@ import org.apache.wicket.Application;
import org.apache.wicket.request.Response;
import org.apache.wicket.request.resource.ResourceReference;
import org.apache.wicket.settings.IJavaScriptLibrarySettings;
-import org.apache.wicket.util.lang.Args;
import org.apache.wicket.core.util.string.JavaScriptUtils;
import org.apache.wicket.util.string.Strings;
http://git-wip-us.apache.org/repos/asf/wicket/blob/626d93fb/wicket-core/src/main/java/org/apache/wicket/markup/head/ResourceAggregator.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/markup/head/ResourceAggregator.java b/wicket-core/src/main/java/org/apache/wicket/markup/head/ResourceAggregator.java
index 67e80a9..9cad055 100644
--- a/wicket-core/src/main/java/org/apache/wicket/markup/head/ResourceAggregator.java
+++ b/wicket-core/src/main/java/org/apache/wicket/markup/head/ResourceAggregator.java
@@ -172,7 +172,12 @@ public class ResourceAggregator extends DecoratingHeaderResponse
}
private final Map<HeaderItem, RecordedHeaderItem> itemsToBeRendered;
- private final List<OnDomReadyHeaderItem> domReadyItemsToBeRendered;
+
+ /**
+ * Header items which should be executed once the DOM is ready.
+ * Collects OnDomReadyHeaderItems and OnEventHeaderItems
+ */
+ private final List<HeaderItem> domReadyItemsToBeRendered;
private final List<OnLoadHeaderItem> loadItemsToBeRendered;
private Object renderBase;
@@ -189,7 +194,7 @@ public class ResourceAggregator extends DecoratingHeaderResponse
super(real);
itemsToBeRendered = new LinkedHashMap<HeaderItem, RecordedHeaderItem>();
- domReadyItemsToBeRendered = new ArrayList<OnDomReadyHeaderItem>();
+ domReadyItemsToBeRendered = new ArrayList<HeaderItem>();
loadItemsToBeRendered = new ArrayList<OnLoadHeaderItem>();
}
@@ -251,10 +256,10 @@ public class ResourceAggregator extends DecoratingHeaderResponse
public void render(HeaderItem item)
{
item = getItemToBeRendered(item);
- if (item instanceof OnDomReadyHeaderItem)
+ if (item instanceof OnDomReadyHeaderItem || item instanceof OnEventHeaderItem)
{
renderDependencies(item, new LinkedHashSet<HeaderItem>());
- domReadyItemsToBeRendered.add((OnDomReadyHeaderItem)item);
+ domReadyItemsToBeRendered.add(item);
}
else if (item instanceof OnLoadHeaderItem)
{
@@ -314,12 +319,18 @@ public class ResourceAggregator extends DecoratingHeaderResponse
private void renderCombinedEventScripts()
{
StringBuilder combinedScript = new StringBuilder();
- for (OnDomReadyHeaderItem curItem : domReadyItemsToBeRendered)
+ for (HeaderItem curItem : domReadyItemsToBeRendered)
{
if (markItemRendered(curItem))
{
combinedScript.append('\n');
- combinedScript.append(curItem.getJavaScript());
+ if (curItem instanceof OnDomReadyHeaderItem)
+ {
+ combinedScript.append(((OnDomReadyHeaderItem)curItem).getJavaScript());
+ } else if (curItem instanceof OnEventHeaderItem)
+ {
+ combinedScript.append(((OnEventHeaderItem)curItem).getCompleteJavaScript());
+ }
combinedScript.append(';');
}
}
@@ -352,7 +363,7 @@ public class ResourceAggregator extends DecoratingHeaderResponse
*/
private void renderSeperateEventScripts()
{
- for (OnDomReadyHeaderItem curItem : domReadyItemsToBeRendered)
+ for (HeaderItem curItem : domReadyItemsToBeRendered)
{
if (markItemRendered(curItem))
{