UNPKG

quoslibero

Version:

FusionCharts JavaScript charting framework

1 lines 2.96 kB
import{ComponentInterface}from'../../../../../fc-core/src/component-interface';import{pluck}from'../../../../../fc-core/src/lib';class BubbleDatasetGroup extends ComponentInterface{constructor(){super(),this.setState('visible',!0)}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},component:c,container:b}))}draw(){this.createContainer()}getDataLimitRange(){var a,b,c,d,e,f=Math.min,g=Math.max,h=this,j=h.getChildren(),k=-Infinity,l=+Infinity,m=-Infinity,n=+Infinity;for(b in j)if(j.hasOwnProperty(b)&&(c=j[b],c instanceof Array))for(d=c.length,a=0;a<d;a++)c[a].getState('removed')||(e=c[a].getDataLimits(),m=g(m,e.xMax||-Infinity),n=f(n,e.xMin||+Infinity),k=g(k,e.zMax||-Infinity),l=f(l,e.zMin||+Infinity));return k=k===-Infinity?0:k,l=l===+Infinity?0:l,{xMax:m,xMin:n,zMax:k,zMin:l}}childChanged(a={}){let b,c,d,e=this,f=e.config,g=e.getLinkedParent(),h={};(!1!==a.hide||!1!==a.show)&&(e._mapChildren(a=>{a.setState('dirty',!0)}),d=!0),!1!==a.dataLimitChanged&&(b=e.getDataLimits(),(b.min!==f.range.min||b.max!==f.range.max)&&(f.range.min=b.min,f.range.max=b.max,h.dataLimitChanged=!0,d=!0)),!1!==a.paddingChanged&&(c=e.getAxisValuePadding(),(c.left!==f.padding.left||c.right!==f.padding.right)&&(f.padding.left=c.left,f.padding.right=c.right,h.paddingChanged=!0,d=!0)),d?g.childChanged&&g.childChanged(h):e.asyncDraw()}getAxisValuePadding(){var a=Math.max;let b={},c=-Infinity,d=-Infinity;return this._mapChildren(e=>{e.getState('removed')||!1===e.getState('visible')||(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}}getCanvasPadding(){var a,b,c=this,d={paddingLeft:0,paddingRight:0,paddingTop:0,paddingBottom:0};return c._mapChildren(c=>{if(!c.getState('removed'))for(b in a=c.getCanvasPadding&&c.getCanvasPadding()||{},a)a.hasOwnProperty(b)&&(d[b]=Math.max(a[b],d[b]))}),d}getDataLimits(){var a,b,c,d=Math.min,e=Math.max,f=this,g=f.getFromEnv('chart'),h=-Infinity,i=+Infinity,j=h,k=i,l=i,m=h,n=function(a){b=pluck(a.xMax,h),c=pluck(a.xMin,i),j=e(j,a.max),k=d(k,a.min),m=e(m,b),l=d(l,c)};return f._mapChildren(b=>{!b.getDataLimits||b.getState('removed')||(a=b.getDataLimits(),n(a))}),j===-Infinity&&(j=0),k===+Infinity&&(k=0),this.config.range||(this.config.range={},this.config.range.min=k,this.config.range.max=j,this.config.range.xMin=l,this.config.range.xMax=m),g.config.yMax=j,g.config.yMin=k,{min:k,max:j,xMin:l,xMax:m}}isVisible(){return!this.isNotVisible}getType(){return'manager'}getName(){return'BubbleGroupManager'}remove(){let a=this;a._mapChildren(a=>{a.getState('removed')||a.remove()}),super.remove()}}export default BubbleDatasetGroup;