X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/530ef4b6c5b943cfa68b779d11cf7de29aa878bf..0494b8d9b9bb03ab6c22b34dae81261e3cd7e3e6:/src/ext-core/src/core/CompositeElementLite.js diff --git a/src/ext-core/src/core/CompositeElementLite.js b/src/ext-core/src/core/CompositeElementLite.js index 8c8707aa..a8cd3ffb 100644 --- a/src/ext-core/src/core/CompositeElementLite.js +++ b/src/ext-core/src/core/CompositeElementLite.js @@ -1,8 +1,8 @@ /*! - * Ext JS Library 3.2.1 - * Copyright(c) 2006-2010 Ext JS, Inc. - * licensing@extjs.com - * http://www.extjs.com/license + * Ext JS Library 3.3.1 + * Copyright(c) 2006-2010 Sencha Inc. + * licensing@sencha.com + * http://www.sencha.com/license */ /** * @class Ext.CompositeElementLite @@ -202,18 +202,17 @@ Ext.CompositeElementLite.prototype = { filter : function(selector){ var els = [], me = this, - elements = me.elements, fn = Ext.isFunction(selector) ? selector : function(el){ return el.is(selector); }; - - me.each(function(el, self, i){ - if(fn(el, i) !== false){ + me.each(function(el, self, i) { + if (fn(el, i) !== false) { els[els.length] = me.transformElement(el); } }); + me.elements = els; return me; }, @@ -260,22 +259,30 @@ Ext.CompositeElementLite.prototype = { Ext.CompositeElementLite.prototype.on = Ext.CompositeElementLite.prototype.addListener; -(function(){ -var fnName, - ElProto = Ext.Element.prototype, - CelProto = Ext.CompositeElementLite.prototype; +/** + * @private + * Copies all of the functions from Ext.Element's prototype onto CompositeElementLite's prototype. + * This is called twice - once immediately below, and once again after additional Ext.Element + * are added in Ext JS + */ +Ext.CompositeElementLite.importElementMethods = function() { + var fnName, + ElProto = Ext.Element.prototype, + CelProto = Ext.CompositeElementLite.prototype; -for(fnName in ElProto){ - if(Ext.isFunction(ElProto[fnName])){ - (function(fnName){ - CelProto[fnName] = CelProto[fnName] || function(){ - return this.invoke(fnName, arguments); - }; - }).call(CelProto, fnName); + for (fnName in ElProto) { + if (typeof ElProto[fnName] == 'function'){ + (function(fnName) { + CelProto[fnName] = CelProto[fnName] || function() { + return this.invoke(fnName, arguments); + }; + }).call(CelProto, fnName); + } } -} -})(); +}; + +Ext.CompositeElementLite.importElementMethods(); if(Ext.DomQuery){ Ext.Element.selectorFunction = Ext.DomQuery.select;