src/cm/media/js/lib/yui/yui_3.10.3/build/node-load/node-load.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('node-load', 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
 * Extended Node interface with a basic IO API.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    12
 * @module node
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    13
 * @submodule node-load
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    14
 */
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
 * The default IO complete handler.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
 * @method _ioComplete
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
 * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
 * @for Node
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
 * @param {String} code The response code.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
 * @param {Object} response The response object.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
 * @param {Array} args An array containing the callback and selector
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
Y.Node.prototype._ioComplete = function(code, response, args) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
    var selector = args[0],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
        callback = args[1],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
        tmp,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
        content;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
    if (response && response.responseText) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
        content = response.responseText;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
        if (selector) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
            tmp = Y.DOM.create(content);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
            content = Y.Selector.query(selector, tmp);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
        this.setContent(content);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
    if (callback) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
        callback.call(this, code, response);
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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
 * Loads content from the given url and replaces the Node's
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
 * existing content with the remote content.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
 * @method load
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
 * @param {String} url The URL to load via XMLHttpRequest.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
 * @param {String} selector An optional selector representing a subset of an HTML document to load.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
 * @param {Function} callback An optional function to run after the content has been loaded.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
 * @chainable
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
Y.Node.prototype.load = function(url, selector, callback) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
    if (typeof selector == 'function') {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
        callback = selector;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
        selector = null;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
    var config = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
        context: this,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
        on: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
            complete: this._ioComplete
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
        arguments: [selector, callback]
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
    };
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
    Y.io(url, config);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
    return this;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
}, '3.10.3', {"requires": ["node-base", "io-base"]});