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");
        });
 });


Reply via email to