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 2016/03/06 15:55:53 UTC

[6/7] wicket git commit: WICKET-6108 Closing a ModalWindow with jQuery 2.2.0 produces javascript errors

WICKET-6108 Closing a ModalWindow with jQuery 2.2.0 produces javascript errors

Wicket should not try to stop 'domready' events.
In case of 'domready' Wicket uses jQuery.ready(handler) instead of jQuery.on(eventName, handler) and this makes the difference.

See https://github.com/jquery/jquery/issues/2963


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

Branch: refs/heads/pr-160-master
Commit: fe3a6caf09bedb537f98cc157049584350e5877e
Parents: 63f0c62
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Wed Mar 2 17:30:09 2016 +0100
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Sun Mar 6 14:31:17 2016 +0100

----------------------------------------------------------------------
 .../apache/wicket/ajax/res/js/wicket-ajax-jquery.js    | 13 +++++++++----
 .../apache/wicket/ajax/res/js/wicket-event-jquery.js   |  3 +--
 wicket-core/src/test/js/ajax.js                        |  6 ++++--
 3 files changed, 14 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/fe3a6caf/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 aff5556..55e6e61 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
@@ -1955,9 +1955,12 @@
 					Wicket.Event.add(attrs.c, evt, function (jqEvent, data) {
 						var call = new Wicket.Ajax.Call();
 						var attributes = jQuery.extend({}, attrs);
-						attributes.event = Wicket.Event.fix(jqEvent);
-						if (data) {
-							attributes.event.extraData = data;
+
+						if (evt !== "domready") {
+							attributes.event = Wicket.Event.fix(jqEvent);
+							if (data) {
+								attributes.event.extraData = data;
+							}
 						}
 
 						call._executeHandlers(attributes.ih, attributes);
@@ -1975,7 +1978,9 @@
 						else {
 							call.ajax(attributes);
 						}
-						Wicket.Ajax._handleEventCancelation(attributes);
+						if (evt !== "domready") {
+							Wicket.Ajax._handleEventCancelation(attributes);
+						}
 					}, null, attrs.sel);
 				});
 			},

http://git-wip-us.apache.org/repos/asf/wicket/blob/fe3a6caf/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 7e0322c..9fb0aa2 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
@@ -177,8 +177,7 @@
 			 * If no event is given as argument (IE), window.event is returned.
 			 */
 			fix: function (evt) {
-				var evnt = evt || window.event;
-				return jQuery.event.fix(evnt);
+				return evt || jQuery.event.fix(window.event);
 			},
 
 			fire: function (element, event) {

http://git-wip-us.apache.org/repos/asf/wicket/blob/fe3a6caf/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 c66ef6d..bdd772f 100644
--- a/wicket-core/src/test/js/ajax.js
+++ b/wicket-core/src/test/js/ajax.js
@@ -435,7 +435,7 @@ jQuery(document).ready(function() {
 		 */
 		asyncTest('verify default attributes.', function () {
 
-			expect(25);
+			expect(26);
 
 			var attrs = {
 				u: 'data/ajax/nonWicketResponse.json',
@@ -445,6 +445,7 @@ jQuery(document).ready(function() {
 						equal(textStatus, "parsererror", "textStatus");
 						equal(attributes.u, attrs.u, "url");
 						deepEqual(attributes.e, [ "domready" ], "events");
+						equal(attributes.event, null, "No event for 'domready'");
 						equal(attributes.ch, '0|s', 'channel');
 						equal(attributes.dt, 'xml', 'data type');
 						equal(attributes.wr, true, 'wicket ajax response');
@@ -476,7 +477,7 @@ jQuery(document).ready(function() {
 
 		asyncTest('verify arguments to global listeners. Success scenario.', function () {
 
-			expect(13);
+			expect(14);
 
 			var attrs = {
 				u: 'data/ajax/nonWicketResponse.json',
@@ -496,6 +497,7 @@ jQuery(document).ready(function() {
 					two: '2',
 					three: true
 				};
+				ok(attributes.event instanceof jQuery.Event, "There must be an event for non-'domready' events");
 				deepEqual(data, expected, 'Success: data');
 				equal('success', textStatus, 'Success: textStatus');
 				equal(attrs.u, attributes.u, 'Success: attrs');