JSFiddle - React, Tailwind, and code Playground
by ericf
JavaScript
YUI.add('wid', function(Y) {
Y.Wid = Y.Base.create('wid', Y.Widget, [], {
initializer: function() {
this.publish('inner', {
defaultFn: function(){ this._innerClickFn.apply(this, arguments); }
});
this.on('click', this._clickFn, this);
},
renderUI: function() {
this.get('contentBox').setContent('Wid');
},
_clickFn: function(e) {
Y.log('_clickFn');
e.preventDefault();
this.fire('inner');
},
_innerClickFn: function() {
Y.log('_innerClickFn');
}
}, {});
}, '0.1', {
requires: ['widget', 'base-build']
});
YUI.add('plg', function(Y) {
Y.Plg = Y.Base.create('plg', Y.Plugin.Base, [], {
initializer: function() {
Y.log('plg::initializer');
this.beforeHostMethod('_innerClickFn', this._outterClickFn, this);
},
_outterClickFn: function() {
Y.log('_outterClickFn');
}
}, {
NS: 'plg'
});
}, '0.1', {
requires: ['plugin', 'base-build']
});
YUI().use('wid', 'plg', function(Y) {
var w = new Y.Wid();
w.render();
w.plug(Y.Plg);
w._innerClickFn();
});