Author: mgrigorov
Date: Fri Nov 18 13:51:58 2011
New Revision: 1203650
URL: http://svn.apache.org/viewvc?rev=1203650&view=rev
Log:
Pass the arguments of W.E.publish() to the subsribers
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-event-jquery.js
wicket/trunk/wicket-core/src/test/js/event.js
Modified:
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-event-jquery.js
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-event-jquery.js?rev=1203650&r1=1203649&r2=1203650&view=diff
==============================================================================
---
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-event-jquery.js
(original)
+++
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/ajax/res/js/wicket-event-jquery.js
Fri Nov 18 13:51:58 2011
@@ -153,11 +153,9 @@
*/
subscribe: function (topic, subscriber) {
- if (typeof(topic) === 'undefined' || topic ===
null) {
- return;
+ if (topic) {
+ jQuery(document).on(topic, subscriber);
}
-
- jQuery(document).on(topic, subscriber);
},
/**
@@ -169,11 +167,13 @@
* @param String topic - the channel name for which all
subscribers will be notified.
*/
publish: function (topic) {
- if (typeof(topic) === 'undefined' || topic ===
null) {
- return;
+ if (topic) {
+ // cut the topic argument
+ var args =
Array.prototype.slice.call(arguments).slice(1);
+
+ jQuery(document).triggerHandler(topic,
args);
+ jQuery(document).triggerHandler('*',
args);
}
- jQuery(document).triggerHandler(topic);
- jQuery(document).triggerHandler('*');
}
}
});
Modified: wicket/trunk/wicket-core/src/test/js/event.js
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/test/js/event.js?rev=1203650&r1=1203649&r2=1203650&view=diff
==============================================================================
--- wicket/trunk/wicket-core/src/test/js/event.js (original)
+++ wicket/trunk/wicket-core/src/test/js/event.js Fri Nov 18 13:51:58 2011
@@ -187,15 +187,18 @@ jQuery(document).ready(function() {
test('all topics', function() {
- expect(2);
+ expect(8);
var subscriber = function() {
ok(true, 'Should be notified for any topic name');
+ equal(arguments.length, 3, "1 jQuery.Event + our two
args");
+ equal(arguments[1], "arg1", "'arg1' must be at position
1");
+ equal(arguments[2], "arg2", "'arg2' must be at position
2");
};
Wicket.Event.subscribe('*', subscriber);
- Wicket.Event.publish('topicName1');
- Wicket.Event.publish('topicName2');
+ Wicket.Event.publish('topicName1', "arg1", "arg2");
+ Wicket.Event.publish('topicName2', "arg1", "arg2");
});
});