src/cm/media/js/lib/yui/yui_3.10.3/build/node-pluginhost/node-pluginhost-debug.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-pluginhost', 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
 * @module node
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    12
 * @submodule node-pluginhost
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    13
 */
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
 * Registers plugins to be instantiated at the class level (plugins
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    17
 * which should be plugged into every instance of Node by default).
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
 *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
 * @method plug
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
 * @static
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
 * @for Node
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
 * @param {Function | Array} plugin Either the plugin class, an array of plugin classes or an array of objects (with fn and cfg properties defined)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
 * @param {Object} config (Optional) If plugin is the plugin class, the configuration for the plugin
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
Y.Node.plug = function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
    var args = Y.Array(arguments);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
    args.unshift(Y.Node);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
    Y.Plugin.Host.plug.apply(Y.Base, args);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
    return Y.Node;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
 * Unregisters any class level plugins which have been registered by the Node
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
 *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
 * @method unplug
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
 * @static
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
 *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
 * @param {Function | Array} plugin The plugin class, or an array of plugin classes
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
Y.Node.unplug = function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
    var args = Y.Array(arguments);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
    args.unshift(Y.Node);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
    Y.Plugin.Host.unplug.apply(Y.Base, args);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
    return Y.Node;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
Y.mix(Y.Node, Y.Plugin.Host, false, null, 1);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
// allow batching of plug/unplug via NodeList
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
// doesn't use NodeList.importMethod because we need real Nodes (not tmpNode)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
 * Adds a plugin to each node in the NodeList.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
 * This will instantiate the plugin and attach it to the configured namespace on each node
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
 * @method plug
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
 * @for NodeList
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
 * @param P {Function | Object |Array} Accepts the plugin class, or an 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
 * object with a "fn" property specifying the plugin class and 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
 * a "cfg" property specifying the configuration for the Plugin.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
 * <p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
 * Additionally an Array can also be passed in, with the above function or 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
 * object values, allowing the user to add multiple plugins in a single call.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
 * </p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
 * @param config (Optional) If the first argument is the plugin class, the second argument
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
 * can be the configuration for the plugin.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
 * @chainable
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.NodeList.prototype.plug = function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
    var args = arguments;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
    Y.NodeList.each(this, function(node) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
        Y.Node.prototype.plug.apply(Y.one(node), args);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
    });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
    return this;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
 * Removes a plugin from all nodes in the NodeList. This will destroy the 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
 * plugin instance and delete the namespace each node. 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
 * @method unplug
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
 * @for NodeList
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
 * @param {String | Function} plugin The namespace of the plugin, or the plugin class with the static NS namespace property defined. If not provided,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
 * all registered plugins are unplugged.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
 * @chainable
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
 */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
Y.NodeList.prototype.unplug = function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
    var args = arguments;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
    Y.NodeList.each(this, function(node) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
        Y.Node.prototype.unplug.apply(Y.one(node), args);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
    });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
    return this;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    93
}, '3.10.3', {"requires": ["node-base", "pluginhost"]});