Fix #5654 - roojspacker - get it working as a doc tool...
[roojs1] / docs / src / Roo_util_MixedCollection.js.html
@@ -1,4 +1,4 @@
-<html><head><title>../roojs1/Roo/util/MixedCollection.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">/*
+<html><head><title>/home/alan/gitlive/roojs1/Roo/util/MixedCollection.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">/*
  * Based on:
  * Ext JS Library 1.1.1
  * Copyright(c) 2006-2007, Ext JS, LLC.
@@ -9,7 +9,7 @@
  * &lt;script type=&quot;text/javascript&quot;&gt;
  */
 
+
 /**
  * @class Roo.util.MixedCollection
  * @extends Roo.util.Observable
@@ -67,7 +67,7 @@
 
 </span><span class="jsdoc-var">Roo.extend</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">Roo.util.MixedCollection</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">Roo.util.Observable</span><span class="jsdoc-syntax">, {
     </span><span class="jsdoc-var">allowFunctions </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">false</span><span class="jsdoc-syntax">,
-    
+
 </span><span class="jsdoc-comment">/**
  * Adds an item to the collection.
  * @param {String} key The key to associate with the item
@@ -96,7 +96,7 @@
         </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;add&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.length</span><span class="jsdoc-syntax">-1, </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">);
         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">;
     },
-       
+
 </span><span class="jsdoc-comment">/**
   * MixedCollection has a generic way to fetch keys if you implement getKey.
 &lt;pre&gt;&lt;code&gt;
@@ -125,9 +125,9 @@ mc.add(otherEl);
  * @return {Object} The key for the passed item.
  */
     </span><span class="jsdoc-var">getKey </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">){
-         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">o.id</span><span class="jsdoc-syntax">; 
+         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">o.id</span><span class="jsdoc-syntax">;
     },
-   
+
 </span><span class="jsdoc-comment">/**
  * Replaces an item in the collection.
  * @param {String} key The key associated with the item to replace, or the item to replace.
@@ -149,7 +149,7 @@ mc.add(otherEl);
         </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;replace&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">old</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">);
         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">;
     },
-   
+
 </span><span class="jsdoc-comment">/**
  * Adds all elements of an Array or an Object to the collection.
  * @param {Object/Array} objs An Object containing properties which will be added to the collection, or
@@ -169,7 +169,7 @@ mc.add(otherEl);
             }
         }
     },
-   
+
 </span><span class="jsdoc-comment">/**
  * Executes the specified function once for every item in the collection, passing each
  * item as the first and only parameter. returning false from the function will stop the iteration.
@@ -184,7 +184,7 @@ mc.add(otherEl);
             }
         }
     },
-   
+
 </span><span class="jsdoc-comment">/**
  * Executes the specified function once for every key in the collection, passing each
  * key, and its associated item as the first two parameters.
@@ -196,7 +196,7 @@ mc.add(otherEl);
             </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">window</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this.keys</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">], </span><span class="jsdoc-var">this.items</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">], </span><span class="jsdoc-var">i</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">len</span><span class="jsdoc-syntax">);
         }
     },
-   
+
 </span><span class="jsdoc-comment">/**
  * Returns the first item in the collection which elicits a true return value from the
  * passed selection function.
@@ -212,7 +212,7 @@ mc.add(otherEl);
         }
         </span><span class="jsdoc-keyword">return null</span><span class="jsdoc-syntax">;
     },
-   
+
 </span><span class="jsdoc-comment">/**
  * Inserts an item at the specified index in the collection.
  * @param {Number} index The index to insert the item at.
@@ -237,7 +237,7 @@ mc.add(otherEl);
         </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;add&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">);
         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">;
     },
-   
+
 </span><span class="jsdoc-comment">/**
  * Removed an item from the collection.
  * @param {Object} o The item to remove.
@@ -246,7 +246,7 @@ mc.add(otherEl);
     </span><span class="jsdoc-var">remove </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">){
         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.removeAt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">));
     },
-   
+
 </span><span class="jsdoc-comment">/**
  * Remove an item from a specified index in the collection.
  * @param {Number} index The index within the collection of the item to remove.
@@ -264,7 +264,7 @@ mc.add(otherEl);
             </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;remove&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">);
         }
     },
-   
+
 </span><span class="jsdoc-comment">/**
  * Removed an item associated with the passed key fom the collection.
  * @param {String} key The key of the item to remove.
@@ -272,15 +272,15 @@ mc.add(otherEl);
     </span><span class="jsdoc-var">removeKey </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">){
         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.removeAt</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">this.indexOfKey</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">));
     },
-   
+
 </span><span class="jsdoc-comment">/**
  * Returns the number of items in the collection.
  * @return {Number} the number of items in the collection.
  */
     </span><span class="jsdoc-var">getCount </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
