<html>\r
<head>\r
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> \r
<title>The source code</title>\r
<link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />\r
<script type="text/javascript" src="../resources/prettify/prettify.js"></script>\r
<pre class="prettyprint lang-js"><div id="cls-Ext.CompositeElement"></div>/**\r
* @class Ext.CompositeElement\r
* @extends Ext.CompositeElementLite\r
- * Standard composite class. Creates a Ext.Element for every element in the collection.\r
- * <br><br>\r
- * <b>NOTE: Although they are not listed, this class supports all of the set/update methods of Ext.Element. All Ext.Element\r
- * actions will be performed on all the elements in this collection.</b>\r
- * <br><br>\r
- * All methods return <i>this</i> and can be chained.\r
- <pre><code>\r
- var els = Ext.select("#some-el div.some-class", true);\r
- // or select directly from an existing element\r
- var el = Ext.get('some-el');\r
- el.select('div.some-class', true);\r
+ * <p>This class encapsulates a <i>collection</i> of DOM elements, providing methods to filter\r
+ * members, or to perform collective actions upon the whole set.</p>\r
+ * <p>Although they are not listed, this class supports all of the methods of {@link Ext.Element} and\r
+ * {@link Ext.Fx}. The methods from these classes will be performed on all the elements in this collection.</p>\r
+ * <p>All methods return <i>this</i> and can be chained.</p>\r
+ * Usage:\r
+<pre><code>\r
+var els = Ext.select("#some-el div.some-class", true);\r
+// or select directly from an existing element\r
+var el = Ext.get('some-el');\r
+el.select('div.some-class', true);\r
\r
- els.setWidth(100); // all elements become 100 width\r
- els.hide(true); // all elements fade out and hide\r
- // or\r
- els.setWidth(100).hide(true);\r
- </code></pre>\r
+els.setWidth(100); // all elements become 100 width\r
+els.hide(true); // all elements fade out and hide\r
+// or\r
+els.setWidth(100).hide(true);\r
+</code></pre>\r
*/\r
Ext.CompositeElement = function(els, root){\r
this.elements = [];\r
};\r
\r
Ext.extend(Ext.CompositeElement, Ext.CompositeElementLite, {\r
- invoke : function(fn, args){\r
- Ext.each(this.elements, function(e) {\r
- Ext.Element.prototype[fn].apply(e, args);\r
- });\r
- return this;\r
+ \r
+ // private\r
+ getElement : function(el){\r
+ // In this case just return it, since we already have a reference to it\r
+ return el;\r
},\r
\r
- <div id="method-Ext.CompositeElement-add"></div>/**\r
+ // private\r
+ transformElement : function(el){\r
+ return Ext.get(el);\r
+ }\r
+\r
+ /**\r
* Adds elements to this composite.\r
* @param {String/Array} els A string CSS selector, an array of elements or an element\r
* @return {CompositeElement} this\r
*/\r
- add : function(els, root){\r
- if(!els){\r
- return this;\r
- }\r
- if(typeof els == "string"){\r
- els = Ext.Element.selectorFunction(els, root);\r
- }\r
- var yels = this.elements; \r
- Ext.each(els, function(e) {\r
- yels.push(Ext.get(e));\r
- });\r
- return this;\r
- }, \r
- \r
- <div id="method-Ext.CompositeElement-item"></div>/**\r
+\r
+ /**\r
* Returns the Element object at the specified index\r
* @param {Number} index\r
* @return {Ext.Element}\r
*/\r
- item : function(index){\r
- return this.elements[index] || null;\r
- },\r
-\r
\r
- indexOf : function(el){\r
- return this.elements.indexOf(Ext.get(el));\r
- },\r
- \r
- filter : function(selector){\r
- var me = this,\r
- out = [];\r
- \r
- Ext.each(me.elements, function(el) { \r
- if(el.is(selector)){\r
- out.push(Ext.get(el));\r
- }\r
- });\r
- me.elements = out;\r
- return me;\r
- },\r
- \r
- <div id="method-Ext.CompositeElement-each"></div>/**\r
- * Calls the passed function passing (el, this, index) for each element in this composite.\r
- * @param {Function} fn The function to call\r
- * @param {Object} scope (optional) The <i>this</i> object (defaults to the element)\r
- * @return {CompositeElement} this\r
- */\r
- each : function(fn, scope){ \r
- Ext.each(this.elements, function(e,i) {\r
- return fn.call(scope || e, e, this, i);\r
- }, this);\r
- return this;\r
- }\r
+ <div id="method-Ext.CompositeElement-"></div>/**\r
+ * Iterates each <code>element</code> in this <code>composite</code>\r
+ * calling the supplied function using {@link Ext#each}.\r
+ * @param {Function} fn The function to be called with each\r
+ * <code>element</code>. If the supplied function returns <tt>false</tt>,\r
+ * iteration stops. This function is called with the following arguments:\r
+ * <div class="mdetail-params"><ul>\r
+ * <li><code>element</code> : <i>Ext.Element</i><div class="sub-desc">The element at the current <code>index</code>\r
+ * in the <code>composite</code></div></li>\r
+ * <li><code>composite</code> : <i>Object</i> <div class="sub-desc">This composite.</div></li>\r
+ * <li><code>index</code> : <i>Number</i> <div class="sub-desc">The current index within the <code>composite</code> </div></li>\r
+ * </ul></div>\r
+ * @param {Object} scope (optional) The scope (<code><this</code> reference) in which the specified function is executed.\r
+ * Defaults to the <code>element</code> at the current <code>index</code>\r
+ * within the composite.\r
+ * @return {CompositeElement} this\r
+ */\r
});\r
\r
/**\r
}\r
\r
return (unique === true) ? new Ext.CompositeElement(els) : new Ext.CompositeElementLite(els);\r
-};
+};\r
\r
<div id="method-Ext.Element-select"></div>/**\r
* Selects elements based on the passed CSS selector to enable {@link Ext.Element Element} methods\r