src/cm/media/js/lib/yui/yui_3.10.3/build/button-plugin/button-plugin-debug.js
author Yves-Marie Haussonne <ymh.work+github@gmail.com>
Fri, 09 May 2014 18:35:26 +0200
changeset 656 a84519031134
parent 525 89ef5ed3c48b
permissions -rw-r--r--
add link to "privacy policy" in the header test
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('button-plugin', 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
* A Button Plugin
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    12
*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    13
* @module button-plugin
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    14
* @since 3.5.0
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
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
* @class Button
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
* @param config {Object} Configuration object
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
* @extends ButtonCore
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
* @constructor
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
* @namespace Plugin
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
*/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
function ButtonPlugin() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
    ButtonPlugin.superclass.constructor.apply(this, arguments);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
Y.extend(ButtonPlugin, Y.ButtonCore, {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
    * @method _afterNodeGet
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
    * @param name {string}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
    * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
    */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
    _afterNodeGet: function (name) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
        // TODO: point to method (_uiSetLabel, etc) instead of getter/setter
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
        var ATTRS = this.constructor.ATTRS,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
            fn = ATTRS[name] && ATTRS[name].getter && this[ATTRS[name].getter];
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 (fn) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
            return new Y.Do.AlterReturn('get ' + name, fn.call(this));
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
    * @method _afterNodeSet
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
    * @param name {String}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
    * @param val {String}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
    * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
    */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
    _afterNodeSet: function (name, val) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
        var ATTRS = this.constructor.ATTRS,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
            fn = ATTRS[name] && ATTRS[name].setter && this[ATTRS[name].setter];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
            
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
        if (fn) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
            fn.call(this, val);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
    * @method _initNode
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
    * @param config {Object}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
    * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
    */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
    _initNode: function(config) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
        var node = config.host;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
        this._host = node;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
        
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
        Y.Do.after(this._afterNodeGet, node, 'get', this);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
        Y.Do.after(this._afterNodeSet, node, 'set', this);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
    * @method destroy
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
    * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
    */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
    destroy: function(){
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
        // Nothing to do, but things are happier with it here
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
}, {
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
    * Attribute configuration.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
    *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
    * @property ATTRS
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
    * @type {Object}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
    * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
    * @static
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
    */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
    ATTRS: Y.merge(Y.ButtonCore.ATTRS),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    93
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    94
    * Name of this component.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    95
    *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    96
    * @property NAME
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
    * @type String
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
    * @static
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
    */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
    NAME: 'buttonPlugin',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
    * Namespace of this component.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
    *
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
    * @property NS
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
    * @type String
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
    * @static
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
    */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   109
    NS: 'button'
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   110
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   111
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
/**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
* @method createNode
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   115
* @description A factory that plugs a Y.Node instance with Y.Plugin.Button
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   116
* @param node {Object}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   117
* @param config {Object}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   118
* @return {Object} A plugged Y.Node instance
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   119
* @public
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   120
*/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   121
ButtonPlugin.createNode = function(node, config) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   122
    var template;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   123
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   124
    if (node && !config) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   125
        if (! (node.nodeType || node.getDOMNode || typeof node === 'string')) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   126
            config = node;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   127
            node = config.srcNode;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   128
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   129
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   130
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   131
    config   = config || {};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   132
    template = config.template || Y.Plugin.Button.prototype.TEMPLATE;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   133
    node     = node || config.srcNode || Y.DOM.create(template);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   134
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   135
    return Y.one(node).plug(Y.Plugin.Button, config);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   136
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   137
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   138
Y.namespace('Plugin').Button = ButtonPlugin;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   139
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   140
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   141
}, '3.10.3', {"requires": ["button-core", "cssbutton", "node-pluginhost"]});