-        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.length</span><span class="jsdoc-syntax">; 
+        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.length</span><span class="jsdoc-syntax">;
     },
-   
+
 </span><span class="jsdoc-comment">/**
  * Returns index within the collection of the passed Object.
  * @param {Object} o The item to find the index of.
@@ -298,7 +298,7 @@ mc.add(otherEl);
             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.items.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">);
         }
     },
-   
+
 </span><span class="jsdoc-comment">/**
  * Returns index within the collection of the passed key.
  * @param {String} key The key to find the index of.
@@ -316,7 +316,7 @@ mc.add(otherEl);
             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.keys.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">);
         }
     },
-   
+
 </span><span class="jsdoc-comment">/**
  * Returns the item associated with the passed key OR index. Key has priority over index.
  * @param {String/Number} key The key or index of the item.
@@ -326,7 +326,7 @@ mc.add(otherEl);
         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">item </span><span class="jsdoc-syntax">= </span><span class="jsdoc-keyword">typeof </span><span class="jsdoc-var">this.map</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">] != </span><span class="jsdoc-string">&quot;undefined&quot; </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">this.map</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">] : </span><span class="jsdoc-var">this.items</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">];
         </span><span class="jsdoc-keyword">return typeof </span><span class="jsdoc-var">item </span><span class="jsdoc-syntax">!= </span><span class="jsdoc-string">'function' </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-var">this.allowFunctions </span><span class="jsdoc-syntax">? </span><span class="jsdoc-var">item </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">null</span><span class="jsdoc-syntax">; </span><span class="jsdoc-comment">// for prototype!
     </span><span class="jsdoc-syntax">},
-    
+
 </span><span class="jsdoc-comment">/**
  * Returns the item at the specified index.
  * @param {Number} index The index of the item.
@@ -335,7 +335,7 @@ mc.add(otherEl);
     </span><span class="jsdoc-var">itemAt </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">){
         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.items</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">index</span><span class="jsdoc-syntax">];
     },
-    
+
 </span><span class="jsdoc-comment">/**
  * Returns the item associated with the passed key.
  * @param {String/Number} key The key of the item.
@@ -344,7 +344,7 @@ mc.add(otherEl);
     </span><span class="jsdoc-var">key </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">){
         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.map</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">];
     },
-   
+
 </span><span class="jsdoc-comment">/**
  * Returns true if the collection contains the passed Object as an item.
  * @param {Object} o  The Object to look for in the collection.
@@ -353,7 +353,7 @@ mc.add(otherEl);
     </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">o</span><span class="jsdoc-syntax">){
         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.indexOf</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">) != -1;
     },
-   
+
 </span><span class="jsdoc-comment">/**
  * Returns true if the collection contains the passed Object as a key.
  * @param {String} key The key to look for in the collection.
@@ -362,7 +362,7 @@ mc.add(otherEl);
     </span><span class="jsdoc-var">containsKey </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">){
         </span><span class="jsdoc-keyword">return typeof </span><span class="jsdoc-var">this.map</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">key</span><span class="jsdoc-syntax">] != </span><span class="jsdoc-string">&quot;undefined&quot;</span><span class="jsdoc-syntax">;
     },
-   
+
 </span><span class="jsdoc-comment">/**
  * Removes all items from the collection.
  */
@@ -373,23 +373,23 @@ mc.add(otherEl);
         </span><span class="jsdoc-var">this.map </span><span class="jsdoc-syntax">= {};
         </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;clear&quot;</span><span class="jsdoc-syntax">);
     },
