You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by sv...@apache.org on 2019/07/02 07:18:29 UTC

[wicket] branch feature/WICKET-6681-vanilla-wicket-ajax updated (3680062 -> d063f5d)

This is an automated email from the ASF dual-hosted git repository.

svenmeier pushed a change to branch feature/WICKET-6681-vanilla-wicket-ajax
in repository https://gitbox.apache.org/repos/asf/wicket.git.


    from 3680062  WICKET-6681 Implement Wicket Ajax with plain JavaScript APIs, i.e. without jQuery
     new 9d87c4e  WICKET-6681 addEventListener on element instead of document
     new 50d06e2  WICKET-6681 removeEventListener needs listener
     new 6ec1685  WICKET-6681 extend must preserve __proto__
     new d063f5d  WICKET-6681 no jQuery

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../wicket/ajax/res/js/wicket-ajax-vanilla.js      | 49 ++++++++++------------
 .../wicket/devutils/debugbar/wicket-debugbar.js    |  8 ++--
 2 files changed, 26 insertions(+), 31 deletions(-)


[wicket] 04/04: WICKET-6681 no jQuery

Posted by sv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

svenmeier pushed a commit to branch feature/WICKET-6681-vanilla-wicket-ajax
in repository https://gitbox.apache.org/repos/asf/wicket.git

commit d063f5d4037986b5aabaa703e42fe0a00ac1b61f
Author: Sven Meier <sv...@apache.org>
AuthorDate: Tue Jul 2 09:17:30 2019 +0200

    WICKET-6681 no jQuery
    
    #param()
    #isPlainObject()
---
 .../java/org/apache/wicket/ajax/res/js/wicket-ajax-vanilla.js  | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-vanilla.js b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-vanilla.js
