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() {