-   
+
 </span><span class="jsdoc-comment">/**
  * Returns the first item in the collection.
  * @return {Object} the first item in the collection..
  */
     </span><span class="jsdoc-var">first </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
-        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.items</span><span class="jsdoc-syntax">[0]; 
+        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.items</span><span class="jsdoc-syntax">[0];
     },
-   
+
 </span><span class="jsdoc-comment">/**
  * Returns the last item in the collection.
  * @return {Object} the last item in the collection..
  */
     </span><span class="jsdoc-var">last </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(){
-        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.items</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.length</span><span class="jsdoc-syntax">-1];   
+        </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">this.items</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">this.length</span><span class="jsdoc-syntax">-1];
     },
-    
+
     </span><span class="jsdoc-var">_sort </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">property</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">fn</span><span class="jsdoc-syntax">){
         </span><span class="jsdoc-keyword">var </span><span class="jsdoc-var">dsc </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">String</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.toUpperCase</span><span class="jsdoc-syntax">() == </span><span class="jsdoc-string">&quot;DESC&quot; </span><span class="jsdoc-syntax">? -1 : 1;
         </span><span class="jsdoc-var">fn </span><span class="jsdoc-syntax">= </span><span class="jsdoc-var">fn </span><span class="jsdoc-syntax">|| </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">){
@@ -412,7 +412,7 @@ mc.add(otherEl);
         }
         </span><span class="jsdoc-var">this.fireEvent</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;sort&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">this</span><span class="jsdoc-syntax">);
     },
-    
+
     </span><span class="jsdoc-comment">/**
      * Sorts this collection with the passed comparison function
      * @param {String} direction (optional) &quot;ASC&quot; or &quot;DESC&quot;
@@ -421,7 +421,7 @@ mc.add(otherEl);
     </span><span class="jsdoc-var">sort </span><span class="jsdoc-syntax">: </span><span class="jsdoc-keyword">function</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">fn</span><span class="jsdoc-syntax">){
         </span><span class="jsdoc-var">this._sort</span><span class="jsdoc-syntax">(</span><span class="jsdoc-string">&quot;value&quot;</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">dir</span><span class="jsdoc-syntax">, </span><span class="jsdoc-var">fn</span><span class="jsdoc-syntax">);
     },
-    
+
     </span><span class="jsdoc-comment">/**
      * Sorts this collection by keys
      * @param {String} direction (optional) &quot;ASC&quot; or &quot;DESC&quot;
@@ -432,7 +432,7 @@ mc.add(otherEl);
             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">String</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">a</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.toUpperCase</span><span class="jsdoc-syntax">()-</span><span class="jsdoc-var">String</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">b</span><span class="jsdoc-syntax">)</span><span class="jsdoc-var">.toUpperCase</span><span class="jsdoc-syntax">();
         });
     },
-    
+
     </span><span class="jsdoc-comment">/**
      * Returns a range of items in this collection
      * @param {Number} startIndex (optional) defaults to 0
@@ -458,7 +458,7 @@ mc.add(otherEl);
         }
         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">;
     },
-        
+
     </span><span class="jsdoc-comment">/**
      * Filter the &lt;i&gt;objects&lt;/i&gt; in this collection by a specific property. 
      * Returns a new collection that has been filtered.
@@ -479,7 +479,7 @@ mc.add(otherEl);
             </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">o </span><span class="jsdoc-syntax">&amp;&amp; </span><span class="jsdoc-var">value.test</span><span class="jsdoc-syntax">(</span><span class="jsdoc-var">o</span><span class="jsdoc-syntax">[</span><span class="jsdoc-var">property</span><span class="jsdoc-syntax">]);
         });
        },
-    
+
     </span><span class="jsdoc-comment">/**
      * Filter by a function. * Returns a new collection that has been filtered.
      * The passed function will be called with each 
@@ -500,7 +500,7 @@ mc.add(otherEl);
         }
         </span><span class="jsdoc-keyword">return </span><span class="jsdoc-var">r</span><span class="jsdoc-syntax">;
     },
-    
+
     </span><span class="jsdoc-comment">/**
      * Creates a duplicate of this collection
      * @return {MixedCollection}