UNPKG

quoslibero

Version:

FusionCharts JavaScript charting framework

1 lines 4.75 kB
import{ComponentInterface}from'../../../../../fc-core/src/component-interface';import{addDep}from'../../../../../fc-core/src/dependency-manager';import column3dManagerAnimation from'./index.animation';addDep({name:'column3dManagerAnimation',type:'animationRule',extension:column3dManagerAnimation});class Column3dGroup extends ComponentInterface{constructor(){super(),this.setState('visible',!0)}getType(){return'group'}getName(){return'column3d'}getCanvasPadding(){var a,b,c=this,d={paddingLeft:0,paddingRight:0,paddingTop:0,paddingBottom:0};return c._mapChildren(c=>{for(b in a=c.getCanvasPadding&&c.getCanvasPadding()||{},a)a.hasOwnProperty(b)&&(d[b]=Math.max(a[b],d[b]))}),d}createContainer(){let a,b,c=this,d=c.getFromEnv('animationManager'),e=c.getLinkedParent(),f=e.getChildContainer();for(a in f)b=f[a],c.getChildContainer(a)||c.addChildContainer(a,d.setAnimation({el:'group',attr:{name:'manager'+a},container:b,component:c,label:'group'}))}draw3DContainer(){var a,b=this,c=b.getFromEnv('animationManager'),d=b.getChildContainer('plotGroup3d'),e=b.getFromEnv('xAxis'),f=e.getTicksLen(),g=d&&d.negative,h=d&&d.positive,j=this.getLinkedParent().getChildContainer().columnVcanvasGroup;for(b.getChildContainer('plotGroup3d')||b.addChildContainer('plotGroup3d',c.setAnimation({el:'group',attr:{name:'3d-plots'},container:j,component:b,label:'group'})),d=b.getChildContainer('plotGroup3d'),b.addToEnv('plotGroup3d',d),g=d.negative=c.setAnimation({el:g||'group',attr:{name:'negative-values'},container:d,component:b,label:'group'}),h=d.positive=c.setAnimation({el:h||'group',attr:{name:'positive-values'},container:d,component:b,label:'group'}),d.zeroPlane=c.setAnimation({el:d.zeroPlane||'group',attr:{name:'zero-plane'},container:d,component:b,label:'group'}).insertBefore(d.positive),(d.negativeGroupArray=d.negativeGroupArray=g.data('categoryplots'))||(g.data('categoryplots',Array(f)),d.negativeGroupArray=g.data('categoryplots')),(d.positiveGroupAarray=d.positiveGroupAarray=h.data('categoryplots'))||(h.data('categoryplots',Array(f)),d.positiveGroupAarray=h.data('categoryplots')),a=0;a<f;a++)d.negativeGroupArray[a]=c.setAnimation({el:d.negativeGroupArray[a]||'group',attr:{name:'negative-group-'+a},container:g,component:b,label:'group'}),d.positiveGroupAarray[a]=c.setAnimation({el:d.positiveGroupAarray[a]||'group',attr:{name:'positive-group-'+a},container:h,component:b,label:'group'})}drawZeroPlane(){var a,b,c,d=this,e=d.getFromEnv('chart'),f=e.getFromEnv('animationManager'),g=e.isBar,h=e.config,i=h.use3dlighting,j=d.getChildContainer('plotGroup3d'),k=d.getFromEnv('yAxis'),l=k.getLimit(),m=l.max,n=l.min,o=d.getGraphicalElement('zeroplane'),p={},q=h.xDepth,r=h.yDepth,s=k.getPixel(k.getAxisBase());0>n&&0<=m?(!d.graphics&&(d.graphics={}),c=j.zeroPlane,p.fill=h.zeroPlaneColor,p.noGradient=!i,p.stroke=h.zeroPlaneBorderColor||'none',p['stroke-width']=h.zeroPlaneShowBorder?1:0,p.x=g?s-q:h.canvasLeft-q,p.y=g?h.canvasTop+r:s+r,p.width=g?1:h.canvasWidth,p.height=g?h.canvasHeight:1,p.xDepth=q,p.yDepth=r,o&&(o.show(),o._.cubetop.show(),o._.cubeside.show()),a={el:o||'cubepath',attr:p,container:c,component:d,label:'zeroPlane'}):o&&(b=g?{x:s-r}:{y:s+r},a={el:o,attr:b,component:d,doNotRemove:!0,callback:function(){o.hide(),o._.cubetop.hide(),o._.cubeside.hide()},container:j,label:'zeroPlane'}),a&&d.addGraphicalElement('zeroplane',f.setAnimation(a))}draw(){this.createContainer(),this.draw3DContainer(),this.drawZeroPlane()}childChanged(a={}){let b,c,d=this,e=d.config,f=d.getLinkedParent(),g=0,h=d.getState('visible'),i={};d._mapChildren(a=>{a.getState('visible')&&g++}),d.setState('visible',!!g),h!==!!g&&(c=!0),!1!==a.dataLimitChanged&&(b=d.getDataLimits(),(b.min!==e.range.min||b.max!==e.range.max)&&(e.range.min=b.min,e.range.max=b.max,i.dataLimitChanged=!0,c=!0)),c?f.childChanged&&f.childChanged(i):d.asyncDraw()}getAxisValuePadding(){var a=Math.max;let b={},c=-Infinity,d=-Infinity;return this._mapChildren(e=>{e.getState('removed')||(b=e.getAxisValuePadding&&e.getAxisValuePadding()||{},c=a(c,b.left||-Infinity),d=a(d,b.right||-Infinity))}),c===-Infinity&&(c=0),d===-Infinity&&(d=0),this.config.padding||(this.config.padding={},this.config.padding.left=c,this.config.padding.right=d),{left:c,right:d}}getDataLimits(a){let b,c=this,d=+Infinity,e=-Infinity,f=0,g=function(a){e=Math.max(e,a.max),d=Math.min(d,a.min)};return c._mapChildren(c=>c.getState('removed')?void 0:!1===c.getState('visible')?void(a&&(b=c.getDataLimits(a),g(b))):void(f++,b=c.getDataLimits(a),g(b))),f?c.setState('visible',!0):c.setState('visible',!1),this.config.range||(this.config.range={},this.config.range.min=this.config.dataMin,this.config.range.max=this.config.dataMax),{max:e,min:d}}isVisible(){return!this.isNotVisible}}export default Column3dGroup;