src/cm/media/js/lib/yui/yui_3.0.0b1/build/queue/queue-promote.js
author raph
Mon, 23 Nov 2009 15:14:29 +0100
changeset 0 40c8f766c9b8
permissions -rw-r--r--
import from internal svn r 4007
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     1
/*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     2
Copyright (c) 2009, Yahoo! Inc. All rights reserved.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     3
Code licensed under the BSD License:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     4
http://developer.yahoo.net/yui/license.txt
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     5
version: 3.0.0b1
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     6
build: 1163
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     7
*/
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     8
YUI.add('queue-promote', function(Y) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     9
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    10
/**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    11
 * Adds methods promote and remove to Queue instances
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    12
 *
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    13
 * @module queue
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    14
 * @submodule queue-promote
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    15
 * @for Queue
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    16
 */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    17
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    18
Y.mix(Y.Queue.prototype, {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    19
    /**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    20
     * Returns the current index in the queue of the specified callback
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    21
     * 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    22
     * @method indexOf
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    23
     * @param callback {Function} the callback function
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    24
     * @return {Number} the index of the callback or -1 if not found
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    25
     */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    26
    indexOf : function (callback) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    27
        return Y.Array.indexOf(this._q, callback);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    28
    },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    29
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    30
    /**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    31
     * Moves the referenced callback function to the top of the queue
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    32
     *
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    33
     * @method promote
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    34
     * @param callback {Function} reference to a function in the queue
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    35
     */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    36
    promote : function (callback) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    37
        var index = this.indexOf(callback);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    38
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    39
        if (index > -1) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    40
            this._q.unshift(this._q.splice(index,1));
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    41
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    42
    },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    43
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    44
    /**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    45
     * Removes the referenced callback function from the queue
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    46
     *
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    47
     * @method remove
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    48
     * @param callback {Function} reference to a function in the queue
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    49
     */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    50
    remove : function (callback) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    51
        var index = this.indexOf(callback);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    52
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    53
        if (index > -1) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    54
            this._q.splice(index,1);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    55
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    56
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    57
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    58
});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    59
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    60
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    61
}, '3.0.0b1' ,{requires:['queue-base']});