src/cm/media/js/lib/yui/yui3.0.0/build/node/node-pluginhost-debug.js
author Yves-Marie Haussonne <ymh.work+github@gmail.com>
Fri, 09 May 2014 18:35:26 +0200
changeset 656 a84519031134
parent 0 40c8f766c9b8
permissions -rw-r--r--
add link to "privacy policy" in the header test
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.0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     6
build: 1549
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('node-pluginhost', 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
 * Registers plugins to be instantiated at the class level (plugins 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    12
 * which should be plugged into every instance of Node by default).
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    13
 *
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    14
 * @method Node.plug
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    15
 * @static
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    16
 *
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    17
 * @param {Function | Array} plugin Either the plugin class, an array of plugin classes or an array of objects (with fn and cfg properties defined)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    18
 * @param {Object} config (Optional) If plugin is the plugin class, the configuration for the plugin
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    19
 */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    20
Y.Node.plug = function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    21
    var args = Y.Array(arguments);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    22
    args.unshift(Y.Node);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    23
    Y.Plugin.Host.plug.apply(Y.Base, args);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    24
    return Y.Node;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    25
};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    26
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    27
/**
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    28
 * Unregisters any class level plugins which have been registered by the Node
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    29
 *
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    30
 * @method Node.unplug
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    31
 * @static
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    32
 *
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    33
 * @param {Function | Array} plugin The plugin class, or an array of plugin classes
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    34
 */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    35
Y.Node.unplug = function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    36
    var args = Y.Array(arguments);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    37
    args.unshift(Y.Node);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    38
    Y.Plugin.Host.unplug.apply(Y.Base, args);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    39
    return Y.Node;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    40
};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    41
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    42
Y.mix(Y.Node, Y.Plugin.Host, false, null, 1);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    43
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    44
// allow batching of plug/unplug via NodeList
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    45
// doesn't use NodeList.importMethod because we need real Nodes (not tmpNode)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    46
Y.NodeList.prototype.plug = function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    47
    var args = arguments;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    48
    Y.NodeList.each(this, function(node) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    49
        Y.Node.prototype.plug.apply(Y.one(node), args);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    50
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    51
};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    52
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    53
Y.NodeList.prototype.unplug = function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    54
    var args = arguments;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    55
    Y.NodeList.each(this, function(node) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    56
        Y.Node.prototype.unplug.apply(Y.one(node), args);
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.0' ,{requires:['node-base', 'pluginhost']});