Stephen Murphy![]()
Docs:
http://twobit.github.com/yui3-gallery/gallery-tag/
Slides:
http://twobit.github.com/yui3-gallery/gallery-tag-slides/
YUI Tag allows you to replace code with simple DOM tags. Replace this:
var button = new Y.Button({
srcNode:'#myPushButton',
label: 'Test'
}).render();
With this:
<ybutton data-label="Test"></ybutton>
<ybutton data-label="DISABLE" data-disabled="true"></ybutton>
Things just became a whole lot easier to maintain. In essence it allows you to write "smart" tags backed by YUI modules. Registered tags are initialized whether created dynamically or on page load. There is a plugin on each node (tag) with getters and setters.
Relies on gallery-event-inserted for efficient node insertion events. See gallery-tag-registry for a collection of predefined tags.
Inspired by X-Tag:
http://mozilla.github.com/x-tag/
Compatibility: IE9+, FF5+, Chrome 4+, Safari/iOS 4+, Android 2.1+
<script src="http://yui.yahooapis.com/3.5.0/build/yui/yui-min.js"></script>YUI({
//Last Gallery Build of this module
gallery: 'gallery-2012.07.25-21-36'
}).use('gallery-tag', 'button', function(Y) {
// Defining a new tag mixin
Y.Tag.register('ybutton', {
created: function(config) {
this.get('host').setHTML('<button></button>');
this._widget = new Y.Button(Y.merge(config, {
srcNode: this.get('host').one('button')
}));
this.onHostEvent('tag:inserted', function() {this._widget.render();}, this);
}
});
});
© 2006-2013 Yahoo! Inc. All rights reserved.
All code on this site is licensed under the BSD License unless stated otherwise.
About This Site · Security Contact Info