7e39fc716242e6d41e45cb9a96d646153b01462f
[roojs1] / docs / symbols / src / Roo_CompositeElement.js.html
1 <html><head><title>../roojs1/Roo/CompositeElement.js</title><link rel="stylesheet" type="text/css" href="../../../css/highlight-js.css"/></head><body class="highlightpage"><code class="jsdoc-pretty"><span class="jsdoc-comment">/*
2  * Based on:
3  * Ext JS Library 1.1.1
4  * Copyright(c) 2006-2007, Ext JS, LLC.
5  *
6  * Originally Released Under LGPL - original licence link has changed is not relivant.
7  *
8  * Fork - LGPL
9  * &lt;script type=&quot;text/javascript&quot;&gt;
10  */
11
12
13 /**
14  * @class Roo.CompositeElement
15  * Standard composite class. Creates a Roo.Element for every element in the collection.
16  * &lt;br&gt;&lt;br&gt;
17  * &lt;b&gt;NOTE: Although they are not listed, this class supports all of the set/update methods of Roo.Element. All Roo.Element
18  * actions will be performed on all the elements in this collection.&lt;/b&gt;
19  * &lt;br&gt;&lt;br&gt;
20  * All methods return &lt;i&gt;this&lt;/i&gt; and can be chained.
21  &lt;pre&gt;&lt;code&gt;
22  var els = Roo.select(&quot;#some-el div.some-class&quot;, true);
23  // or select directly from an existing element
24  var el = Roo.get('some-el');
25  el.select('div.some-class', true);
26
27  els.setWidth(100); // all elements become 100 width
28  els.hide(true); // all elements fade out and hide
29  // or
30  els.setWidth(100).hide(true);
31  &lt;/code&gt;&lt;/pre&gt;
32  */
33 </span><span class="jsdoc-var">Roo.CompositeElement </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">els</span><span class="jsdoc-syntax">){
34     </span><span class="jsdoc-var">this.elements </span><span class="jsdoc-syntax">= [];
35     </span><span class="jsdoc-var">this.addElements</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">els</span><span class="jsdoc-syntax">);
36 };
37 </span><span class="jsdoc-var">Roo.CompositeElement.prototype </span><span class="jsdoc-syntax">= {
38     </span><span class="jsdoc-var">isComposite</span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">true</span><span class="jsdoc-syntax">,
39     </span><span class="jsdoc-var">addElements </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">els</span><span class="jsdoc-syntax">){
40         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">els</span><span class="jsdoc-syntax">) </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
41         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">els </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">&quot;string&quot;</span><span class="jsdoc-syntax">){
42             </span><span class="jsdoc-var">els </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">Roo.Element.selectorFunction</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">els</span><span class="jsdoc-syntax">);
43         }
44         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">yels </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.elements</span><span class="jsdoc-syntax">;
45         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">index </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">yels.length</span><span class="jsdoc-syntax">-1;
46         </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">els.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
47                 </span><span class="jsdoc-var">yels</span><span class="jsdoc-syntax">[++</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">els</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]);
48         }
49         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
50     },
51
52     </span><span class="jsdoc-comment">/**
53     * Clears this composite and adds the elements returned by the passed selector.
54     * @param {String/Array} els A string CSS selector, an array of elements or an element
55     * @return {CompositeElement} this
56     */
57     </span><span class="jsdoc-var">fill </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">els</span><span class="jsdoc-syntax">){
58         </span><span class="jsdoc-var">this.elements </span><span class="jsdoc-syntax">= [];
59         </span><span class="jsdoc-var">this.add</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">els</span><span class="jsdoc-syntax">);
60         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
61     },
62
63     </span><span class="jsdoc-comment">/**
64     * Filters this composite to only elements that match the passed selector.
65     * @param {String} selector A string CSS selector
66     * @param {Boolean} inverse return inverse filter (not matches)
67     * @return {CompositeElement} this
68     */
69     </span><span class="jsdoc-var">filter </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">selector</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">inverse</span><span class="jsdoc-syntax">){
70         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">els </span><span class="jsdoc-syntax">= [];
71         </span><span class="jsdoc-var">inverse </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">inverse </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">;
72         </span><span class="jsdoc-var">this.each</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">){
73             </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">match </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">inverse </span><span class="jsdoc-syntax">? !</span><span class="jsdoc-var">el.is</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">selector</span><span class="jsdoc-syntax">) : </span><span class="jsdoc-var">el.is</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">selector</span><span class="jsdoc-syntax">);
74             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">match</span><span class="jsdoc-syntax">){
75                 </span><span class="jsdoc-var">els</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">els.length</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-var">el.dom</span><span class="jsdoc-syntax">;
76             }
77         });
78         </span><span class="jsdoc-var">this.fill</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">els</span><span class="jsdoc-syntax">);
79         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
80     },
81
82     </span><span class="jsdoc-var">invoke </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">fn</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">args</span><span class="jsdoc-syntax">){
83         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">els </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.elements</span><span class="jsdoc-syntax">;
84         </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">els.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++) {
85                 </span><span class="jsdoc-var">Roo.Element.prototype</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">fn</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.apply</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">els</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">], </span><span class="jsdoc-var">args</span><span class="jsdoc-syntax">);
86         }
87         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
88     },
89     </span><span class="jsdoc-comment">/**
90     * Adds elements to this composite.
91     * @param {String/Array} els A string CSS selector, an array of elements or an element
92     * @return {CompositeElement} this
93     */
94     </span><span class="jsdoc-var">add </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">els</span><span class="jsdoc-syntax">){
95         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">els </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">&quot;string&quot;</span><span class="jsdoc-syntax">){
96             </span><span class="jsdoc-var">this.addElements</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.Element.selectorFunction</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">els</span><span class="jsdoc-syntax">));
97         }</span><span class="jsdoc-keyword">else if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">els.length </span><span class="jsdoc-syntax">!== </span><span class="jsdoc-var">undefined</span><span class="jsdoc-syntax">){
98             </span><span class="jsdoc-var">this.addElements</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">els</span><span class="jsdoc-syntax">);
99         }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
100             </span><span class="jsdoc-var">this.addElements</span><span class="jsdoc-syntax">([</span><span class="jsdoc-var">els</span><span class="jsdoc-syntax">]);
101         }
102         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
103     },
104     </span><span class="jsdoc-comment">/**
105     * Calls the passed function passing (el, this, index) for each element in this composite.
106     * @param {Function} fn The function to call
107     * @param {Object} scope (optional) The &lt;i&gt;this&lt;/i&gt; object (defaults to the element)
108     * @return {CompositeElement} this
109     */
110     </span><span class="jsdoc-var">each </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">fn</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">scope</span><span class="jsdoc-syntax">){
111         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">els </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.elements</span><span class="jsdoc-syntax">;
112         </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">els.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
113             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">fn.call</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">scope </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">els</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">], </span><span class="jsdoc-var">els</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">], </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">) === </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">) {
114                 </span><span class="jsdoc-keyword">break</span><span class="jsdoc-syntax">;
115             }
116         }
117         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
118     },
119
120     </span><span class="jsdoc-comment">/**
121      * Returns the Element object at the specified index
122      * @param {Number} index
123      * @return {Roo.Element}
124      */
125     </span><span class="jsdoc-var">item </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">){
126         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.elements</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">] || </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">;
127     },
128
129     </span><span class="jsdoc-comment">/**
130      * Returns the first Element
131      * @return {Roo.Element}
132      */
133     </span><span class="jsdoc-var">first </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
134         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.item</span><span class="jsdoc-syntax">(0);
135     },
136
137     </span><span class="jsdoc-comment">/**
138      * Returns the last Element
139      * @return {Roo.Element}
140      */
141     </span><span class="jsdoc-var">last </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
142         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.item</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.elements.length</span><span class="jsdoc-syntax">-1);
143     },
144
145     </span><span class="jsdoc-comment">/**
146      * Returns the number of elements in this composite
147      * @return Number
148      */
149     </span><span class="jsdoc-var">getCount </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
150         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.elements.length</span><span class="jsdoc-syntax">;
151     },
152
153     </span><span class="jsdoc-comment">/**
154      * Returns true if this composite contains the passed element
155      * @return Boolean
156      */
157     </span><span class="jsdoc-var">contains </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">){
158         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">) !== -1;
159     },
160
161     </span><span class="jsdoc-comment">/**
162      * Returns true if this composite contains the passed element
163      * @return Boolean
164      */
165     </span><span class="jsdoc-var">indexOf </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">){
166         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.elements.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">));
167     },
168
169
170     </span><span class="jsdoc-comment">/**
171     * Removes the specified element(s).
172     * @param {Mixed} el The id of an element, the Element itself, the index of the element in this composite
173     * or an array of any of those.
174     * @param {Boolean} removeDom (optional) True to also remove the element from the document
175     * @return {CompositeElement} this
176     */
177     </span><span class="jsdoc-var">removeElement </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">removeDom</span><span class="jsdoc-syntax">){
178         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el </span><span class="jsdoc-keyword">instanceof </span><span class="jsdoc-var">Array</span><span class="jsdoc-syntax">){
179             </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">= 0, </span><span class="jsdoc-var">len </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">el.length</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i </span><span class="jsdoc-syntax">&lt; </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">; </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">++){
180                 </span><span class="jsdoc-var">this.removeElement</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">]);
181             }
182             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
183         }
184         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">index </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">el </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'number' </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">el </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">);
185         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index </span><span class="jsdoc-syntax">!== -1){
186             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">removeDom</span><span class="jsdoc-syntax">){
187                 </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">d </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">this.elements</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">];
188                 </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d.dom</span><span class="jsdoc-syntax">){
189                     </span><span class="jsdoc-var">d.remove</span><span class="jsdoc-syntax">();
190                 }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
191                     </span><span class="jsdoc-var">d.parentNode.removeChild</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">d</span><span class="jsdoc-syntax">);
192                 }
193             }
194             </span><span class="jsdoc-var">this.elements.splice</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, 1);
195         }
196         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
197     },
198
199     </span><span class="jsdoc-comment">/**
200     * Replaces the specified element with the passed element.
201     * @param {String/HTMLElement/Element/Number} el The id of an element, the Element itself, the index of the element in this composite
202     * to replace.
203     * @param {String/HTMLElement/Element} replacement The id of an element or the Element itself.
204     * @param {Boolean} domReplace (Optional) True to remove and replace the element in the document too.
205     * @return {CompositeElement} this
206     */
207     </span><span class="jsdoc-var">replaceElement </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">replacement</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">domReplace</span><span class="jsdoc-syntax">){
208         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">index </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">el </span><span class="jsdoc-syntax">== </span><span class="jsdoc-string">'number' </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">el </span><span class="jsdoc-syntax">: </span><span class="jsdoc-var">this.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">el</span><span class="jsdoc-syntax">);
209         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index </span><span class="jsdoc-syntax">!== -1){
210             </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">domReplace</span><span class="jsdoc-syntax">){
211                 </span><span class="jsdoc-var">this.elements</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">]</span><span class="jsdoc-var">.replaceWith</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">replacement</span><span class="jsdoc-syntax">);
212             }</span><span class="jsdoc-keyword">else</span><span class="jsdoc-syntax">{
213                 </span><span class="jsdoc-var">this.elements.splice</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, 1, </span><span class="jsdoc-var">Roo.get</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">replacement</span><span class="jsdoc-syntax">))
214             }
215         }
216         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">;
217     },
218
219     </span><span class="jsdoc-comment">/**
220      * Removes all elements.
221      */
222     </span><span class="jsdoc-var">clear </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
223         </span><span class="jsdoc-var">this.elements </span><span class="jsdoc-syntax">= [];
224     }
225 };
226 (</span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
227     </span><span class="jsdoc-var">Roo.CompositeElement.createCall </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">proto</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">fnName</span><span class="jsdoc-syntax">){
228         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(!</span><span class="jsdoc-var">proto</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">fnName</span><span class="jsdoc-syntax">]){
229             </span><span class="jsdoc-var">proto</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">fnName</span><span class="jsdoc-syntax">] = </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
230                 </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.invoke</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">fnName</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">arguments</span><span class="jsdoc-syntax">);
231             };
232         }
233     };
234     </span><span class="jsdoc-keyword">for</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">fnName </span><span class="jsdoc-keyword">in </span><span class="jsdoc-var">Roo.Element.prototype</span><span class="jsdoc-syntax">){
235         </span><span class="jsdoc-keyword">if</span><span class="jsdoc-syntax">(</span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">Roo.Element.prototype</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">fnName</span><span class="jsdoc-syntax">] == </span><span class="jsdoc-string">&quot;function&quot;</span><span class="jsdoc-syntax">){
236             </span><span class="jsdoc-var">Roo.CompositeElement.createCall</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.CompositeElement.prototype</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">fnName</span><span class="jsdoc-syntax">);
237         }
238     };
239 })();
240 </span></code></body></html>