index 62555e3..1c45639 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-vanilla.js
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-vanilla.js
@@ -517,8 +517,7 @@
 				name;
 			if (Array.isArray(parameters)) {
 				result = parameters;
-			}
-			else if (jQuery.isPlainObject(parameters)) {
+			} else {
 				for (name in parameters) {
 					if (name && parameters.hasOwnProperty(name)) {
 						value = parameters[name];
@@ -684,12 +683,7 @@
 			// collect the dynamic extra parameters
 			if (Array.isArray(attrs.dep)) {
 				var dynamicData = this._calculateDynamicParameters(attrs);
-				if (attrs.m.toLowerCase() === 'post') {
-					data = data.concat(dynamicData);
-				} else {
-					var separator = url.indexOf('?') > -1 ? '&' : '?';
-					url = url + separator + jQuery.param(dynamicData);
-				}
+				data = data.concat(dynamicData);
 			}
 
 			var wwwFormUrlEncoded; // undefined is jQuery's default


[wicket] 03/04: WICKET-6681 extend must preserve __proto__

Posted by sv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

svenmeier pushed a commit to branch feature/WICKET-6681-vanilla-wicket-ajax
in repository https://gitbox.apache.org/repos/asf/wicket.git

commit 6ec1685d1d6a1b82020d272e973892b253e9bfe9
Author: Sven Meier <sv...@apache.org>
AuthorDate: Tue Jul 2 09:05:23 2019 +0200

    WICKET-6681 extend must preserve __proto__
---
 .../wicket/ajax/res/js/wicket-ajax-vanilla.js      | 24 ++++++++++------------
 1 file changed, 11 insertions(+), 13 deletions(-)

diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-vanilla.js b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-vanilla.js
index 4396b0d..62555e3 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-vanilla.js
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-vanilla.js
@@ -190,37 +190,35 @@
 	var extend = function () {
 
 		// Variables
-		var extended = {};
 		var deep = false;
 		var i = 0;
 		var length = arguments.length;
 
 		// Check if a deep merge
 		if ( Object.prototype.toString.call( arguments[0] ) === '[object Boolean]' ) {
-			deep = arguments[0];
+			deep = arguments[i];
 			i++;
 		}
 
-		// Merge the object into the extended object
-		var merge = function (obj) {
+		var extended = arguments[i];
+		i++;
+		
+		// Loop through each object and conduct a merge
+		for ( ; i < length; i++ ) {
+			var obj = arguments[i];
+			
 			for ( var prop in obj ) {
 				if ( Object.prototype.hasOwnProperty.call( obj, prop ) ) {
 					// If deep merge and property is an object, merge properties
-					if ( deep && Object.prototype.toString.call(obj[prop]) === '[object Object]' ) {
+					if ( deep && Object.prototype.toString.call(obj[prop]) === '[object Object]' && extended[prop]) {
 						extended[prop] = extend( true, extended[prop], obj[prop] );
 					} else {
 						extended[prop] = obj[prop];
 					}
 				}
 			}
-		};
-
-		// Loop through each object and conduct a merge
-		for ( ; i < length; i++ ) {
-			var obj = arguments[i];
-			merge(obj);
 		}
-
+		
 		return extended;
 	};
 	
@@ -1172,7 +1170,7 @@
 		}
 	};
 
-	Wicket = extend(true, Wicket, {
+	extend(true, Wicket, {
 
 		channelManager: new Wicket.ChannelManager(),
 


[wicket] 02/04: WICKET-6681 removeEventListener needs listener

Posted by sv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

svenmeier pushed a commit to branch feature/WICKET-6681-vanilla-wicket-ajax
in repository https://gitbox.apache.org/repos/asf/wicket.git

commit 50d06e2e9bc2fc39f93a3aa215df10de6d6430ee
Author: Sven Meier <sv...@apache.org>
AuthorDate: Tue Jul 2 09:01:45 2019 +0200

    WICKET-6681 removeEventListener needs listener
---
 .../java/org/apache/wicket/devutils/debugbar/wicket-debugbar.js   | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/wicket-debugbar.js b/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/wicket-debugbar.js
index da65e0f..151ec70 100644
--- a/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/wicket-debugbar.js
+++ b/wicket-devutils/src/main/java/org/apache/wicket/devutils/debugbar/wicket-debugbar.js
@@ -74,10 +74,12 @@
 
 			var el = Wicket.$('wicketDebugBar');
 			el.classList.add('wicketDebugBarError')
-			el.addEventListener('animationend', function() {
-				el.removeEventListener('animationend');
+			
+			var listener = function() {
+				el.removeEventListener('animationend', listener);
 				el.classList.remove('wicketDebugBarError');
-			});
+			};
+			el.addEventListener('animationend', listener);			
 		};
 	};
 })();


[wicket] 01/04: WICKET-6681 addEventListener on element instead of document

Posted by sv...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

svenmeier pushed a commit to branch feature/WICKET-6681-vanilla-wicket-ajax
in repository https://gitbox.apache.org/repos/asf/wicket.git

commit 9d87c4e2571c3feefb7859b598f42477e3af9296
Author: Sven Meier <sv...@apache.org>
AuthorDate: Mon Jul 1 12:26:29 2019 +0200

    WICKET-6681 addEventListener on element instead of document
    
    because "load" does fire on document only
---
 .../org/apache/wicket/ajax/res/js/wicket-ajax-vanilla.js  | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-vanilla.js b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-vanilla.js
index c25b74c..4396b0d 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-vanilla.js
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-ajax-vanilla.js
@@ -2463,30 +2463,31 @@
 			 *      the event is always triggered when it reaches the selected element.
 			 */
 			add: function (element, type, fn, data, selector) {
+				var el = element;
+				if (typeof(element) === 'string') {
+					el = Wicket.$(element);
+				}
+				
 				if (type === 'domready') {
 					if (document.readyState !== 'loading') {
 						fn();
 					} else {
-						document.addEventListener('DOMContentLoaded', fn);
+						el.addEventListener('DOMContentLoaded', fn);
 					}
 				} else if (type === 'load' && isWindow(element)) {
 					if (document.readyState !== 'loading') {
 						fn();
 					} else {
-						document.addEventListener('load', fn);
+						el.addEventListener('load', fn);
 					}
 				} else {
-					var el = element;
-					if (typeof(element) === 'string') {
-						el = Wicket.$(element);
-					}
 
 					if (!el && Wicket.Log) {
 						Wicket.Log.error("Cannot bind a listener for event '%s' because the element is not in the DOM", type, element);
 					}
 
 					// FIXME: how to pass sub-selector and data to the native impl ?
-					Wicket.$(el).addEventListener(type, fn, selector, data);
+					el.addEventListener(type, fn, selector, data);
 				}
 				return element;
 			},