X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/6746dc89c47ed01b165cc1152533605f97eb8e8d..HEAD:/src/app/EventBus.js diff --git a/src/app/EventBus.js b/src/app/EventBus.js index dc198d54..177a9ddc 100644 --- a/src/app/EventBus.js +++ b/src/app/EventBus.js @@ -15,9 +15,6 @@ If you are unsure which license is appropriate for your use, please contact the /** * @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: [ @@ -26,12 +23,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) { @@ -47,13 +44,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 @@ -70,11 +67,11 @@ Ext.define('Ext.app.EventBus', { } } }, - + control: function(selectors, listeners, controller) { var bus = this.bus, selector, fn; - + if (Ext.isString(selectors)) { selector = selectors; selectors = {}; @@ -82,14 +79,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; @@ -97,14 +94,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); });