X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/25ef3491bd9ae007ff1fc2b0d7943e6eaaccf775..6e39d509471fe9b4e2660e0d1631b350d0c66f40:/src/core/CompositeElement.js diff --git a/src/core/CompositeElement.js b/src/core/CompositeElement.js index f366ddb3..d6c9dfee 100644 --- a/src/core/CompositeElement.js +++ b/src/core/CompositeElement.js @@ -1,5 +1,5 @@ /*! - * Ext JS Library 3.0.3 + * Ext JS Library 3.1.0 * Copyright(c) 2006-2009 Ext JS, LLC * licensing@extjs.com * http://www.extjs.com/license @@ -7,23 +7,23 @@ /** * @class Ext.CompositeElement * @extends Ext.CompositeElementLite - * Standard composite class. Creates a Ext.Element for every element in the collection. - *

- * NOTE: Although they are not listed, this class supports all of the set/update methods of Ext.Element. All Ext.Element - * actions will be performed on all the elements in this collection. - *

- * All methods return this and can be chained. -

- var els = Ext.select("#some-el div.some-class", true);
- // or select directly from an existing element
- var el = Ext.get('some-el');
- el.select('div.some-class', true);
+ * 

This class encapsulates a collection of DOM elements, providing methods to filter + * members, or to perform collective actions upon the whole set.

+ *

Although they are not listed, this class supports all of the methods of {@link Ext.Element} and + * {@link Ext.Fx}. The methods from these classes will be performed on all the elements in this collection.

+ *

All methods return this and can be chained.

+ * Usage: +

+var els = Ext.select("#some-el div.some-class", true);
+// or select directly from an existing element
+var el = Ext.get('some-el');
+el.select('div.some-class', true);
 
- els.setWidth(100); // all elements become 100 width
- els.hide(true); // all elements fade out and hide
- // or
- els.setWidth(100).hide(true);
- 
+els.setWidth(100); // all elements become 100 width +els.hide(true); // all elements fade out and hide +// or +els.setWidth(100).hide(true); +
*/ Ext.CompositeElement = function(els, root){ this.elements = []; @@ -31,58 +31,29 @@ Ext.CompositeElement = function(els, root){ }; Ext.extend(Ext.CompositeElement, Ext.CompositeElementLite, { - invoke : function(fn, args){ - Ext.each(this.elements, function(e) { - Ext.Element.prototype[fn].apply(e, args); - }); - return this; + + // private + getElement : function(el){ + // In this case just return it, since we already have a reference to it + return el; }, + + // private + transformElement : function(el){ + return Ext.get(el); + } /** * Adds elements to this composite. * @param {String/Array} els A string CSS selector, an array of elements or an element * @return {CompositeElement} this */ - add : function(els, root){ - if(!els){ - return this; - } - if(typeof els == "string"){ - els = Ext.Element.selectorFunction(els, root); - } - var yels = this.elements; - Ext.each(els, function(e) { - yels.push(Ext.get(e)); - }); - return this; - }, /** * Returns the Element object at the specified index * @param {Number} index * @return {Ext.Element} */ - item : function(index){ - return this.elements[index] || null; - }, - - - indexOf : function(el){ - return this.elements.indexOf(Ext.get(el)); - }, - - filter : function(selector){ - var me = this, - out = []; - - Ext.each(me.elements, function(el) { - if(el.is(selector)){ - out.push(Ext.get(el)); - } - }); - me.elements = out; - return me; - }, /** * Iterates each element in this composite @@ -91,26 +62,16 @@ Ext.extend(Ext.CompositeElement, Ext.CompositeElementLite, { * element. If the supplied function returns false, * iteration stops. This function is called with the following arguments: *
- * @param {Object} scope (optional) The scope to call the specified function. + * @param {Object} scope (optional) The scope ( reference) in which the specified function is executed. * Defaults to the element at the current index * within the composite. * @return {CompositeElement} this */ - each : function(fn, scope){ - Ext.each(this.elements, function(e, i){ - return fn.call(scope || e, e, this, i); - }, this); - return this; - } }); /**