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 2012/07/23 11:38:36 UTC
git commit: WICKET-4652 AbstractAjaxTimerBehavior throws
ComponentNotFoundException when its component is replaced in PageMap.
Updated Branches:
refs/heads/master 382431639 -> 8fb770773
WICKET-4652 AbstractAjaxTimerBehavior throws ComponentNotFoundException when its component is replaced in PageMap.
1) default precondition returns 'true' if there is no specified component (attrs.c) - this may happen if someone uses JavaScript APIs directly.
Our default impl sets 'window' if attrs.c is undefined.
2) Wicket.DOM.inDoc(window) now returns 'true'
3) add unit tests
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/8fb77077
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/8fb77077
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/8fb77077
Branch: refs/heads/master
Commit: 8fb77077354c6658e19bff4d6ee118c7d4896c58
Parents: 3824316
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Mon Jul 23 12:27:08 2012 +0300
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Mon Jul 23 12:27:08 2012 +0300
----------------------------------------------------------------------
.../wicket/ajax/res/js/wicket-ajax-jquery.js | 4 ++
wicket-core/src/test/js/ajax.js | 32 ++++-----------
wicket-core/src/test/js/all.html | 4 ++
wicket-core/src/test/js/dom.js | 6 ++-
4 files changed, 21 insertions(+), 25 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/wicket/blob/8fb77077/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
index 44fb6c5..fa46f1c 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-jquery.js
@@ -450,6 +450,7 @@
return Wicket.$$(attributes.c);
}
}
+ return true;
}];
if (Wicket.Focus.lastFocusId) {
@@ -1389,6 +1390,9 @@
* if the argument is not element, function returns true
*/
inDoc: function (element) {
+ if (element === window) {
+ return true;
+ }
if (typeof(element) === "string") {
element = Wicket.$(element);
}
http://git-wip-us.apache.org/repos/asf/wicket/blob/8fb77077/wicket-core/src/test/js/ajax.js
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/js/ajax.js b/wicket-core/src/test/js/ajax.js
index 0f52461..1558735 100644
--- a/wicket-core/src/test/js/ajax.js
+++ b/wicket-core/src/test/js/ajax.js
@@ -551,14 +551,11 @@ jQuery(document).ready(function() {
.append($indicator)
.append($el);
- // counts how many complete handlers have been executed
- var calls = 0;
-
// returns the number of 'shows' of the indicator
var getCurrentCount = function () {
var count = $indicator.attr('showIncrementallyCount');
return count ? parseInt(count, 10) : 0;
- }
+ };
// called as 'success' for requestOne and as 'failure' for requestTwo
var successFailureHandler = function () {
@@ -566,15 +563,6 @@ jQuery(document).ready(function() {
ok(count === 1 || count === 2, "'showIncrementallyCount' must be 1 or 2. Value is: " + count);
};
- // notifies when the last (second) complete handler is done
- var deferred = jQuery.Deferred();
-
- var completeHandler = function () {
- if (++calls === 2) {
- deferred.resolve();
- }
- };
-
var attrs = {
u: 'data/ajax/nonWicketResponse.json',
e: 'event1',
@@ -583,7 +571,6 @@ jQuery(document).ready(function() {
dt: 'json', // datatype
sh: [ successFailureHandler ],
fh: [ successFailureHandler ],
- coh: [ completeHandler ],
wr: false // not Wicket's <ajax-response>
};
@@ -599,7 +586,14 @@ jQuery(document).ready(function() {
var attrsThree = jQuery.extend({}, attrs, {
pre: [
function () {
+ start();
ok(true, 'Request 3: Precondition called.')
+
+ var count = getCurrentCount();
+ equal(0, count, "'showIncrementallyCount' must be 0 after the executions but is: " + count);
+ $indicator.remove();
+ $el.off().remove();
+
return false;
}
]
@@ -607,16 +601,6 @@ jQuery(document).ready(function() {
// binds requestThree - not executed due to precondition
Wicket.Ajax.ajax(attrsThree);
- // executed when the last request is in its 'onComplete' phase.
- jQuery.when(deferred)
- .done(function () {
- start();
- var count = getCurrentCount();
- equal(0, count, "'showIncrementallyCount' must be 0 after the executions but is: " + count);
- $indicator.remove();
- $el.off().remove();
- });
-
// fire all requests
$el.triggerHandler("event1");
});
http://git-wip-us.apache.org/repos/asf/wicket/blob/8fb77077/wicket-core/src/test/js/all.html
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/js/all.html b/wicket-core/src/test/js/all.html
index caecb94..71ae31c 100644
--- a/wicket-core/src/test/js/all.html
+++ b/wicket-core/src/test/js/all.html
@@ -39,6 +39,10 @@
AJAX
-->
+ <div id="evaluationId"></div>
+ <div id="priorityEvaluationId"></div>
+ <div id="evaluationIdentifierAndCodeId"></div>
+
<div id="componentToReplace">old body</div>
<textarea id="componentId"><ajax-response><component id="componentToReplace"><![CDATA[<span id="componentToReplace">new body</span>]]></component></ajax-response></textarea>
http://git-wip-us.apache.org/repos/asf/wicket/blob/8fb77077/wicket-core/src/test/js/dom.js
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/js/dom.js b/wicket-core/src/test/js/dom.js
index be8e20b..daa9c95 100644
--- a/wicket-core/src/test/js/dom.js
+++ b/wicket-core/src/test/js/dom.js
@@ -48,7 +48,11 @@ jQuery(document).ready(function() {
});
test("Wicket.$$ looks for non existing element", function() {
- equal( Wicket.$$(nonExistingId), true, "Wicket.$$ should return true for non existing elements." );
+ equal( Wicket.$$(nonExistingId), false, "Wicket.$$ should return 'false' for non existing elements." );
+ });
+
+ test("Wicket.$$ looks for 'window'", function() {
+ equal( Wicket.$$(window), true, "Wicket.$$ should return 'true' for 'window'." );
});
test("Wicket.$$ looks for element in iframe", function() {