1 <div class="body-wrap" xmlns:ext="http://www.extjs.com"><div class="top-tools"><a class="inner-link" href="#Ext.util.MixedCollection-props"><img src="resources/images/default/s.gif" class="item-icon icon-prop">Properties</a> <a class="inner-link" href="#Ext.util.MixedCollection-methods"><img src="resources/images/default/s.gif" class="item-icon icon-method">Methods</a> <a class="inner-link" href="#Ext.util.MixedCollection-events"><img src="resources/images/default/s.gif" class="item-icon icon-event">Events</a> <a class="inner-link" href="#Ext.util.MixedCollection-configs"><img src="resources/images/default/s.gif" class="item-icon icon-config">Config Options</a> <a class="bookmark" href="../docs/?class=Ext.util.MixedCollection"><img src="resources/images/default/s.gif" class="item-icon icon-fav">Direct Link</a> </div><div class="inheritance res-block"><pre class="res-block-inner"><a href="output/Ext.util.Observable.html" ext:member="" ext:cls="Ext.util.Observable">Observable</a>
2 <img src="resources/elbow-end.gif">MixedCollection</pre></div><h1>Class <a href="source/MixedCollection.html#cls-Ext.util.MixedCollection">Ext.util.MixedCollection</a></h1><table cellspacing="0"><tr><td class="label">Package:</td><td class="hd-info">Ext.util</td></tr><tr><td class="label">Defined In:</td><td class="hd-info"><a href="source/MixedCollection.html#cls-Ext.util.MixedCollection">MixedCollection.js</a></td></tr><tr><td class="label">Class:</td><td class="hd-info"><a href="source/MixedCollection.html#cls-Ext.util.MixedCollection">MixedCollection</a></td></tr><tr><td class="label">Subclasses:</td><td class="hd-info"><a href="output/Ext.StoreMgr.html" ext:cls="Ext.StoreMgr">StoreMgr</a></td></tr><tr><td class="label">Extends:</td><td class="hd-info"><a href="output/Ext.util.Observable.html" ext:cls="Ext.util.Observable" ext:member="">Observable</a></td></tr></table><div class="description">A Collection class that maintains both numeric indexes and keys and exposes events.</div><div class="hr"></div><a id="Ext.util.MixedCollection-configs"></a><h2>Config Options</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Config Options</th><th class="msource-header">Defined By</th></tr><tr class="config-row "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-allowFunctions"></a><b><a href="source/MixedCollection.html#cfg-Ext.util.MixedCollection-allowFunctions">allowFunctions</a></b> : Boolean<div class="mdesc">Specify <tt>true</tt> if the <a href="output/Ext.util.MixedCollection.html#Ext.util.MixedCollection-addAll" ext:member="addAll" ext:cls="Ext.util.MixedCollection">addAll</a>
3 function should add function references to the collection. Defaults to
4 <tt>false</tt>.</div></td><td class="msource">MixedCollection</td></tr><tr class="config-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.Observable-listeners"></a><b><a href="source/Observable.html#cfg-Ext.util.Observable-listeners">listeners</a></b> : Object<div class="mdesc"><div class="short">A config object containing one or more event handlers to be added to this
5 object during initialization. This should ...</div><div class="long"><p>A config object containing one or more event handlers to be added to this
6 object during initialization. This should be a valid listeners config object as specified in the
7 <a href="output/Ext.util.Observable.html#Ext.util.Observable-addListener" ext:member="addListener" ext:cls="Ext.util.Observable">addListener</a> example for attaching multiple handlers at once.</p>
8 <br><p><b><u>DOM events from ExtJs <a href="output/Ext.Component.html" ext:cls="Ext.Component">Components</a></u></b></p>
9 <br><p>While <i>some</i> ExtJs Component classes export selected DOM events (e.g. "click", "mouseover" etc), this
10 is usually only done when extra value can be added. For example the <a href="output/Ext.DataView.html" ext:cls="Ext.DataView">DataView</a>'s
11 <b><code><a href="output/Ext.DataView.html#Ext.DataView-click" ext:member="click" ext:cls="Ext.DataView">click</a></code></b> event passing the node clicked on. To access DOM
12 events directly from a Component's HTMLElement, listeners must be added to the <i><a href="output/Ext.Component.html#Ext.Component-getEl" ext:member="getEl" ext:cls="Ext.Component">Element</a></i> after the Component
13 has been rendered. A plugin can simplify this step:<pre><code><i>// Plugin is configured <b>with</b> a listeners config object.</i>
14 <i>// The Component is appended to the argument list of all handler functions.</i>
15 Ext.DomObserver = Ext.extend(Object, {
16 constructor: <b>function</b>(config) {
17 this.listeners = config.listeners ? config.listeners : config;
20 <i>// Component passes itself into plugin's init method</i>
21 init: <b>function</b>(c) {
22 <b>var</b> p, l = this.listeners;
23 <b>for</b> (p <b>in</b> l) {
24 <b>if</b> (Ext.isFunction(l[p])) {
25 l[p] = this.createHandler(l[p], c);
27 l[p].fn = this.createHandler(l[p].fn, c);
31 <i>// Add the listeners to the Element immediately following the render call</i>
32 c.render = c.render.<a href="output/Function.html#Function-createSequence" ext:member="createSequence" ext:cls="Function">createSequence</a>(<b>function</b>() {
33 <b>var</b> e = c.getEl();
40 createHandler: <b>function</b>(fn, c) {
41 <b>return</b> <b>function</b>(e) {
47 <b>var</b> combo = <b>new</b> Ext.form.ComboBox({
49 <i>// Collapse combo when its element is clicked on</i>
50 plugins: [ <b>new</b> Ext.DomObserver({
51 click: <b>function</b>(evt, comp) {
57 mode: <em>'local'</em>,
58 triggerAction: <em>'all'</em>
59 });</code></pre></p></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#listeners" ext:member="#listeners" ext:cls="Ext.util.Observable">Observable</a></td></tr></tbody></table><a id="Ext.util.MixedCollection-props"></a><h2>Public Properties</h2><div class="no-members">This class has no public properties.</div><a id="Ext.util.MixedCollection-methods"></a><h2>Public Methods</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Method</th><th class="msource-header">Defined By</th></tr><tr class="method-row expandable"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-MixedCollection"></a><b><a href="source/MixedCollection.html#cls-Ext.util.MixedCollection">MixedCollection</a></b>( <code>Boolean allowFunctions</code>, <code>Function keyFn</code> )
60 <div class="mdesc"><div class="short"></div><div class="long"><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>allowFunctions</code> : Boolean<div class="sub-desc">Specify <tt>true</tt> if the <a href="output/Ext.util.MixedCollection.html#Ext.util.MixedCollection-addAll" ext:member="addAll" ext:cls="Ext.util.MixedCollection">addAll</a>
61 function should add function references to the collection. Defaults to
62 <tt>false</tt>.</div></li><li><code>keyFn</code> : Function<div class="sub-desc">A function that can accept an item of the type(s) stored in this MixedCollection
63 and return the key value for that item. This is used when available to look up the key on items that
64 were passed without an explicit key parameter to a MixedCollection method. Passing this parameter is
65 equivalent to providing an implementation for the <a href="output/Ext.util.MixedCollection.html#Ext.util.MixedCollection-getKey" ext:member="getKey" ext:cls="Ext.util.MixedCollection">getKey</a> method.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-add"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-add">add</a></b>( <code>String key</code>, <code>Object o</code> )
67 Object<div class="mdesc"><div class="short">Adds an item to the collection. Fires the add event when complete.</div><div class="long">Adds an item to the collection. Fires the <a href="output/Ext.util.MixedCollection.html#Ext.util.MixedCollection-add" ext:member="add" ext:cls="Ext.util.MixedCollection">add</a> event when complete.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>key</code> : String<div class="sub-desc"><p>The key to associate with the item, or the new item.</p>
68 <p>If a <a href="output/Ext.util.MixedCollection.html#Ext.util.MixedCollection-getKey" ext:member="getKey" ext:cls="Ext.util.MixedCollection">getKey</a> implementation was specified for this MixedCollection,
69 or if the key of the stored items is in a property called <tt><b>id</b></tt>,
70 the MixedCollection will be able to <i>derive</i> the key for the new item.
71 In this case just pass the new item in this parameter.</p></div></li><li><code>o</code> : Object<div class="sub-desc">The item to add.</div></li></ul><strong>Returns:</strong><ul><li><code>Object</code><div class="sub-desc">The item added.</div></li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-addAll"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-addAll">addAll</a></b>( <code>Object/Array objs</code> )
73 void<div class="mdesc"><div class="short">Adds all elements of an Array or an Object to the collection.</div><div class="long">Adds all elements of an Array or an Object to the collection.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>objs</code> : Object/Array<div class="sub-desc">An Object containing properties which will be added
74 to the collection, or an Array of values, each of which are added to the collection.
75 Functions references will be added to the collection if <code><a href="output/Ext.util.MixedCollection.html#Ext.util.MixedCollection-allowFunctions" ext:member="allowFunctions" ext:cls="Ext.util.MixedCollection">allowFunctions</a></code>
76 has been set to <tt>true</tt>.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.Observable-addEvents"></a><b><a href="source/Observable.html#method-Ext.util.Observable-addEvents">addEvents</a></b>( <code>Object|String o</code>, <code>string Optional.</code> )
78 void<div class="mdesc"><div class="short">Adds the specified events to the list of events which this Observable may fire.</div><div class="long">Adds the specified events to the list of events which this Observable may fire.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>o</code> : Object|String<div class="sub-desc">Either an object with event names as properties with a value of <code>true</code>
79 or the first event name string if multiple event names are being passed as separate parameters.</div></li><li><code>Optional.</code> : string<div class="sub-desc">Event name if multiple event names are being passed as separate parameters.
80 Usage:<pre><code>this.addEvents(<em>'storeloaded'</em>, <em>'storecleared'</em>);</code></pre></div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#addEvents" ext:member="#addEvents" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.Observable-addListener"></a><b><a href="source/Observable.html#method-Ext.util.Observable-addListener">addListener</a></b>( <code>String eventName</code>, <code>Function handler</code>, <span title="Optional" class="optional">[<code>Object scope</code>]</span>, <span title="Optional" class="optional">[<code>Object options</code>]</span> )
82 void<div class="mdesc"><div class="short">Appends an event handler to this object.</div><div class="long">Appends an event handler to this object.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>eventName</code> : String<div class="sub-desc">The name of the event to listen for.</div></li><li><code>handler</code> : Function<div class="sub-desc">The method the event invokes.</div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope (<code><b>this</b></code> reference) in which the handler function is executed.
83 <b>If omitted, defaults to the object which fired the event.</b></div></li><li><code>options</code> : Object<div class="sub-desc">(optional) An object containing handler configuration.
84 properties. This may contain any of the following properties:<ul>
85 <li><b>scope</b> : Object<div class="sub-desc">The scope (<code><b>this</b></code> reference) in which the handler function is executed.
86 <b>If omitted, defaults to the object which fired the event.</b></div></li>
87 <li><b>delay</b> : Number<div class="sub-desc">The number of milliseconds to delay the invocation of the handler after the event fires.</div></li>
88 <li><b>single</b> : Boolean<div class="sub-desc">True to add a handler to handle just the next firing of the event, and then remove itself.</div></li>
89 <li><b>buffer</b> : Number<div class="sub-desc">Causes the handler to be scheduled to run in an <a href="output/Ext.util.DelayedTask.html" ext:cls="Ext.util.DelayedTask">Ext.util.DelayedTask</a> delayed
90 by the specified number of milliseconds. If the event fires again within that time, the original
91 handler is <em>not</em> invoked, but the new handler is scheduled in its place.</div></li>
92 <li><b>target</b> : Observable<div class="sub-desc">Only call the handler if the event was fired on the target Observable, <i>not</i>
93 if the event was bubbled up from a child Observable.</div></li>
96 <b>Combining Options</b><br>
97 Using the options argument, it is possible to combine different types of listeners:<br>
99 A delayed, one-time listener.
100 <pre><code>myDataView.on(<em>'click'</em>, this.onClick, this, {
105 <b>Attaching multiple handlers in 1 call</b><br>
106 The method also allows for a single argument to be passed which is a config object containing properties
107 which specify multiple handlers.
109 <pre><code>myGridPanel.on({
115 <em>'mouseover'</em> : {
116 fn: this.onMouseOver,
119 <em>'mouseout'</em> : {
125 Or a shorthand syntax:<br>
126 <pre><code>myGridPanel.on({
127 <em>'click'</em> : this.onClick,
128 <em>'mouseover'</em> : this.onMouseOver,
129 <em>'mouseout'</em> : this.onMouseOut,
131 });</code></pre></div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#addListener" ext:member="#addListener" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-clear"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-clear">clear</a></b>()
133 void<div class="mdesc"><div class="short">Removes all items from the collection. Fires the clear event when complete.</div><div class="long">Removes all items from the collection. Fires the <a href="output/Ext.util.MixedCollection.html#Ext.util.MixedCollection-clear" ext:member="clear" ext:cls="Ext.util.MixedCollection">clear</a> event when complete.<div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-clone"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-clone">clone</a></b>()
135 MixedCollection<div class="mdesc"><div class="short">Creates a shallow copy of this collection</div><div class="long">Creates a shallow copy of this collection<div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li><code>MixedCollection</code><div class="sub-desc"></div></li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-contains"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-contains">contains</a></b>( <code>Object o</code> )
137 Boolean<div class="mdesc"><div class="short">Returns true if the collection contains the passed Object as an item.</div><div class="long">Returns true if the collection contains the passed Object as an item.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>o</code> : Object<div class="sub-desc">The Object to look for in the collection.</div></li></ul><strong>Returns:</strong><ul><li><code>Boolean</code><div class="sub-desc">True if the collection contains the Object as an item.</div></li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-containsKey"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-containsKey">containsKey</a></b>( <code>String key</code> )
139 Boolean<div class="mdesc"><div class="short">Returns true if the collection contains the passed Object as a key.</div><div class="long">Returns true if the collection contains the passed Object as a key.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>key</code> : String<div class="sub-desc">The key to look for in the collection.</div></li></ul><strong>Returns:</strong><ul><li><code>Boolean</code><div class="sub-desc">True if the collection contains the Object as a key.</div></li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-each"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-each">each</a></b>( <code>Function fn</code>, <span title="Optional" class="optional">[<code>Object scope</code>]</span> )
141 void<div class="mdesc"><div class="short">Executes the specified function once for every item in the collection, passing the following arguments:
142 <div class="m...</div><div class="long">Executes the specified function once for every item in the collection, passing the following arguments:
143 <div class="mdetail-params"><ul>
144 <li><b>item</b> : Mixed<p class="sub-desc">The collection item</p></li>
145 <li><b>index</b> : Number<p class="sub-desc">The item's index</p></li>
146 <li><b>length</b> : Number<p class="sub-desc">The total number of items in the collection</p></li>
148 The function should return a boolean value. Returning false from the function will stop the iteration.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>fn</code> : Function<div class="sub-desc">The function to execute for each item.</div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope (<code>this</code> reference) in which the function is executed. Defaults to the current item in the iteration.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-eachKey"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-eachKey">eachKey</a></b>( <code>Function fn</code>, <span title="Optional" class="optional">[<code>Object scope</code>]</span> )
150 void<div class="mdesc"><div class="short">Executes the specified function once for every key in the collection, passing each
151 key, and its associated item as th...</div><div class="long">Executes the specified function once for every key in the collection, passing each
152 key, and its associated item as the first two parameters.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>fn</code> : Function<div class="sub-desc">The function to execute for each item.</div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope (<code>this</code> reference) in which the function is executed. Defaults to the browser window.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.Observable-enableBubble"></a><b><a href="source/Observable-more.html#method-Ext.util.Observable-enableBubble">enableBubble</a></b>( <code>String/Array events</code> )
154 void<div class="mdesc"><div class="short">Enables events fired by this Observable to bubble up an owner hierarchy by calling
155 this.getBubbleTarget() if present....</div><div class="long"><p>Enables events fired by this Observable to bubble up an owner hierarchy by calling
156 <code>this.getBubbleTarget()</code> if present. There is no implementation in the Observable base class.</p>
157 <p>This is commonly used by Ext.Components to bubble events to owner Containers. See <a href="output/Ext.Component.getBubbleTarget.html" ext:cls="Ext.Component.getBubbleTarget">Ext.Component.getBubbleTarget</a>. The default
158 implementation in Ext.Component returns the Component's immediate owner. But if a known target is required, this can be overridden to
159 access the required target more quickly.</p>
160 <p>Example:</p><pre><code>Ext.override(Ext.form.Field, {
161 <i>// Add functionality to Field's initComponent to enable the change event to bubble</i>
162 initComponent : Ext.form.Field.prototype.initComponent.createSequence(<b>function</b>() {
163 this.enableBubble(<em>'change'</em>);
166 <i>// We know that we want Field's events to bubble directly to the FormPanel.</i>
167 getBubbleTarget : <b>function</b>() {
168 <b>if</b> (!this.formPanel) {
169 this.formPanel = this.findParentByType(<em>'form'</em>);
171 <b>return</b> this.formPanel;
175 <b>var</b> myForm = <b>new</b> Ext.formPanel({
176 title: <em>'User Details'</em>,
181 change: <b>function</b>() {
182 <i>// Title goes red <b>if</b> form has been modified.</i>
183 myForm.header.setStyle(<em>'color'</em>, <em>'red'</em>);
186 });</code></pre><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>events</code> : String/Array<div class="sub-desc">The event name to bubble, or an Array of event names.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#enableBubble" ext:member="#enableBubble" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-filter"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-filter">filter</a></b>( <code>String property</code>, <code>String/RegExp value</code>, <span title="Optional" class="optional">[<code>Boolean anyMatch</code>]</span>, <span title="Optional" class="optional">[<code>Boolean caseSensitive</code>]</span> )
188 MixedCollection<div class="mdesc"><div class="short">Filter the objects in this collection by a specific property.
189 Returns a new collection that has been filtered.</div><div class="long">Filter the <i>objects</i> in this collection by a specific property.
190 Returns a new collection that has been filtered.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>property</code> : String<div class="sub-desc">A property on your objects</div></li><li><code>value</code> : String/RegExp<div class="sub-desc">Either string that the property values
191 should start with or a RegExp to test against the property</div></li><li><code>anyMatch</code> : Boolean<div class="sub-desc">(optional) True to match any part of the string, not just the beginning</div></li><li><code>caseSensitive</code> : Boolean<div class="sub-desc">(optional) True for case sensitive comparison (defaults to False).</div></li></ul><strong>Returns:</strong><ul><li><code>MixedCollection</code><div class="sub-desc">The new filtered collection</div></li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-filterBy"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-filterBy">filterBy</a></b>( <code>Function fn</code>, <span title="Optional" class="optional">[<code>Object scope</code>]</span> )
193 MixedCollection<div class="mdesc"><div class="short">Filter by a function. Returns a new collection that has been filtered.
194 The passed function will be called with each o...</div><div class="long">Filter by a function. Returns a <i>new</i> collection that has been filtered.
195 The passed function will be called with each object in the collection.
196 If the function returns true, the value is included otherwise it is filtered.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>fn</code> : Function<div class="sub-desc">The function to be called, it will receive the args o (the object), k (the key)</div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope (<code>this</code> reference) in which the function is executed. Defaults to this MixedCollection.</div></li></ul><strong>Returns:</strong><ul><li><code>MixedCollection</code><div class="sub-desc">The new filtered collection</div></li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-find"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-find">find</a></b>( <code>Function fn</code>, <span title="Optional" class="optional">[<code>Object scope</code>]</span> )
198 Object<div class="mdesc"><div class="short">Returns the first item in the collection which elicits a true return value from the
199 passed selection function.</div><div class="long">Returns the first item in the collection which elicits a true return value from the
200 passed selection function.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>fn</code> : Function<div class="sub-desc">The selection function to execute for each item.</div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope (<code>this</code> reference) in which the function is executed. Defaults to the browser window.</div></li></ul><strong>Returns:</strong><ul><li><code>Object</code><div class="sub-desc">The first item in the collection which returned true from the selection function.</div></li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-findIndex"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-findIndex">findIndex</a></b>( <code>String property</code>, <code>String/RegExp value</code>, <span title="Optional" class="optional">[<code>Number start</code>]</span>, <span title="Optional" class="optional">[<code>Boolean anyMatch</code>]</span>, <span title="Optional" class="optional">[<code>Boolean caseSensitive</code>]</span> )
202 Number<div class="mdesc"><div class="short">Finds the index of the first matching object in this collection by a specific property/value.</div><div class="long">Finds the index of the first matching object in this collection by a specific property/value.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>property</code> : String<div class="sub-desc">The name of a property on your objects.</div></li><li><code>value</code> : String/RegExp<div class="sub-desc">A string that the property values
203 should start with or a RegExp to test against the property.</div></li><li><code>start</code> : Number<div class="sub-desc">(optional) The index to start searching at (defaults to 0).</div></li><li><code>anyMatch</code> : Boolean<div class="sub-desc">(optional) True to match any part of the string, not just the beginning.</div></li><li><code>caseSensitive</code> : Boolean<div class="sub-desc">(optional) True for case sensitive comparison.</div></li></ul><strong>Returns:</strong><ul><li><code>Number</code><div class="sub-desc">The matched index or -1</div></li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-findIndexBy"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-findIndexBy">findIndexBy</a></b>( <code>Function fn</code>, <span title="Optional" class="optional">[<code>Object scope</code>]</span>, <span title="Optional" class="optional">[<code>Number start</code>]</span> )
205 Number<div class="mdesc"><div class="short">Find the index of the first matching object in this collection by a function.
206 If the function returns true it is cons...</div><div class="long">Find the index of the first matching object in this collection by a function.
207 If the function returns <i>true</i> it is considered a match.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>fn</code> : Function<div class="sub-desc">The function to be called, it will receive the args o (the object), k (the key).</div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope (<code>this</code> reference) in which the function is executed. Defaults to this MixedCollection.</div></li><li><code>start</code> : Number<div class="sub-desc">(optional) The index to start searching at (defaults to 0).</div></li></ul><strong>Returns:</strong><ul><li><code>Number</code><div class="sub-desc">The matched index or -1</div></li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.Observable-fireEvent"></a><b><a href="source/Observable.html#method-Ext.util.Observable-fireEvent">fireEvent</a></b>( <code>String eventName</code>, <code>Object... args</code> )
209 Boolean<div class="mdesc"><div class="short">Fires the specified event with the passed parameters (minus the event name).
210 An event may be set to bubble up an Obse...</div><div class="long"><p>Fires the specified event with the passed parameters (minus the event name).</p>
211 <p>An event may be set to bubble up an Observable parent hierarchy (See <a href="output/Ext.Component.html#Ext.Component-getBubbleTarget" ext:member="getBubbleTarget" ext:cls="Ext.Component">Ext.Component.getBubbleTarget</a>)
212 by calling <a href="output/Ext.util.Observable.html#Ext.util.Observable-enableBubble" ext:member="enableBubble" ext:cls="Ext.util.Observable">enableBubble</a>.</p><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>eventName</code> : String<div class="sub-desc">The name of the event to fire.</div></li><li><code>args</code> : Object...<div class="sub-desc">Variable number of parameters are passed to handlers.</div></li></ul><strong>Returns:</strong><ul><li><code>Boolean</code><div class="sub-desc">returns false if any of the handlers return false otherwise it returns true.</div></li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#fireEvent" ext:member="#fireEvent" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-first"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-first">first</a></b>()
214 Object<div class="mdesc"><div class="short">Returns the first item in the collection.</div><div class="long">Returns the first item in the collection.<div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li><code>Object</code><div class="sub-desc">the first item in the collection..</div></li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-get"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-get">get</a></b>( <code>String/Number key</code> )
216 Object<div class="mdesc"><div class="short">This method calls item().
217 Returns the item associated with the passed key OR index. Key has priority
218 over index. Thi...</div><div class="long">This method calls <a href="output/Ext.util.MixedCollection.html#Ext.util.MixedCollection-item" ext:member="item" ext:cls="Ext.util.MixedCollection">item()</a>.
219 Returns the item associated with the passed key OR index. Key has priority
220 over index. This is the equivalent of calling <a href="output/Ext.util.MixedCollection.html#Ext.util.MixedCollection-key" ext:member="key" ext:cls="Ext.util.MixedCollection">key</a> first, then if
221 nothing matched calling <a href="output/Ext.util.MixedCollection.html#Ext.util.MixedCollection-itemAt" ext:member="itemAt" ext:cls="Ext.util.MixedCollection">itemAt</a>.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>key</code> : String/Number<div class="sub-desc">The key or index of the item.</div></li></ul><strong>Returns:</strong><ul><li><code>Object</code><div class="sub-desc">If the item is found, returns the item. If the item was
222 not found, returns <tt>undefined</tt>. If an item was found, but is a Class,
223 returns <tt>null</tt>.</div></li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-getCount"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-getCount">getCount</a></b>()
225 Number<div class="mdesc"><div class="short">Returns the number of items in the collection.</div><div class="long">Returns the number of items in the collection.<div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li><code>Number</code><div class="sub-desc">the number of items in the collection.</div></li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-getKey"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-getKey">getKey</a></b>( <code>Object item</code> )
227 Object<div class="mdesc"><div class="short">MixedCollection has a generic way to fetch keys if you implement getKey. The default implementation
228 simply returns i...</div><div class="long">MixedCollection has a generic way to fetch keys if you implement getKey. The default implementation
229 simply returns <b><code>item.id</code></b> but you can provide your own implementation
230 to return a different value as in the following examples:<pre><code><i>// normal way</i>
231 <b>var</b> mc = <b>new</b> Ext.util.MixedCollection();
232 mc.add(someEl.dom.id, someEl);
233 mc.add(otherEl.dom.id, otherEl);
236 <i>// using getKey</i>
237 <b>var</b> mc = <b>new</b> Ext.util.MixedCollection();
238 mc.getKey = <b>function</b>(el){
239 <b>return</b> el.dom.id;
244 <i>// or via the constructor</i>
245 <b>var</b> mc = <b>new</b> Ext.util.MixedCollection(false, <b>function</b>(el){
246 <b>return</b> el.dom.id;
249 mc.add(otherEl);</code></pre><div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>item</code> : Object<div class="sub-desc">The item for which to find the key.</div></li></ul><strong>Returns:</strong><ul><li><code>Object</code><div class="sub-desc">The key for the passed item.</div></li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-getRange"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-getRange">getRange</a></b>( <span title="Optional" class="optional">[<code>Number startIndex</code>]</span>, <span title="Optional" class="optional">[<code>Number endIndex</code>]</span> )
251 Array<div class="mdesc"><div class="short">Returns a range of items in this collection</div><div class="long">Returns a range of items in this collection<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>startIndex</code> : Number<div class="sub-desc">(optional) The starting index. Defaults to 0.</div></li><li><code>endIndex</code> : Number<div class="sub-desc">(optional) The ending index. Defaults to the last item.</div></li></ul><strong>Returns:</strong><ul><li><code>Array</code><div class="sub-desc">An array of items</div></li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.Observable-hasListener"></a><b><a href="source/Observable.html#method-Ext.util.Observable-hasListener">hasListener</a></b>( <code>String eventName</code> )
253 Boolean<div class="mdesc"><div class="short">Checks to see if this object has any listeners for a specified event</div><div class="long">Checks to see if this object has any listeners for a specified event<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>eventName</code> : String<div class="sub-desc">The name of the event to check for</div></li></ul><strong>Returns:</strong><ul><li><code>Boolean</code><div class="sub-desc">True if the event is being listened for, else false</div></li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#hasListener" ext:member="#hasListener" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-indexOf"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-indexOf">indexOf</a></b>( <code>Object o</code> )
255 Number<div class="mdesc"><div class="short">Returns index within the collection of the passed Object.</div><div class="long">Returns index within the collection of the passed Object.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>o</code> : Object<div class="sub-desc">The item to find the index of.</div></li></ul><strong>Returns:</strong><ul><li><code>Number</code><div class="sub-desc">index of the item. Returns -1 if not found.</div></li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-indexOfKey"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-indexOfKey">indexOfKey</a></b>( <code>String key</code> )
257 Number<div class="mdesc"><div class="short">Returns index within the collection of the passed key.</div><div class="long">Returns index within the collection of the passed key.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>key</code> : String<div class="sub-desc">The key to find the index of.</div></li></ul><strong>Returns:</strong><ul><li><code>Number</code><div class="sub-desc">index of the key.</div></li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-insert"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-insert">insert</a></b>( <code>Number index</code>, <code>String key</code>, <span title="Optional" class="optional">[<code>Object o</code>]</span> )
259 Object<div class="mdesc"><div class="short">Inserts an item at the specified index in the collection. Fires the add event when complete.</div><div class="long">Inserts an item at the specified index in the collection. Fires the <a href="output/Ext.util.MixedCollection.html#Ext.util.MixedCollection-add" ext:member="add" ext:cls="Ext.util.MixedCollection">add</a> event when complete.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>index</code> : Number<div class="sub-desc">The index to insert the item at.</div></li><li><code>key</code> : String<div class="sub-desc">The key to associate with the new item, or the item itself.</div></li><li><code>o</code> : Object<div class="sub-desc">(optional) If the second parameter was a key, the new item.</div></li></ul><strong>Returns:</strong><ul><li><code>Object</code><div class="sub-desc">The item inserted.</div></li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-item"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-item">item</a></b>( <code>String/Number key</code> )
261 Object<div class="mdesc"><div class="short">Returns the item associated with the passed key OR index.
262 Key has priority over index. This is the equivalent
263 of cal...</div><div class="long">Returns the item associated with the passed key OR index.
264 Key has priority over index. This is the equivalent
265 of calling <a href="output/Ext.util.MixedCollection.html#Ext.util.MixedCollection-key" ext:member="key" ext:cls="Ext.util.MixedCollection">key</a> first, then if nothing matched calling <a href="output/Ext.util.MixedCollection.html#Ext.util.MixedCollection-itemAt" ext:member="itemAt" ext:cls="Ext.util.MixedCollection">itemAt</a>.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>key</code> : String/Number<div class="sub-desc">The key or index of the item.</div></li></ul><strong>Returns:</strong><ul><li><code>Object</code><div class="sub-desc">If the item is found, returns the item. If the item was not found, returns <tt>undefined</tt>.
266 If an item was found, but is a Class, returns <tt>null</tt>.</div></li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-itemAt"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-itemAt">itemAt</a></b>( <code>Number index</code> )
268 Object<div class="mdesc"><div class="short">Returns the item at the specified index.</div><div class="long">Returns the item at the specified index.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>index</code> : Number<div class="sub-desc">The index of the item.</div></li></ul><strong>Returns:</strong><ul><li><code>Object</code><div class="sub-desc">The item at the specified index.</div></li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-key"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-key">key</a></b>( <code>String/Number key</code> )
270 Object<div class="mdesc"><div class="short">Returns the item associated with the passed key.</div><div class="long">Returns the item associated with the passed key.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>key</code> : String/Number<div class="sub-desc">The key of the item.</div></li></ul><strong>Returns:</strong><ul><li><code>Object</code><div class="sub-desc">The item associated with the passed key.</div></li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-keySort"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-keySort">keySort</a></b>( <span title="Optional" class="optional">[<code>String direction</code>]</span>, <span title="Optional" class="optional">[<code>Function fn</code>]</span> )
272 void<div class="mdesc"><div class="short">Sorts this collection by keys.</div><div class="long">Sorts this collection by <b>key</b>s.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>direction</code> : String<div class="sub-desc">(optional) 'ASC' or 'DESC'. Defaults to 'ASC'.</div></li><li><code>fn</code> : Function<div class="sub-desc">(optional) Comparison function that defines the sort order.
273 Defaults to sorting by case insensitive string.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-last"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-last">last</a></b>()
275 Object<div class="mdesc"><div class="short">Returns the last item in the collection.</div><div class="long">Returns the last item in the collection.<div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li><code>Object</code><div class="sub-desc">the last item in the collection..</div></li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.Observable-on"></a><b><a href="source/Observable.html#method-Ext.util.Observable-on">on</a></b>( <code>String eventName</code>, <code>Function handler</code>, <span title="Optional" class="optional">[<code>Object scope</code>]</span>, <span title="Optional" class="optional">[<code>Object options</code>]</span> )
277 void<div class="mdesc"><div class="short">Appends an event handler to this object (shorthand for addListener.)</div><div class="long">Appends an event handler to this object (shorthand for <a href="output/Ext.util.Observable.html#Ext.util.Observable-addListener" ext:member="addListener" ext:cls="Ext.util.Observable">addListener</a>.)<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>eventName</code> : String<div class="sub-desc">The type of event to listen for</div></li><li><code>handler</code> : Function<div class="sub-desc">The method the event invokes</div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope (<code><b>this</b></code> reference) in which the handler function is executed.
278 <b>If omitted, defaults to the object which fired the event.</b></div></li><li><code>options</code> : Object<div class="sub-desc">(optional) An object containing handler configuration.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#on" ext:member="#on" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.Observable-purgeListeners"></a><b><a href="source/Observable.html#method-Ext.util.Observable-purgeListeners">purgeListeners</a></b>()
280 void<div class="mdesc"><div class="short">Removes all listeners for this object</div><div class="long">Removes all listeners for this object<div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#purgeListeners" ext:member="#purgeListeners" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.Observable-relayEvents"></a><b><a href="source/Observable-more.html#method-Ext.util.Observable-relayEvents">relayEvents</a></b>( <code>Object o</code>, <code>Array events</code> )
282 void<div class="mdesc"><div class="short">Relays selected events from the specified Observable as if the events were fired by this.</div><div class="long">Relays selected events from the specified Observable as if the events were fired by <tt><b>this</b></tt>.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>o</code> : Object<div class="sub-desc">The Observable whose events this object is to relay.</div></li><li><code>events</code> : Array<div class="sub-desc">Array of event names to relay.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#relayEvents" ext:member="#relayEvents" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-remove"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-remove">remove</a></b>( <code>Object o</code> )
284 Object<div class="mdesc"><div class="short">Remove an item from the collection.</div><div class="long">Remove an item from the collection.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>o</code> : Object<div class="sub-desc">The item to remove.</div></li></ul><strong>Returns:</strong><ul><li><code>Object</code><div class="sub-desc">The item removed or false if no item was removed.</div></li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-removeAt"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-removeAt">removeAt</a></b>( <code>Number index</code> )
286 Object<div class="mdesc"><div class="short">Remove an item from a specified index in the collection. Fires the remove event when complete.</div><div class="long">Remove an item from a specified index in the collection. Fires the <a href="output/Ext.util.MixedCollection.html#Ext.util.MixedCollection-remove" ext:member="remove" ext:cls="Ext.util.MixedCollection">remove</a> event when complete.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>index</code> : Number<div class="sub-desc">The index within the collection of the item to remove.</div></li></ul><strong>Returns:</strong><ul><li><code>Object</code><div class="sub-desc">The item removed or false if no item was removed.</div></li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-removeKey"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-removeKey">removeKey</a></b>( <code>String key</code> )
288 Object<div class="mdesc"><div class="short">Removed an item associated with the passed key fom the collection.</div><div class="long">Removed an item associated with the passed key fom the collection.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>key</code> : String<div class="sub-desc">The key of the item to remove.</div></li></ul><strong>Returns:</strong><ul><li><code>Object</code><div class="sub-desc">The item removed or false if no item was removed.</div></li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.Observable-removeListener"></a><b><a href="source/Observable.html#method-Ext.util.Observable-removeListener">removeListener</a></b>( <code>String eventName</code>, <code>Function handler</code>, <span title="Optional" class="optional">[<code>Object scope</code>]</span> )
290 void<div class="mdesc"><div class="short">Removes an event handler.</div><div class="long">Removes an event handler.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>eventName</code> : String<div class="sub-desc">The type of event the handler was associated with.</div></li><li><code>handler</code> : Function<div class="sub-desc">The handler to remove. <b>This must be a reference to the function passed into the <a href="output/Ext.util.Observable.html#Ext.util.Observable-addListener" ext:member="addListener" ext:cls="Ext.util.Observable">addListener</a> call.</b></div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope originally specified for the handler.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#removeListener" ext:member="#removeListener" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-reorder"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-reorder">reorder</a></b>( <code>Object mapping</code> )
292 void<div class="mdesc"><div class="short">Reorders each of the items based on a mapping from old index to new index. Internally this
293 just translates into a sor...</div><div class="long">Reorders each of the items based on a mapping from old index to new index. Internally this
294 just translates into a sort. The 'sort' event is fired whenever reordering has occured.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>mapping</code> : Object<div class="sub-desc">Mapping from old item index to new item index</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-replace"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-replace">replace</a></b>( <code>String key</code>, <code>o {Object}</code> )
296 Object<div class="mdesc"><div class="short">Replaces an item in the collection. Fires the replace event when complete.</div><div class="long">Replaces an item in the collection. Fires the <a href="output/Ext.util.MixedCollection.html#Ext.util.MixedCollection-replace" ext:member="replace" ext:cls="Ext.util.MixedCollection">replace</a> event when complete.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>key</code> : String<div class="sub-desc"><p>The key associated with the item to replace, or the replacement item.</p>
297 <p>If you supplied a <a href="output/Ext.util.MixedCollection.html#Ext.util.MixedCollection-getKey" ext:member="getKey" ext:cls="Ext.util.MixedCollection">getKey</a> implementation for this MixedCollection, or if the key
298 of your stored items is in a property called <tt><b>id</b></tt>, then the MixedCollection
299 will be able to <i>derive</i> the key of the replacement item. If you want to replace an item
300 with one having the same key value, then just pass the replacement item in this parameter.</p></div></li><li><code>{Object}</code> : o<div class="sub-desc">o (optional) If the first parameter passed was a key, the item to associate
301 with that key.</div></li></ul><strong>Returns:</strong><ul><li><code>Object</code><div class="sub-desc">The new item.</div></li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.Observable-resumeEvents"></a><b><a href="source/Observable.html#method-Ext.util.Observable-resumeEvents">resumeEvents</a></b>()
303 void<div class="mdesc"><div class="short">Resume firing events. (see suspendEvents)
304 If events were suspended using the queueSuspended parameter, then all
305 event...</div><div class="long">Resume firing events. (see <a href="output/Ext.util.Observable.html#Ext.util.Observable-suspendEvents" ext:member="suspendEvents" ext:cls="Ext.util.Observable">suspendEvents</a>)
306 If events were suspended using the <tt><b>queueSuspended</b></tt> parameter, then all
307 events fired during event suspension will be sent to any listeners now.<div class="mdetail-params"><strong>Parameters:</strong><ul><li>None.</li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#resumeEvents" ext:member="#resumeEvents" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-sort"></a><b><a href="source/MixedCollection.html#method-Ext.util.MixedCollection-sort">sort</a></b>( <span title="Optional" class="optional">[<code>String direction</code>]</span>, <span title="Optional" class="optional">[<code>Function fn</code>]</span> )
309 void<div class="mdesc"><div class="short">Sorts this collection by item value with the passed comparison function.</div><div class="long">Sorts this collection by <b>item</b> value with the passed comparison function.<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>direction</code> : String<div class="sub-desc">(optional) 'ASC' or 'DESC'. Defaults to 'ASC'.</div></li><li><code>fn</code> : Function<div class="sub-desc">(optional) Comparison function that defines the sort order.
310 Defaults to sorting by numeric value.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.Observable-suspendEvents"></a><b><a href="source/Observable.html#method-Ext.util.Observable-suspendEvents">suspendEvents</a></b>( <code>Boolean queueSuspended</code> )
312 void<div class="mdesc"><div class="short">Suspend the firing of all events. (see resumeEvents)</div><div class="long">Suspend the firing of all events. (see <a href="output/Ext.util.Observable.html#Ext.util.Observable-resumeEvents" ext:member="resumeEvents" ext:cls="Ext.util.Observable">resumeEvents</a>)<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>queueSuspended</code> : Boolean<div class="sub-desc">Pass as true to queue up suspended events to be fired
313 after the <a href="output/Ext.util.Observable.html#Ext.util.Observable-resumeEvents" ext:member="resumeEvents" ext:cls="Ext.util.Observable">resumeEvents</a> call instead of discarding all suspended events;</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#suspendEvents" ext:member="#suspendEvents" ext:cls="Ext.util.Observable">Observable</a></td></tr><tr class="method-row expandable inherited"><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.Observable-un"></a><b><a href="source/Observable.html#method-Ext.util.Observable-un">un</a></b>( <code>String eventName</code>, <code>Function handler</code>, <span title="Optional" class="optional">[<code>Object scope</code>]</span> )
315 void<div class="mdesc"><div class="short">Removes an event handler (shorthand for removeListener.)</div><div class="long">Removes an event handler (shorthand for <a href="output/Ext.util.Observable.html#Ext.util.Observable-removeListener" ext:member="removeListener" ext:cls="Ext.util.Observable">removeListener</a>.)<div class="mdetail-params"><strong>Parameters:</strong><ul><li><code>eventName</code> : String<div class="sub-desc">The type of event the handler was associated with.</div></li><li><code>handler</code> : Function<div class="sub-desc">The handler to remove. <b>This must be a reference to the function passed into the <a href="output/Ext.util.Observable.html#Ext.util.Observable-addListener" ext:member="addListener" ext:cls="Ext.util.Observable">addListener</a> call.</b></div></li><li><code>scope</code> : Object<div class="sub-desc">(optional) The scope originally specified for the handler.</div></li></ul><strong>Returns:</strong><ul><li>void</li></ul></div></div></div></td><td class="msource"><a href="output/Ext.util.Observable.html#un" ext:member="#un" ext:cls="Ext.util.Observable">Observable</a></td></tr></tbody></table><a id="Ext.util.MixedCollection-events"></a><h2>Public Events</h2><table cellspacing="0" class="member-table"><tbody><tr><th colspan="2" class="sig-header">Event</th><th class="msource-header">Defined By</th></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-add"></a><b><a href="source/MixedCollection.html#event-Ext.util.MixedCollection-add">add</a></b> :
316 ( <code>Number index</code>, <code>Object o</code>, <code>String key</code> )
317 <div class="mdesc"><div class="short">Fires when an item is added to the collection.</div><div class="long">Fires when an item is added to the collection.<div class="mdetail-params"><strong style="font-weight: normal;">Listeners will be called with the following arguments:</strong><ul><li><code>index</code> : Number<div class="sub-desc">The index at which the item was added.</div></li><li><code>o</code> : Object<div class="sub-desc">The item added.</div></li><li><code>key</code> : String<div class="sub-desc">The key associated with the added item.</div></li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-clear"></a><b><a href="source/MixedCollection.html#event-Ext.util.MixedCollection-clear">clear</a></b> :
319 <div class="mdesc"><div class="short">Fires when the collection is cleared.</div><div class="long">Fires when the collection is cleared.<div class="mdetail-params"><strong style="font-weight: normal;">Listeners will be called with the following arguments:</strong><ul><li>None.</li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-remove"></a><b><a href="source/MixedCollection.html#event-Ext.util.MixedCollection-remove">remove</a></b> :
320 ( <code>Object o</code>, <span title="Optional" class="optional">[<code>String key</code>]</span> )
321 <div class="mdesc"><div class="short">Fires when an item is removed from the collection.</div><div class="long">Fires when an item is removed from the collection.<div class="mdetail-params"><strong style="font-weight: normal;">Listeners will be called with the following arguments:</strong><ul><li><code>o</code> : Object<div class="sub-desc">The item being removed.</div></li><li><code>key</code> : String<div class="sub-desc">(optional) The key associated with the removed item.</div></li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr><tr class="method-row expandable "><td class="micon"><a href="#expand" class="exi"> </a></td><td class="sig"><a id="Ext.util.MixedCollection-replace"></a><b><a href="source/MixedCollection.html#event-Ext.util.MixedCollection-replace">replace</a></b> :
322 ( <code>String key</code>, <code>Object old</code>, <code>Object new</code> )
323 <div class="mdesc"><div class="short">Fires when an item is replaced in the collection.</div><div class="long">Fires when an item is replaced in the collection.<div class="mdetail-params"><strong style="font-weight: normal;">Listeners will be called with the following arguments:</strong><ul><li><code>key</code> : String<div class="sub-desc">he key associated with the new added.</div></li><li><code>old</code> : Object<div class="sub-desc">The item being replaced.</div></li><li><code>new</code> : Object<div class="sub-desc">The new item.</div></li></ul></div></div></div></td><td class="msource">MixedCollection</td></tr></tbody></table></div>