lib/Ext/util/Collection.js
function(key, item) {
        var me = this,
            filtered = this.filtered,
            sorted = this.sorted,
            all = this.all,
            items = this.items,
            keys = this.keys,
            indices = this.indices,
            filterable = this.mixins.filterable,
            currentLength = items.length,
            index = currentLength;

        if (arguments.length == 1) {
            item = key;
            key = me.getKey(item);
        }

        if (typeof key != 'undefined' && key !== null) {
            if (typeof me.map[key] != 'undefined') {
                return me.replace(key, item);
            }
            me.map[key] = item;
        }

        all.push(item);

        if (filtered && this.getAutoFilter() && filterable.isFiltered.call(me, item)) {
            return null;
        }

        me.length++;

        if (sorted && this.getAutoSort()) {
            index = this.findInsertionIndex(items, item);
        }

        if (index !== currentLength) {
            this.dirtyIndices = true;

            Ext.Array.splice(keys, index, 0, key);
            Ext.Array.splice(items, index, 0, item);
        } else {
            indices[key] = currentLength;

            keys.push(key);
            items.push(item);
        }

        return item;
    }
function(key, item) {
        var me = this,
            filtered = this.filtered,
            sorted = this.sorted,
            all = this.all,
            items = this.items,
            keys = this.keys,
            indices = this.indices,
            filterable = this.mixins.filterable,
            currentLength = items.length,
            index = currentLength;

        if (arguments.length == 1) {
            item = key;
            key = me.getKey(item);
        }

        if (typeof key != 'undefined' && key !== null) {
            if (typeof me.map[key] != 'undefined') {
                return me.replace(key, item);
            }
            me.map[key] = item;
        }

        all.push(item);

        if (filtered && this.getAutoFilter() && filterable.isFiltered.call(me, item)) {
            return null;
        }

        me.length++;

        if (sorted && this.getAutoSort()) {
            index = this.findInsertionIndex(items, item);
        }

        if (index !== currentLength) {
            this.dirtyIndices = true;

            Ext.Array.splice(keys, index, 0, key);
            Ext.Array.splice(items, index, 0, item);
        } else {
            indices[key] = currentLength;

            keys.push(key);
            items.push(item);
        }

        return item;
    }
function ( key , item ) { var me = this , filtered = this . filtered , sorted = this . sorted , all = this . all , items = this . items , keys = this . keys , indices = this . indices , filterable = this . mixins . filterable , currentLength = items . length , index = currentLength ; if ( arguments . length == 1 ) { item = key ; key = me . getKey ( item ) ; } if ( typeof key != 'undefined' && key !== null ) { if ( typeof me . map [ key ] != 'undefined' ) { return me . replace ( key , item ) ; } me . map [ key ] = item ; } all . push ( item ) ; if ( filtered && this . getAutoFilter ( ) && filterable . isFiltered . call ( me , item ) ) { return null ; } me . length ++ ; if ( sorted && this . getAutoSort ( ) ) { index = this . findInsertionIndex ( items , item ) ; } if ( index !== currentLength ) { this . dirtyIndices = true ; Ext . Array . splice ( keys , index , 0 , key ) ; Ext . Array . splice ( items , index , 0 , item ) ; } else { indices [ key ] = currentLength ; keys . push ( key ) ; items . push ( item ) ; } return item ; }
Adds an item to the collection.
@param {String} key

The key to associate with the item, or the new item.

If a {@link #getKey} implementation was specified for this MixedCollection, or if the key of the stored items is
in a property called **id**, the MixedCollection will be able to _derive_ the key for the new item. In this case
just pass the new item in this parameter.
@param {Object} item The item to add.
@return {Object} The item added.
Adds an item to the collection . @param { String } key