X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/7a654f8d43fdb43d78b63d90528bed6e86b608cc..f562e4c6e5fac7bcb445985b99acbea4d706e6f0:/docs/source/AbstractMixedCollection.html diff --git a/docs/source/AbstractMixedCollection.html b/docs/source/AbstractMixedCollection.html index 4d73a0be..8e2e4fe9 100644 --- a/docs/source/AbstractMixedCollection.html +++ b/docs/source/AbstractMixedCollection.html @@ -1,9 +1,27 @@ -Sencha Documentation Project
/**
+
+
+
+  
+  The source code
+  
+  
+  
+  
+
+
+  
/**
  * @class Ext.util.AbstractMixedCollection
+ * @private
  */
 Ext.define('Ext.util.AbstractMixedCollection', {
     requires: ['Ext.util.Filter'],
-    
+
     mixins: {
         observable: 'Ext.util.Observable'
     },
@@ -17,13 +35,13 @@ Ext.define('Ext.util.AbstractMixedCollection', {
         me.length = 0;
 
         me.addEvents(
-            /**
+            /**
              * @event clear
              * Fires when the collection is cleared.
              */
             'clear',
 
-            /**
+            /**
              * @event add
              * Fires when an item is added to the collection.
              * @param {Number} index The index at which the item was added.
@@ -32,7 +50,7 @@ Ext.define('Ext.util.AbstractMixedCollection', {
              */
             'add',
 
-            /**
+            /**
              * @event replace
              * Fires when an item is replaced in the collection.
              * @param {String} key he key associated with the new added.
@@ -41,7 +59,7 @@ Ext.define('Ext.util.AbstractMixedCollection', {
              */
             'replace',
 
-            /**
+            /**
              * @event remove
              * Fires when an item is removed from the collection.
              * @param {Object} o The item being removed.
@@ -58,15 +76,15 @@ Ext.define('Ext.util.AbstractMixedCollection', {
 
         me.mixins.observable.constructor.call(me);
     },
-    
-    /**
+
+    /**
      * @cfg {Boolean} allowFunctions Specify <tt>true</tt> if the {@link #addAll}
      * function should add function references to the collection. Defaults to
      * <tt>false</tt>.
      */
     allowFunctions : false,
 
-    /**
+    /**
      * Adds an item to the collection. Fires the {@link #add} event when complete.
      * @param {String} key <p>The key to associate with the item, or the new item.</p>
      * <p>If a {@link #getKey} implementation was specified for this MixedCollection,
@@ -100,7 +118,7 @@ Ext.define('Ext.util.AbstractMixedCollection', {
         return myObj;
     },
 
-    /**
+    /**
       * MixedCollection has a generic way to fetch keys if you implement getKey.  The default implementation
       * simply returns <b><code>item.id</code></b> but you can provide your own implementation
       * to return a different value as in the following examples:<pre><code>
@@ -132,7 +150,7 @@ mc.add(otherEl);
          return o.id;
     },
 
-    /**
+    /**
      * Replaces an item in the collection. Fires the {@link #replace} event when complete.
      * @param {String} key <p>The key associated with the item to replace, or the replacement item.</p>
      * <p>If you supplied a {@link #getKey} implementation for this MixedCollection, or if the key
@@ -163,7 +181,7 @@ mc.add(otherEl);
         return o;
     },
 
-    /**
+    /**
      * 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 an Array of values, each of which are added to the collection.
@@ -193,7 +211,7 @@ mc.add(otherEl);
         }
     },
 
-    /**
+    /**
      * Executes the specified function once for every item in the collection, passing the following arguments:
      * <div class="mdetail-params"><ul>
      * <li><b>item</b> : Mixed<p class="sub-desc">The collection item</p></li>
@@ -218,7 +236,7 @@ mc.add(otherEl);
         }
     },
 
-    /**
+    /**
      * Executes the specified function once for every key in the collection, passing each
      * key, and its associated item as the first two parameters.
      * @param {Function} fn The function to execute for each item.
@@ -235,12 +253,12 @@ mc.add(otherEl);
         }
     },
 
-    /**
+    /**
      * Returns the first item in the collection which elicits a true return value from the
      * passed selection function.
      * @param {Function} fn The selection function to execute for each item.
      * @param {Object} scope (optional) The scope (<code>this</code> reference) in which the function is executed. Defaults to the browser window.
-     * @return {Object} The first item in the collection which returned true from the selection function.
+     * @return {Object} The first item in the collection which returned true from the selection function, or null if none was found
      */
     findBy : function(fn, scope) {
         var keys = this.keys,
@@ -265,7 +283,7 @@ mc.add(otherEl);
     },
     //</deprecated>
 
-    /**
+    /**
      * Inserts an item at the specified index in the collection. Fires the {@link #add} event when complete.
      * @param {Number} index The index to insert the item at.
      * @param {String} key The key to associate with the new item, or the item itself.
@@ -290,16 +308,16 @@ mc.add(otherEl);
             return me.add(myKey, myObj);
         }
         me.length++;
-        me.items.splice(index, 0, myObj);
+        Ext.Array.splice(me.items, index, 0, myObj);
         if (typeof myKey != 'undefined' && myKey !== null) {
             me.map[myKey] = myObj;
         }
-        me.keys.splice(index, 0, myKey);
+        Ext.Array.splice(me.keys, index, 0, myKey);
         me.fireEvent('add', index, myObj, myKey);
         return myObj;
     },
 
-    /**
+    /**
      * Remove an item from the collection.
      * @param {Object} o The item to remove.
      * @return {Object} The item removed or false if no item was removed.
@@ -308,7 +326,7 @@ mc.add(otherEl);
         return this.removeAt(this.indexOf(o));
     },
 
-    /**
+    /**
      * Remove all items in the passed array from the collection.
      * @param {Array} items An array of items to be removed.
      * @return {Ext.util.MixedCollection} this object
@@ -321,7 +339,7 @@ mc.add(otherEl);
         return this;
     },
 
-    /**
+    /**
      * Remove an item from a specified index in the collection. Fires the {@link #remove} event when complete.
      * @param {Number} index The index within the collection of the item to remove.
      * @return {Object} The item removed or false if no item was removed.
@@ -334,19 +352,19 @@ mc.add(otherEl);
         if (index < me.length && index >= 0) {
             me.length--;
             o = me.items[index];
-            me.items.splice(index, 1);
+            Ext.Array.erase(me.items, index, 1);
             key = me.keys[index];
             if (typeof key != 'undefined') {
                 delete me.map[key];
             }
-            me.keys.splice(index, 1);
+            Ext.Array.erase(me.keys, index, 1);
             me.fireEvent('remove', o, key);
             return o;
         }
         return false;
     },
 
-    /**
+    /**
      * Removed an item associated with the passed key fom the collection.
      * @param {String} key The key of the item to remove.
      * @return {Object} The item removed or false if no item was removed.
@@ -355,7 +373,7 @@ mc.add(otherEl);
         return this.removeAt(this.indexOfKey(key));
     },
 
-    /**
+    /**
      * Returns the number of items in the collection.
      * @return {Number} the number of items in the collection.
      */
@@ -363,7 +381,7 @@ mc.add(otherEl);
         return this.length;
     },
 
-    /**
+    /**
      * Returns index within the collection of the passed Object.
      * @param {Object} o The item to find the index of.
      * @return {Number} index of the item. Returns -1 if not found.
@@ -372,7 +390,7 @@ mc.add(otherEl);
         return Ext.Array.indexOf(this.items, o);
     },
 
-    /**
+    /**
      * Returns index within the collection of the passed key.
      * @param {String} key The key to find the index of.
      * @return {Number} index of the key.
@@ -381,10 +399,10 @@ mc.add(otherEl);
         return Ext.Array.indexOf(this.keys, key);
     },
 
-    /**
+    /**
      * Returns the item associated with the passed key OR index.
      * Key has priority over index.  This is the equivalent
-     * of calling {@link #key} first, then if nothing matched calling {@link #getAt}.
+     * of calling {@link #getByKey} first, then if nothing matched calling {@link #getAt}.
      * @param {String/Number} key The key or index of the item.
      * @return {Object} If the item is found, returns the item.  If the item was not found, returns <tt>undefined</tt>.
      * If an item was found, but is a Class, returns <tt>null</tt>.
@@ -396,7 +414,7 @@ mc.add(otherEl);
         return typeof item != 'function' || me.allowFunctions ? item : null; // for prototype!
     },
 
-    /**
+    /**
      * Returns the item at the specified index.
      * @param {Number} index The index of the item.
      * @return {Object} The item at the specified index.
@@ -405,7 +423,7 @@ mc.add(otherEl);
         return this.items[index];
     },
 
-    /**
+    /**
      * Returns the item associated with the passed key.
      * @param {String/Number} key The key of the item.
      * @return {Object} The item associated with the passed key.
@@ -414,7 +432,7 @@ mc.add(otherEl);
         return this.map[key];
     },
 
-    /**
+    /**
      * Returns true if the collection contains the passed Object as an item.
      * @param {Object} o  The Object to look for in the collection.
      * @return {Boolean} True if the collection contains the Object as an item.
@@ -423,7 +441,7 @@ mc.add(otherEl);
         return Ext.Array.contains(this.items, o);
     },
 
-    /**
+    /**
      * Returns true if the collection contains the passed Object as a key.
      * @param {String} key The key to look for in the collection.
      * @return {Boolean} True if the collection contains the Object as a key.
@@ -432,7 +450,7 @@ mc.add(otherEl);
         return typeof this.map[key] != 'undefined';
     },
 
-    /**
+    /**
      * Removes all items from the collection.  Fires the {@link #clear} event when complete.
      */
     clear : function(){
@@ -445,7 +463,7 @@ mc.add(otherEl);
         me.fireEvent('clear');
     },
 
-    /**
+    /**
      * Returns the first item in the collection.
      * @return {Object} the first item in the collection..
      */
@@ -453,7 +471,7 @@ mc.add(otherEl);
         return this.items[0];
     },
 
-    /**
+    /**
      * Returns the last item in the collection.
      * @return {Object} the last item in the collection..
      */
@@ -461,13 +479,13 @@ mc.add(otherEl);
         return this.items[this.length - 1];
     },
 
-    /**
+    /**
      * Collects all of the values of the given property and returns their sum
      * @param {String} property The property to sum by
-     * @param {String} root Optional 'root' property to extract the first argument from. This is used mainly when
+     * @param {String} [root] 'root' property to extract the first argument from. This is used mainly when
      * summing fields in records, where the fields are all stored inside the 'data' object
-     * @param {Number} start (optional) The record index to start at (defaults to <tt>0</tt>)
-     * @param {Number} end (optional) The record index to end at (defaults to <tt>-1</tt>)
+     * @param {Number} [start=0] The record index to start at
+     * @param {Number} [end=-1] The record index to end at
      * @return {Number} The total
      */
     sum: function(property, root, start, end) {
@@ -486,10 +504,10 @@ mc.add(otherEl);
         return sum;
     },
 
-    /**
+    /**
      * Collects unique values of a particular property in this MixedCollection
      * @param {String} property The property to collect on
-     * @param {String} root Optional 'root' property to extract the first argument from. This is used mainly when
+     * @param {String} root (optional) 'root' property to extract the first argument from. This is used mainly when
      * summing fields in records, where the fields are all stored inside the 'data' object
      * @param {Boolean} allowBlank (optional) Pass true to allow null, undefined or empty string values
      * @return {Array} The unique values
@@ -514,12 +532,12 @@ mc.add(otherEl);
         return unique;
     },
 
-    /**
+    /**
      * @private
      * Extracts all of the given property values from the items in the MC. Mainly used as a supporting method for
      * functions like sum and collect.
      * @param {String} property The property to extract
-     * @param {String} root Optional 'root' property to extract the first argument from. This is used mainly when
+     * @param {String} root (optional) 'root' property to extract the first argument from. This is used mainly when
      * extracting field data from Model instances, where the fields are stored inside the 'data' object
      * @return {Array} The extracted values
      */
@@ -533,7 +551,7 @@ mc.add(otherEl);
         return Ext.Array.pluck(values, property);
     },
 
-    /**
+    /**
      * Returns a range of items in this collection
      * @param {Number} startIndex (optional) The starting index. Defaults to 0.
      * @param {Number} endIndex (optional) The ending index. Defaults to the last item.
@@ -563,7 +581,7 @@ mc.add(otherEl);
         return range;
     },
 
-    /**
+    /**
      * <p>Filters the objects in this collection by a set of {@link Ext.util.Filter Filter}s, or by a single
      * property/value pair with optional parameters for substring matching and case sensitivity. See
      * {@link Ext.util.Filter Filter} for an example of using Filter objects (preferred). Alternatively,
@@ -583,12 +601,12 @@ var middleAged = people.filter('age', 24);
 </code></pre>
      *
      *
-     * @param {Array/String} property A property on your objects, or an array of {@link Ext.util.Filter Filter} objects
+     * @param {Ext.util.Filter[]/String} property A property on your objects, or an array of {@link Ext.util.Filter Filter} objects
      * @param {String/RegExp} value Either string that the property values
      * should start with or a RegExp to test against the property
-     * @param {Boolean} anyMatch (optional) True to match any part of the string, not just the beginning
-     * @param {Boolean} caseSensitive (optional) True for case sensitive comparison (defaults to False).
-     * @return {MixedCollection} The new filtered collection
+     * @param {Boolean} [anyMatch=false] True to match any part of the string, not just the beginning
+     * @param {Boolean} [caseSensitive=false] True for case sensitive comparison.
+     * @return {Ext.util.MixedCollection} The new filtered collection
      */
     filter : function(property, value, anyMatch, caseSensitive) {
         var filters = [],
@@ -627,13 +645,13 @@ var middleAged = people.filter('age', 24);
         return this.filterBy(filterFn);
     },
 
-    /**
+    /**
      * Filter by a function. Returns a <i>new</i> collection that has been filtered.
      * The passed function will be called with each object in the collection.
      * If the function returns true, the value is included otherwise it is filtered.
      * @param {Function} fn The function to be called, it will receive the args o (the object), k (the key)
      * @param {Object} scope (optional) The scope (<code>this</code> reference) in which the function is executed. Defaults to this MixedCollection.
-     * @return {MixedCollection} The new filtered collection
+     * @return {Ext.util.MixedCollection} The new filtered collection
      */
     filterBy : function(fn, scope) {
         var me = this,
@@ -654,14 +672,14 @@ var middleAged = people.filter('age', 24);
         return newMC;
     },
 
-    /**
+    /**
      * Finds the index of the first matching object in this collection by a specific property/value.
      * @param {String} property The name of a property on your objects.
      * @param {String/RegExp} value A string that the property values
      * should start with or a RegExp to test against the property.
-     * @param {Number} start (optional) The index to start searching at (defaults to 0).
-     * @param {Boolean} anyMatch (optional) True to match any part of the string, not just the beginning.
-     * @param {Boolean} caseSensitive (optional) True for case sensitive comparison.
+     * @param {Number} [start=0] The index to start searching at.
+     * @param {Boolean} [anyMatch=false] True to match any part of the string, not just the beginning.
+     * @param {Boolean} [caseSensitive=false] True for case sensitive comparison.
      * @return {Number} The matched index or -1
      */
     findIndex : function(property, value, start, anyMatch, caseSensitive){
@@ -674,12 +692,12 @@ var middleAged = people.filter('age', 24);
         }, null, start);
     },
 
