X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/6e39d509471fe9b4e2660e0d1631b350d0c66f40..c8256059947f3aa8f5b0a9a2acf55e2142bb4742:/docs/source/Observable.html diff --git a/docs/source/Observable.html b/docs/source/Observable.html index 8f351aef..b82a6e9b 100644 --- a/docs/source/Observable.html +++ b/docs/source/Observable.html @@ -1,17 +1,21 @@ - - - - The source code - - - - -
(function(){
+
+
+      
+  The source code
+    
+    
+
+
+    
/*!
+ * Ext JS Library 3.2.1
+ * Copyright(c) 2006-2010 Ext JS, Inc.
+ * licensing@extjs.com
+ * http://www.extjs.com/license
+ */
+(function(){
 
 var EXTUTIL = Ext.util,
-    TOARRAY = Ext.toArray,
     EACH = Ext.each,
-    ISOBJECT = Ext.isObject,
     TRUE = true,
     FALSE = false;
 
/** @@ -34,7 +38,7 @@ Employee = Ext.extend(Ext.util.Observable, { this.listeners = config.listeners; // Call our superclass constructor to complete construction process. - Employee.superclass.constructor.call(config) + Employee.superclass.constructor.call(this, config) } });
@@ -131,11 +135,12 @@ EXTUTIL.Observable.prototype = { * @return {Boolean} returns false if any of the handlers return false otherwise it returns true. */ fireEvent : function(){ - var a = TOARRAY(arguments), + var a = Array.prototype.slice.call(arguments, 0), ename = a[0].toLowerCase(), me = this, ret = TRUE, ce = me.events[ename], + cc, q, c; if (me.eventsSuspended === TRUE) { @@ -143,20 +148,21 @@ EXTUTIL.Observable.prototype = { q.push(a); } } - else if(ISOBJECT(ce) && ce.bubble){ - if(ce.fire.apply(ce, a.slice(1)) === FALSE) { - return FALSE; - } - c = me.getBubbleTarget && me.getBubbleTarget(); - if(c && c.enableBubble) { - if(!c.events[ename] || !Ext.isObject(c.events[ename]) || !c.events[ename].bubble) { - c.enableBubble(ename); + else if(typeof ce == 'object') { + if (ce.bubble){ + if(ce.fire.apply(ce, a.slice(1)) === FALSE) { + return FALSE; + } + c = me.getBubbleTarget && me.getBubbleTarget(); + if(c && c.enableBubble) { + cc = c.events[ename]; + if(!cc || typeof cc != 'object' || !cc.bubble) { + c.enableBubble(ename); + } + return c.fireEvent.apply(c, a); } - return c.fireEvent.apply(c, a); } - } - else { - if (ISOBJECT(ce)) { + else { a.shift(); ret = ce.fire.apply(ce, a); } @@ -229,7 +235,7 @@ myGridPanel.on({ oe, isF, ce; - if (ISOBJECT(eventName)) { + if (typeof eventName == 'object') { o = eventName; for (e in o){ oe = o[e]; @@ -240,10 +246,10 @@ myGridPanel.on({ } else { eventName = eventName.toLowerCase(); ce = me.events[eventName] || TRUE; - if (Ext.isBoolean(ce)) { + if (typeof ce == 'boolean') { me.events[eventName] = ce = new EXTUTIL.Event(me, eventName); } - ce.addListener(fn, scope, ISOBJECT(o) ? o : {}); + ce.addListener(fn, scope, typeof o == 'object' ? o : {}); } }, @@ -255,7 +261,7 @@ myGridPanel.on({ */ removeListener : function(eventName, fn, scope){ var ce = this.events[eventName.toLowerCase()]; - if (ISOBJECT(ce)) { + if (typeof ce == 'object') { ce.removeListener(fn, scope); } }, @@ -269,7 +275,7 @@ myGridPanel.on({ key; for(key in events){ evt = events[key]; - if(ISOBJECT(evt)){ + if(typeof evt == 'object'){ evt.clearListeners(); } } @@ -287,7 +293,7 @@ this.addEvents('storeloaded', 'storecleared'); addEvents : function(o){ var me = this; me.events = me.events || {}; - if (Ext.isString(o)) { + if (typeof o == 'string') { var a = arguments, i = a.length; while(i--) { @@ -304,8 +310,8 @@ this.addEvents('storeloaded', 'storecleared'); * @return {Boolean} True if the event is being listened for, else false */ hasListener : function(eventName){ - var e = this.events[eventName]; - return ISOBJECT(e) && e.listeners.length > 0; + var e = this.events[eventName.toLowerCase()]; + return typeof e == 'object' && e.listeners.length > 0; },
/** @@ -368,33 +374,33 @@ EXTUTIL.Observable.releaseCapture = function(o){ function createTargeted(h, o, scope){ return function(){ if(o.target == arguments[0]){ - h.apply(scope, TOARRAY(arguments)); + h.apply(scope, Array.prototype.slice.call(arguments, 0)); } }; }; -function createBuffered(h, o, fn, scope){ - fn.task = new EXTUTIL.DelayedTask(); +function createBuffered(h, o, l, scope){ + l.task = new EXTUTIL.DelayedTask(); return function(){ - fn.task.delay(o.buffer, h, scope, TOARRAY(arguments)); + l.task.delay(o.buffer, h, scope, Array.prototype.slice.call(arguments, 0)); }; -} +}; function createSingle(h, e, fn, scope){ return function(){ e.removeListener(fn, scope); return h.apply(scope, arguments); }; -} +}; -function createDelayed(h, o, fn, scope){ +function createDelayed(h, o, l, scope){ return function(){ var task = new EXTUTIL.DelayedTask(); - if(!fn.tasks) { - fn.tasks = []; + if(!l.tasks) { + l.tasks = []; } - fn.tasks.push(task); - task.delay(o.delay || 10, h, scope, TOARRAY(arguments)); + l.tasks.push(task); + task.delay(o.delay || 10, h, scope, Array.prototype.slice.call(arguments, 0)); }; }; @@ -429,13 +435,13 @@ EXTUTIL.Event.prototype = { h = createTargeted(h, o, scope); } if(o.delay){ - h = createDelayed(h, o, fn, scope); + h = createDelayed(h, o, l, scope); } if(o.single){ h = createSingle(h, this, fn, scope); } if(o.buffer){ - h = createBuffered(h, o, fn, scope); + h = createBuffered(h, o, l, scope); } l.fireFn = h; return l; @@ -444,13 +450,13 @@ EXTUTIL.Event.prototype = { findListener : function(fn, scope){ var list = this.listeners, i = list.length, - l, - s; - while(i--) { + l; + + scope = scope || this.obj; + while(i--){ l = list[i]; - if(l) { - s = l.scope; - if(l.fn == fn && (s == scope || s == this.obj)){ + if(l){ + if(l.fn == fn && l.scope == scope){ return i; } } @@ -472,13 +478,11 @@ EXTUTIL.Event.prototype = { if (me.firing) { me.listeners = me.listeners.slice(0); } - l = me.listeners[index].fn; - // Cancel buffered tasks + l = me.listeners[index]; if(l.task) { l.task.cancel(); delete l.task; } - // Cancel delayed tasks k = l.tasks && l.tasks.length; if(k) { while(k--) { @@ -504,7 +508,6 @@ EXTUTIL.Event.prototype = { fire : function(){ var me = this, - args = TOARRAY(arguments), listeners = me.listeners, len = listeners.length, i = 0, @@ -512,6 +515,7 @@ EXTUTIL.Event.prototype = { if(len > 0){ me.firing = TRUE; + var args = Array.prototype.slice.call(arguments, 0); for (; i < len; i++) { l = listeners[i]; if(l && l.fireFn.apply(l.scope || me.obj || window, args) === FALSE) { @@ -522,7 +526,9 @@ EXTUTIL.Event.prototype = { me.firing = FALSE; return TRUE; } + }; -})();
- +})(); + + \ No newline at end of file