/usr/share/javascript/yui3/button-plugin/button-plugin.js is in libjs-yui3-full 3.5.1-1ubuntu3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | /*
YUI 3.5.1 (build 22)
Copyright 2012 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
YUI.add('button-plugin', function(Y) {
/**
* A Button Plugin
*
* @module button-plugin
* @since 3.5.0
*/
/**
* @class ButtonPlugin
* @param config {Object} Configuration object
* @constructor
*/
function ButtonPlugin(config) {
ButtonPlugin.superclass.constructor.apply(this, arguments);
}
Y.extend(ButtonPlugin, Y.ButtonCore, {
/**
* @method _afterNodeGet
* @param name {string}
* @private
*/
_afterNodeGet: function (name) {
// TODO: point to method (_uiSetLabel, etc) instead of getter/setter
var ATTRS = this.constructor.ATTRS,
fn = ATTRS[name] && ATTRS[name].getter && this[ATTRS[name].getter];
if (fn) {
return new Y.Do.AlterReturn('get ' + name, fn.call(this));
}
},
/**
* @method _afterNodeSet
* @param name {String}
* @param val {String}
* @private
*/
_afterNodeSet: function (name, val) {
var ATTRS = this.constructor.ATTRS,
fn = ATTRS[name] && ATTRS[name].setter && this[ATTRS[name].setter];
if (fn) {
fn.call(this, val);
}
},
/**
* @method _initNode
* @param config {Object}
* @private
*/
_initNode: function(config) {
var node = config.host;
this._host = node;
Y.Do.after(this._afterNodeGet, node, 'get', this);
Y.Do.after(this._afterNodeSet, node, 'set', this);
},
/**
* @method destroy
* @private
*/
destroy: function(){
// Nothing to do, but things are happier with it here
}
}, {
/**
* Attribute configuration.
*
* @property ATTRS
* @type {Object}
* @private
* @static
*/
ATTRS: Y.merge(Y.ButtonCore.ATTRS),
/**
* Name of this component.
*
* @property NAME
* @type String
* @static
*/
NAME: 'buttonPlugin',
/**
* Namespace of this component.
*
* @property NS
* @type String
* @static
*/
NS: 'button'
});
/**
* @method createNode
* @description A factory that plugs a Y.Node instance with Y.Plugin.Button
* @param node {Object}
* @param config {Object}
* @returns {Object} A plugged Y.Node instance
* @public
*/
ButtonPlugin.createNode = function(node, config) {
var template;
if (node && !config) {
if (! (node.nodeType || node.getDOMNode || typeof node == 'string')) {
config = node;
node = config.srcNode;
}
}
config = config || {};
template = config.template || Y.Plugin.Button.prototype.TEMPLATE;
node = node || config.srcNode || Y.DOM.create(template);
return Y.one(node).plug(Y.Plugin.Button, config);
};
Y.namespace('Plugin').Button = ButtonPlugin;
}, '3.5.1' ,{requires:['button-core', 'cssbutton', 'node-pluginhost']});
|