quoslibero
Version:
FusionCharts JavaScript charting framework
1 lines • 1.65 kB
JavaScript
import Pie2DDataset from'../pie2d';import{addDep}from'../../../../fc-core/src/dependency-manager';import{hasSVG,pluckNumber,pluck}from'../../../../fc-core/src/lib';import doughnut2dAnimation from'./index.animation';let COMMASTRING=',',_getInnerSize=function(){var a,b,c,d,e,f,g,h,i,j,k,l=this,m=l.getFromEnv('chart'),n=l.config,o=m.getFromEnv('dataSource').chart,p=n.doughnutradius,q=pluckNumber(o.use3dlighting,1),r=q?pluckNumber(o.radius3d,o['3dradius'],50):100,s=n.pieMinRadius;if(100<r&&(r=100),0>r&&(r=0),/%/.test(p)?(p=+p.split('%')[0]/100,a=s*p):0>=p||p>=s?a=s/2:a=pluckNumber(p),n.innerRadius=a,0<r&&hasSVG&&(b=parseInt(100*(a/s),10),c=(100-b)/2,d=parseInt(c*r/100,10),f=2*(c-d),g=b+COMMASTRING+d+COMMASTRING+f+COMMASTRING+d,l&&(j=l.components.data)))for(h=0,k=j.length;h<k;h+=1)i=j[h],e=i.config,e.color&&(e.color.ratio=g,e.hoverEffects&&e.hoverEffects.color&&(e.hoverEffects.color.ratio=g));return 2*a};addDep({name:'doughnut2dAnimation',type:'animationRule',extension:doughnut2dAnimation});class Doughnut2DDataset extends Pie2DDataset{getType(){return'dataset'}getName(){return'doughnut2D'}configureAttributes(a){super.configureAttributes(a);let b=this,c=b.config,d=b.getFromEnv('chartConfig');c.doughnutradius=pluck(d.doughnutradius,c.doughnutradius,'50%')}__setDefaultConfig(){super.__setDefaultConfig(),this.config.doughnutradius='50%'}_parsePiePlotOptions(){var a=this,b=super._parsePiePlotOptions();return b.innerSize=a._getInnerSize(),b}_getInnerSize(){return _getInnerSize.call(this)}allocatePosition(){this.config.innerSize=this._getInnerSize(),super.allocatePosition()}}export{_getInnerSize};export default Doughnut2DDataset;