src/cm/media/js/lib/yui/yui3-3.15.0/build/node-load/node-load-debug.js
author gibus
Mon, 10 Mar 2014 15:19:48 +0100
changeset 602 e16a97fb364a
permissions -rw-r--r--
Use YUI 3.15
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
602
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     1
YUI.add('node-load', function (Y, NAME) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     2
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     3
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     4
 * Extended Node interface with a basic IO API.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     5
 * @module node
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     6
 * @submodule node-load
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     7
 */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     8
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     9
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    10
 * The default IO complete handler.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    11
 * @method _ioComplete
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    12
 * @protected
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    13
 * @for Node
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    14
 * @param {String} code The response code.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    15
 * @param {Object} response The response object.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    16
 * @param {Array} args An array containing the callback and selector
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    17
 */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    18
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    19
Y.Node.prototype._ioComplete = function(code, response, args) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    20
    var selector = args[0],
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    21
        callback = args[1],
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    22
        tmp,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    23
        content;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    24
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    25
    if (response && response.responseText) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    26
        content = response.responseText;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    27
        if (selector) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    28
            tmp = Y.DOM.create(content);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    29
            content = Y.Selector.query(selector, tmp);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    30
        }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    31
        this.setContent(content);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    32
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    33
    if (callback) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    34
        callback.call(this, code, response);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    35
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    36
};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    37
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    38
/**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    39
 * Loads content from the given url and replaces the Node's
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    40
 * existing content with the remote content.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    41
 * @method load
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    42
 * @param {String} url The URL to load via XMLHttpRequest.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    43
 * @param {String} selector An optional selector representing a subset of an HTML document to load.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    44
 * @param {Function} callback An optional function to run after the content has been loaded.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    45
 * @chainable
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    46
 */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    47
Y.Node.prototype.load = function(url, selector, callback) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    48
    if (typeof selector == 'function') {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    49
        callback = selector;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    50
        selector = null;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    51
    }
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    52
    var config = {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    53
        context: this,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    54
        on: {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    55
            complete: this._ioComplete
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    56
        },
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    57
        arguments: [selector, callback]
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    58
    };
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    59
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    60
    Y.io(url, config);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    61
    return this;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    62
};
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    63
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    64
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    65
}, '@VERSION@', {"requires": ["node-base", "io-base"]});