src/cm/media/js/lib/yui/yui_3.10.3/build/queue-promote/queue-promote.js
author gibus
Tue, 16 Jul 2013 14:29:46 +0200
changeset 525 89ef5ed3c48b
permissions -rw-r--r--
Upgrades to yui 3.10.3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
525
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     1
/*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     2
YUI 3.10.3 (build 2fb5187)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     3
Copyright 2013 Yahoo! Inc. All rights reserved.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     4
Licensed under the BSD License.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     5
http://yuilibrary.com/license/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     6
*/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     7
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     8
YUI.add('queue-promote', function (Y, NAME) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     9
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    10
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    11
 * Adds methods promote, remove, and indexOf to Queue instances.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    12
 *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    13
 * @module queue-promote
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    14
 * @for Queue
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    15
 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    16
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    17
Y.mix(Y.Queue.prototype, {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
     * Returns the current index in the queue of the specified item
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
     * 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
     * @method indexOf
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
     * @param needle {MIXED} the item to search for
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
     * @return {Number} the index of the item or -1 if not found
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
    indexOf : function (callback) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
        return Y.Array.indexOf(this._q, callback);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
     * Moves the referenced item to the head of the queue
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
     * @method promote
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
     * @param item {MIXED} an item in the queue
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
    promote : function (callback) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
        var index = this.indexOf(callback);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
        if (index > -1) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
            this._q.unshift(this._q.splice(index,1)[0]);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
     * Removes the referenced item from the queue
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
     *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
     * @method remove
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
     * @param item {MIXED} an item in the queue
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
    remove : function (callback) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
        var index = this.indexOf(callback);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
        if (index > -1) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
            this._q.splice(index,1);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
}, '3.10.3', {"requires": ["yui-base"]});