X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/3789b528d8dd8aad4558e38e22d775bcab1cbd36..f562e4c6e5fac7bcb445985b99acbea4d706e6f0:/docs/source/EventBus.html diff --git a/docs/source/EventBus.html b/docs/source/EventBus.html index 9e6fe3d1..f050b649 100644 --- a/docs/source/EventBus.html +++ b/docs/source/EventBus.html @@ -3,8 +3,8 @@
/**
* @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 < 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);
});