hui.on(['hui.ui'], function() { hui.ui.make( /** @lends hui.ui.Icon.prototype */ { name : 'Icon', /** * @constructs hui.ui.Icon * @extends hui.ui.Component * @param params * @param params.icon {String} The icon */ $init : function(params) { this.visible = false; this.icon = params.icon; this.labeled = false; }, $build : function(params) { return hui.ui.createIcon(params.icon, params.size, 'span'); }, $events : { //root : {click: 'click!'} root : {click: function() { this.fire('click') }} }, /** * Change the icon size * @param size {Number} The size in pixels: 16, 32 etc. */ setSize : function(size) { var iconNode = hui.find('span', this.element) || this.element; this.size = size; hui.ui.setIconImage(iconNode, this.icon, size); iconNode.className = 'hui_icon hui_icon_' + size; if (hui.cls.has(this.element, 'hui_icon_labeled')) { this.element.className = 'hui_icon_labeled hui_icon_labeled_' + size; } } } );});