<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>The source code</title>
- <link href="../prettify/prettify.css" type="text/css" rel="stylesheet" />
- <script type="text/javascript" src="../prettify/prettify.js"></script>
+ <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />
+ <script type="text/javascript" src="../resources/prettify/prettify.js"></script>
<style type="text/css">
.highlight { display: block; background-color: #ddd; }
</style>
<body onload="prettyPrint(); highlight();">
<pre class="prettyprint lang-js"><span id='Ext-util-AbstractMixedCollection'>/**
</span> * @class Ext.util.AbstractMixedCollection
+ * @private
*/
Ext.define('Ext.util.AbstractMixedCollection', {
requires: ['Ext.util.Filter'],
-
+
mixins: {
observable: 'Ext.util.Observable'
},
me.mixins.observable.constructor.call(me);
},
-
+
<span id='Ext-util-AbstractMixedCollection-cfg-allowFunctions'> /**
</span> * @cfg {Boolean} allowFunctions Specify <tt>true</tt> if the {@link #addAll}
* function should add function references to the collection. Defaults to
* 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,
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;
},
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;
}
<span id='Ext-util-AbstractMixedCollection-method-get'> /**
</span> * 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>.
<span id='Ext-util-AbstractMixedCollection-method-sum'> /**
</span> * 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) {
<span id='Ext-util-AbstractMixedCollection-method-collect'> /**
</span> * 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
* 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
*/
</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 = [],
* 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,
* @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){
</span> * 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){
<span id='Ext-util-AbstractMixedCollection-method-clone'> /**
</span> * Creates a shallow copy of this collection
- * @return {MixedCollection}
+ * @return {Ext.util.MixedCollection}
*/
clone : function() {
var me = this,