Upgrade to ExtJS 4.0.7 - Released 10/19/2011
[extjs.git] / docs / source / EventBus.html
index 9e6fe3d..f050b64 100644 (file)
@@ -3,8 +3,8 @@
 <head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <title>The source code</title>
-  <link href="../prettify/prettify.css" type="text/css" rel="stylesheet" />
-  <script type="text/javascript" src="../prettify/prettify.js"></script>
+  <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
+  <script type="text/javascript" src="../resources/prettify/prettify.js"></script>
   <style type="text/css">
     .highlight { display: block; background-color: #ddd; }
   </style>
@@ -18,9 +18,6 @@
   <pre class="prettyprint lang-js"><span id='Ext-app-EventBus'>/**
 </span> * @class Ext.app.EventBus
  * @private
- *
- * Class documentation for the MVC classes will be present before 4.0 final, in the mean time please refer to the MVC
- * guide
  */
 Ext.define('Ext.app.EventBus', {
     requires: [
@@ -29,12 +26,12 @@ Ext.define('Ext.app.EventBus', {
     mixins: {
         observable: 'Ext.util.Observable'
     },
-    
+
     constructor: function() {
         this.mixins.observable.constructor.call(this);
-        
+
         this.bus = {};
-        
+
         var me = this;
         Ext.override(Ext.Component, {
             fireEvent: function(ev) {
@@ -50,13 +47,13 @@ Ext.define('Ext.app.EventBus', {
         var bus = this.bus,
             selectors = bus[ev],
             selector, controllers, id, events, event, i, ln;
-        
+
         if (selectors) {
             // Loop over all the selectors that are bound to this event
             for (selector in selectors) {
                 // Check if the target matches the selector
                 if (target.is(selector)) {
-                    // Loop over all the controllers that are bound to this selector   
+                    // Loop over all the controllers that are bound to this selector
                     controllers = selectors[selector];
                     for (id in controllers) {
                         // Loop over all the events that are bound to this selector on this controller
@@ -64,18 +61,20 @@ Ext.define('Ext.app.EventBus', {
                         for (i = 0, ln = events.length; i &lt; ln; i++) {
                             event = events[i];
                             // Fire the event!
-                            return event.fire.apply(event, Array.prototype.slice.call(args, 1));
+                            if (event.fire.apply(event, Array.prototype.slice.call(args, 1)) === false) {
+                                return false;
+                            };
                         }
                     }
                 }
             }
         }
     },
-    
+
     control: function(selectors, listeners, controller) {
         var bus = this.bus,
             selector, fn;
-        
+
         if (Ext.isString(selectors)) {
             selector = selectors;
             selectors = {};
@@ -83,14 +82,14 @@ Ext.define('Ext.app.EventBus', {
             this.control(selectors, null, controller);
             return;
         }
-    
+
         Ext.Object.each(selectors, function(selector, listeners) {
             Ext.Object.each(listeners, function(ev, listener) {
-                var options = {},   
+                var options = {},
                     scope = controller,
                     event = Ext.create('Ext.util.Event', controller, ev);
-                
-                // Normalize the listener                
+
+                // Normalize the listener
                 if (Ext.isObject(listener)) {
                     options = listener;
                     listener = options.fn;
@@ -98,14 +97,14 @@ Ext.define('Ext.app.EventBus', {
                     delete options.fn;
                     delete options.scope;
                 }
-                
+
                 event.addListener(listener, scope, options);
 
                 // Create the bus tree if it is not there yet
                 bus[ev] = bus[ev] || {};
                 bus[ev][selector] = bus[ev][selector] || {};
-                bus[ev][selector][controller.id] = bus[ev][selector][controller.id] || [];            
-                
+                bus[ev][selector][controller.id] = bus[ev][selector][controller.id] || [];
+
                 // Push our listener in our bus
                 bus[ev][selector][controller.id].push(event);
             });