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;
},