File: collection/js/arraylist-add.js
- /**
- * Collection utilities beyond what is provided in the YUI core
- * @module collection
- * @submodule arraylist-add
- * @deprecated Use ModelList or a custom ArrayList subclass
- */
-
- /*
- * Adds methods add and remove to Y.ArrayList
- */
- Y.mix(Y.ArrayList.prototype, {
-
- /**
- * Add a single item to the ArrayList. Does not prevent duplicates.
- *
- * @method add
- * @param { mixed } item Item presumably of the same type as others in the
- * ArrayList.
- * @param {Number} index (Optional.) Number representing the position at
- * which the item should be inserted.
- * @return {ArrayList} the instance.
- * @for ArrayList
- * @deprecated Use ModelList or a custom ArrayList subclass
- * @chainable
- */
- add: function(item, index) {
- var items = this._items;
-
- if (Y.Lang.isNumber(index)) {
- items.splice(index, 0, item);
- }
- else {
- items.push(item);
- }
-
- return this;
- },
-
- /**
- * Removes first or all occurrences of an item to the ArrayList. If a
- * comparator is not provided, uses itemsAreEqual method to determine
- * matches.
- *
- * @method remove
- * @param { mixed } needle Item to find and remove from the list.
- * @param { Boolean } all If true, remove all occurrences.
- * @param { Function } comparator optional a/b function to test equivalence.
- * @return {ArrayList} the instance.
- * @for ArrayList
- * @deprecated Use ModelList or a custom ArrayList subclass
- * @chainable
- */
- remove: function(needle, all, comparator) {
- comparator = comparator || this.itemsAreEqual;
-
- for (var i = this._items.length - 1; i >= 0; --i) {
- if (comparator.call(this, needle, this.item(i))) {
- this._items.splice(i, 1);
- if (!all) {
- break;
- }
- }
- }
-
- return this;
- },
-
- /**
- * Default comparator for items stored in this list. Used by remove().
- *
- * @method itemsAreEqual
- * @param { mixed } a item to test equivalence with.
- * @param { mixed } b other item to test equivalance.
- * @return { Boolean } true if items are deemed equivalent.
- * @for ArrayList
- * @deprecated Use ModelList or a custom ArrayList subclass
- */
- itemsAreEqual: function(a, b) {
- return a === b;
- }
-
- });
-
-