src/cm/media/js/lib/yui/yui_3.10.3/build/yui-later/yui-later-debug.js
author ymh <ymh.work@gmail.com>
Fri, 14 Mar 2014 13:16:10 +0100
changeset 611 fa66f4bb1563
parent 525 89ef5ed3c48b
permissions -rw-r--r--
add some more custom config and put every thing in comment in the custom.yaml template
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('yui-later', 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
 * Provides a setTimeout/setInterval wrapper. This module is a `core` YUI module,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    12
 * <a href="../classes/YUI.html#method_later">it's documentation is located under the YUI class</a>.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    13
 *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    14
 * @module yui
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    15
 * @submodule yui-later
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    16
 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    17
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
var NO_ARGS = [];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
 * Executes the supplied function in the context of the supplied
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
 * object 'when' milliseconds later.  Executes the function a
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
 * single time unless periodic is set to true.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
 * @for YUI
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
 * @method later
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
 * @param when {int} the number of milliseconds to wait until the fn
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
 * is executed.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
 * @param o the context object.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
 * @param fn {Function|String} the function to execute or the name of
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
 * the method in the 'o' object to execute.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
 * @param data [Array] data that is provided to the function.  This
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
 * accepts either a single item or an array.  If an array is provided,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
 * the function is executed with one parameter for each array item.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
 * If you need to pass a single array parameter, it needs to be wrapped
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
 * in an array [myarray].
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
 *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
 * Note: native methods in IE may not have the call and apply methods.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
 * In this case, it will work, but you are limited to four arguments.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
 *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
 * @param periodic {boolean} if true, executes continuously at supplied
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
 * interval until canceled.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
 * @return {object} a timer object. Call the cancel() method on this
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
 * object to stop the timer.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
Y.later = function(when, o, fn, data, periodic) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
    when = when || 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
    data = (!Y.Lang.isUndefined(data)) ? Y.Array(data) : NO_ARGS;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
    o = o || Y.config.win || Y;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
    var cancelled = false,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
        method = (o && Y.Lang.isString(fn)) ? o[fn] : fn,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
        wrapper = function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
            // IE 8- may execute a setInterval callback one last time
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
            // after clearInterval was called, so in order to preserve
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
            // the cancel() === no more runny-run, we have to jump through
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
            // an extra hoop.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
            if (!cancelled) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
                if (!method.apply) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
                    method(data[0], data[1], data[2], data[3]);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
                } else {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
                    method.apply(o, data || NO_ARGS);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
        id = (periodic) ? setInterval(wrapper, when) : setTimeout(wrapper, when);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
    return {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
        id: id,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
        interval: periodic,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
        cancel: function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
            cancelled = true;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
            if (this.interval) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
                clearInterval(id);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
            } else {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
                clearTimeout(id);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
    };
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
Y.Lang.later = Y.later;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
}, '3.10.3', {"requires": ["yui-base"]});