-    /**
+    /**
      * Find the index of the first matching object in this collection by a function.
      * If the function returns <i>true</i> it is considered a match.
      * @param {Function} fn The function to be called, it will receive the args o (the object), k (the key).
-     * @param {Object} scope (optional) The scope (<code>this</code> reference) in which the function is executed. Defaults to this MixedCollection.
-     * @param {Number} start (optional) The index to start searching at (defaults to 0).
+     * @param {Object} [scope] The scope (<code>this</code> reference) in which the function is executed. Defaults to this MixedCollection.
+     * @param {Number} [start=0] The index to start searching at.
      * @return {Number} The matched index or -1
      */
     findIndexBy : function(fn, scope, start){
@@ -697,7 +715,7 @@ var middleAged = people.filter('age', 24);
         return -1;
     },
 
-    /**
+    /**
      * Returns a regular expression based on the given value and matching options. This is used internally for finding and filtering,
      * and by Ext.data.Store#filter
      * @private
@@ -724,9 +742,9 @@ var middleAged = people.filter('age', 24);
         return value;
     },
 
-    /**
+    /**
      * Creates a shallow copy of this collection
-     * @return {MixedCollection}
+     * @return {Ext.util.MixedCollection}
      */
     clone : function() {
         var me = this,
@@ -743,4 +761,6 @@ var middleAged = people.filter('age', 24);
         return copy;
     }
 });
-
\ No newline at end of file +
+ +