X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/c930e9176a5a85509c5b0230e2bff5c22a591432..2e847cf21b8ab9d15fa167b315ca5b2fa92638fc:/src/core/CompositeElement.js?ds=sidebyside
diff --git a/src/core/CompositeElement.js b/src/core/CompositeElement.js
index be5cc9ba..a8120eca 100644
--- a/src/core/CompositeElement.js
+++ b/src/core/CompositeElement.js
@@ -1,29 +1,29 @@
/*!
- * Ext JS Library 3.0.0
- * Copyright(c) 2006-2009 Ext JS, LLC
+ * Ext JS Library 3.1.1
+ * Copyright(c) 2006-2010 Ext JS, LLC
* licensing@extjs.com
* http://www.extjs.com/license
*/
/**
* @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,71 +31,47 @@ 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;
- },
-
- /**
- * Calls the passed function passing (el, this, index) for each element in this composite.
- * @param {Function} fn The function to call
- * @param {Object} scope (optional) The this object (defaults to the element)
- * @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;
- }
+ /**
+ * Iterates each element
in this composite
+ * calling the supplied function using {@link Ext#each}.
+ * @param {Function} fn The function to be called with each
+ * element
. If the supplied function returns false,
+ * iteration stops. This function is called with the following arguments:
+ * element
: Ext.Elementindex
+ * in the composite
composite
: Object index
: Number composite
reference) in which the specified function is executed.
+ * Defaults to the element
at the current index
+ * within the composite.
+ * @return {CompositeElement} this
+ */
});
/**
@@ -120,7 +96,7 @@ Ext.Element.select = function(selector, unique, root){
}
return (unique === true) ? new Ext.CompositeElement(els) : new Ext.CompositeElementLite(els);
-};
+};
/**
* Selects elements based on the passed CSS selector to enable {@link Ext.Element Element} methods