Ext.define("Ext.util.Renderable",{requires:["Ext.dom.Element"],frameCls:Ext.baseCSSPrefix+"frame",frameIdRegex:/[\-]frame\d+[TMB][LCR]$/,frameElNames:["TL","TC","TR","ML","MC","MR","BL","BC","BR"],frameTpl:["{%this.renderDockedItems(out,values,0);%}",'','
{parent.baseCls}-{parent.ui}-{.}-tl{frameElCls}" role="presentation">','
{parent.baseCls}-{parent.ui}-{.}-tr{frameElCls}" role="presentation">','
{parent.baseCls}-{parent.ui}-{.}-tc{frameElCls}" role="presentation">
','
','
',"
",'
{parent.baseCls}-{parent.ui}-{.}-ml{frameElCls}" role="presentation">','
{parent.baseCls}-{parent.ui}-{.}-mr{frameElCls}" role="presentation">','
{parent.baseCls}-{parent.ui}-{.}-mc{frameElCls}" role="presentation">',"{%this.applyRenderTpl(out, values)%}","
",'
','
','','
{parent.baseCls}-{parent.ui}-{.}-bl{frameElCls}" role="presentation">','
{parent.baseCls}-{parent.ui}-{.}-br{frameElCls}" role="presentation">','
{parent.baseCls}-{parent.ui}-{.}-bc{frameElCls}" role="presentation">
','
','
',"
","{%this.renderDockedItems(out,values,1);%}"],frameTableTpl:["{%this.renderDockedItems(out,values,0);%}",'','',"",'','','',"","","",'','",'',"",'',"",'','','',"","","
{parent.baseCls}-{parent.ui}-{.}-tl{frameElCls}" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-tc{frameElCls}" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-tr{frameElCls}" role="presentation">
{parent.baseCls}-{parent.ui}-{.}-ml{frameElCls}" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-mc{frameElCls}" role="presentation">',"{%this.applyRenderTpl(out, values)%}"," {parent.baseCls}-{parent.ui}-{.}-mr{frameElCls}" role="presentation">
{parent.baseCls}-{parent.ui}-{.}-bl{frameElCls}" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-bc{frameElCls}" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-br{frameElCls}" role="presentation">
","{%this.renderDockedItems(out,values,1);%}"],afterRender:function(){var d=this,e={},h=d.protoEl,g=d.el,c,f,a,b;d.finishRenderChildren();if(d.contentEl){f=Ext.baseCSSPrefix;a=f+"hide-";b=Ext.get(d.contentEl);b.removeCls([f+"hidden",a+"display",a+"offsets",a+"nosize"]);d.getContentTarget().appendChild(b.dom)}h.writeTo(e);c=e.removed;if(c){g.removeCls(c)}c=e.cls;if(c.length){g.addCls(c)}c=e.style;if(e.style){g.setStyle(c)}d.protoEl=null;if(!d.ownerCt){d.updateLayout()}},afterFirstLayout:function(b,h){var d=this,g=d.x,e=d.y,c,a,f,i;if(!d.ownerLayout){c=Ext.isDefined(g);a=Ext.isDefined(e)}if(d.floating&&(!c||!a)){if(d.floatParent){f=d.floatParent.getTargetEl().getViewRegion();i=d.el.getAlignToXY(d.floatParent.getTargetEl(),"c-c");f.x=i[0]-f.x;f.y=i[1]-f.y}else{i=d.el.getAlignToXY(d.container,"c-c");f=d.container.translateXY(i[0],i[1])}g=c?g:f.x;e=a?e:f.y;c=a=true}if(c||a){d.setPosition(g,e)}d.onBoxReady(b,h)},applyRenderSelectors:function(){var d=this,b=d.renderSelectors,c=d.el,e=c.dom,a;d.applyChildEls(c);if(b){for(a in b){if(b.hasOwnProperty(a)&&b[a]){d[a]=Ext.get(Ext.DomQuery.selectNode(b[a],e))}}}},beforeRender:function(){var c=this,e=c.getTargetEl(),d=c.getOverflowEl(),b=c.getComponentLayout(),a=c.getOverflowStyle();c.frame=c.frame||c.alwaysFramed;if(!b.initialized){b.initLayout()}if(d){d.setStyle(a);c.overflowStyleSet=true}c.setUI(c.ui);if(c.disabled){c.disable(true)}},doApplyRenderTpl:function(c,a){var d=a.$comp,b;if(!d.rendered){b=d.initRenderTpl();b.applyOut(a.renderData,c)}},doAutoRender:function(){var a=this;if(!a.rendered){if(a.floating){a.render(document.body)}else{a.render(Ext.isBoolean(a.autoRender)?Ext.getBody():a.autoRender)}}},doRenderContent:function(a,c){var b=c.$comp;if(b.html){Ext.DomHelper.generateMarkup(b.html,a);delete b.html}if(b.tpl){if(!b.tpl.isTemplate){b.tpl=new Ext.XTemplate(b.tpl)}if(b.data){b.tpl.applyOut(b.data,a);delete b.data}}},doRenderFramingDockedItems:function(a,c,d){var b=c.$comp;if(!b.rendered&&b.doRenderDockedItems){c.renderData.$skipDockedItems=true;b.doRenderDockedItems.call(this,a,c,d)}},finishRender:function(a){var d=this,b,e,c;if(!d.el||d.$pid){if(d.container){c=d.container.getById(d.id,true)}else{c=Ext.getDom(d.id)}if(!d.el){d.wrapPrimaryEl(c)}else{delete d.$pid;if(!d.el.dom){d.wrapPrimaryEl(d.el)}c.parentNode.insertBefore(d.el.dom,c);Ext.removeNode(c)}}else{if(!d.rendering){b=d.initRenderTpl();if(b){e=d.initRenderData();b.insertFirst(d.getTargetEl(),e)}}}if(!d.container){d.container=Ext.get(d.el.dom.parentNode)}if(d.ctCls){d.container.addCls(d.ctCls)}d.onRender(d.container,a);if(!d.overflowStyleSet){d.getOverflowEl().setStyle(d.getOverflowStyle())}d.el.setVisibilityMode(Ext.Element[d.hideMode.toUpperCase()]);if(d.overCls){d.el.hover(d.addOverCls,d.removeOverCls,d)}if(d.hasListeners.render){d.fireEvent("render",d)}d.afterRender();if(d.hasListeners.afterrender){d.fireEvent("afterrender",d)}d.initEvents();if(d.hidden){d.el.hide()}},finishRenderChildren:function(){var a=this.getComponentLayout();a.finishRender()},getElConfig:function(){var h=this,k=h.autoEl,f=h.getFrameInfo(),b={tag:"div",tpl:f?h.initFramingTpl(f.table):h.initRenderTpl()},a=h.protoEl,c,e,g,l,d,j;h.initStyles(a);a.writeTo(b);a.flush();if(Ext.isString(k)){b.tag=k}else{Ext.apply(b,k)}b.id=h.id;if(b.tpl){if(f){e=h.frameElNames;g=e.length;b.tplData=j=h.getFrameRenderData();j.renderData=h.initRenderData();d=j.fgid;for(c=0;c table")[1].remove()}else{if(f){f.remove()}if(d){d.remove()}if(c){c.remove()}}}}else{if(e.frame){e.applyRenderSelectors()}}},getFrameInfo:function(){if(Ext.supports.CSS3BorderRadius||!this.frame){return false}var v=this,n=v.frameInfoCache,e=v.getFramingInfoCls()+"-frameInfo",w=n[e],o=Math.max,m,j,r,l,x,f,i,b,c,k,g,q,s,h,a,d,u,p,t;if(w==null){m=Ext.fly(v.getStyleProxy(e),"frame-style-el");r=m.getStyle("font-family");if(r){r=r.split("-");d=parseInt(r[1],10);u=parseInt(r[2],10);p=parseInt(r[3],10);t=parseInt(r[4],10);b=parseInt(r[5],10);c=parseInt(r[6],10);k=parseInt(r[7],10);g=parseInt(r[8],10);q=parseInt(r[9],10);s=parseInt(r[10],10);h=parseInt(r[11],10);a=parseInt(r[12],10);l=o(b,o(d,u));x=o(c,o(u,p));f=o(k,o(t,p));i=o(g,o(d,t));w={table:r[0].charAt(0)==="t",vertical:r[0].charAt(1)==="v",top:l,right:x,bottom:f,left:i,width:i+x,height:l+f,maxWidth:o(l,x,f,i),border:{top:b,right:c,bottom:k,left:g,width:g+c,height:b+k},padding:{top:q,right:s,bottom:h,left:a,width:a+s,height:q+h},radius:{tl:d,tr:u,br:p,bl:t}}}else{w=false}if(v.frame===true&&!w){Ext.log.error("You have set frame: true explicity on this component ("+v.getXType()+") and it does not have any framing defined in the CSS template. In this case IE cannot figure out what sizes to use and thus framing on this component will be disabled.")}n[e]=w}v.frame=!!w;v.frameSize=w;return w},getFramingInfoCls:function(){return this.baseCls+"-"+this.ui},getStyleProxy:function(b){var a=this.styleProxyEl||(Ext.AbstractComponent.prototype.styleProxyEl=Ext.getBody().createChild({style:{position:"absolute",top:"-10000px"}},null,true));a.className=b;return a},getFrameTpl:function(a){return this.getTpl(a?"frameTableTpl":"frameTpl")},frameInfoCache:{}});