widget-uievents-min.js revision d4bb28437b16bcbc756c77da4df47dd24002b041
YUI.add("widget-uievents",function(g){var e=/(\w+):(\w+)/,f="$2",d="boundingBox",c=g.Widget,b="render",a=g.Lang;g.mix(c.prototype,{_destroyUIEvents:function(){var h=g.stamp(this,true),i=this._uievts;if(i){g.each(i,function(k,j){if(k.instances[h]){delete k.instances[h];if(g.Object.isEmpty(k.instances)){k.handle.detach();if(i[j]){delete i[j];}}}});}},UI_EVENTS:g.Node.DOM_EVENTS,_getUIEventNode:function(){return this.get(d);},_createUIEvent:function(i){var l=this._getUIEventNode(),h=(g.stamp(l)+i),k,j;this._uievts=this._uievts||{};k=this._uievts[h];if(!k){j=l.delegate(i,function(m){var n=c.getByNode(this);n.fire(m.type,{domEvent:m});},"."+g.Widget.getClassName());this._uievts[h]=k={instances:{},handle:j};}k.instances[g.stamp(this)]=1;},_getUIEvent:function(i){if(a.isString(i)){var j=i.replace(e,f),h;if(this.UI_EVENTS[j]){h=j;}return h;}},_initUIEvent:function(i){var j=this._getUIEvent(i),h=this._uiEvtsInitQueue||{};if(j&&!h[j]){this._uiEvtsInitQueue=h[j]=1;this.after(b,function(){this._createUIEvent(j);delete this._uiEvtsInitQueue[j];});}},on:function(h){this._initUIEvent(h);return c.superclass.on.apply(this,arguments);},after:function(h){this._initUIEvent(h);return c.superclass.after.apply(this,arguments);},publish:function(i,h){var j=this._getUIEvent(i);if(j&&h&&h.defaultFn){this._initUIEvent(j);}return c.superclass.publish.apply(this,arguments);}},true);},"@VERSION@",{requires:["widget-base","node-event-delegate"]});