UNPKG

quoslibero

Version:

FusionCharts JavaScript charting framework

1 lines 35.3 kB
import AreaDataset from'../area';import{parseConfiguration,touchEnabled,getPosition,COMMASPACE,ZEROSTRING,hasSVG,pluck,parsexAxisStyles,pluckNumber,toRaphaelColor,parseUnsafeString,ONESTRING,HUNDREDSTRING,getDashStyle,getValidValue,parseTooltext,preDefStr,COMMASTRING,convertColor,getLightColor,getFirstAlpha,getFirstColor,BLANKSTRING,fcEach,normalizeAngle}from'../../../../fc-core/src/lib';import{addDep,getDep}from'../../../../fc-core/src/dependency-manager';import pie2dAnimation from'./index.animation';import raphaelShapesRingpath from'../../../../fc-core/src/_internal/redraphael/redraphael-shapes/redraphael-shapes.ringpath';import{priorityList}from'../../../../fc-core/src/schedular';import pointColor from'../../../../fc-core/src/print-color';let UNDEF,Raphael=getDep('redraphael','plugin'),win=window,doc=win.document,isVML=!hasSVG,supportsTouch='createTouch'in doc,supportsOnlyTouch=supportsTouch&&!(win.navigator.maxTouchPoints||win.navigator.msMaxTouchPoints),ROLLOVER='DataPlotRollOver',ROLLOUT='DataPlotRollOut',EVENTARGS='eventArgs',TRANSFORMSTR='t',DASH_DEF='none',POINTER='pointer',visibleStr=preDefStr.visibleStr,docMode8=8===doc.documentMode,VISIBLE=docMode8?visibleStr:'',HIDDEN='hidden',M='M',L='L',math=Math,mathATan2=math.atan2,mathSin=math.sin,mathCos=math.cos,mathMax=math.max,mathMin=math.min,mathAbs=math.abs,mathCeil=math.ceil,mathFloor=math.floor,pi=math.PI,piBy2=pi/2,rad2deg=180/math.PI,pi2=2*pi,pi3By2=pi+piBy2,createGroup=function(e,t,a){var o=a.getFromEnv('animationManager');return o.setAnimation({el:'group',attr:{name:e},container:t,component:a,label:'group'})},singleFillColorFn=function(e,t){let a=t?1:UNDEF;return toRaphaelColor({color:getFirstColor(e.color,a),alpha:getFirstAlpha(e.alpha,a)})},getContainerPosition=function(e,t){var a,o={left:0,top:0};if(e.getBoundingClientRect)a=e.getBoundingClientRect(),o.top=a.top+(win.pageYOffset||doc.scrollTop||0)-(doc.clientTop||0),o.left=a.left+(win.pageXOffset||doc.scrollLeft||0)-(doc.clientLeft||0);else for(;e;)o.left+=e.offsetLeft||0,o.top+=e.offsetTop||0,e===doc.body||e===doc.documentElement||t||(o.left-=e.scrollLeft||0,o.top-=e.scrollTop||0),e=e.offsetParent;return o},getClickArcTangent=function(e,t,a,o,n){return mathATan2((t-a[1]-o.top)/n,e-a[0]-o.left)},plotClickHandler=function(t,a){return function(o){var e=a.data('plotItem'),n=e.seriesData;n.isRotating||t.plotGraphicClick.call(a,o)}},plotGraphicClick=function(e){return function(t){var a,n,l,r,i,s,c,d,g,p,h,m,b=this.element||this,o=b.plotItem||b.data('plotItem'),f=b.data('eventArgs')||{},u=o.chart,v=e.getFromEnv('animationManager'),y=o.index,x=e.config,C=x.enableMultiSlicing,A=e.components.data[y],S=A.graphics,I=A.config,w=I.doNotSlice,P=I.slicedTranslation;if((!x.isRotating&&t&&u.plotEventHandler(b,t),!(x.isRotating||x.singletonCase||w||!u.config))&&(n=!C&&e.sliceInOtherPies(y),!((i=I.sliced)&&n))){if(supportsTouch&&!supportsOnlyTouch){if(p=new Date().getTime(),o.lastSliceTimeStamp&&400>p-o.lastSliceTimeStamp)return;o.lastSliceTimeStamp=p}return l=S.element,d=S.connector,r=S.label||S.dataLabel,P='object'==typeof P?'t'+P:P,g=I.connectorPath,s=(i?-1:1)*I.transX,c=(i?-1:1)*I.transY,h=l.data(EVENTARGS)||l.data(EVENTARGS,{}),u.fireChartInstanceEvent('slicingStart',{slicedState:i,dataIndex:'index'in f&&f.index,data:e.getPlotData(y,i)}),v.setAnimationState('slicing'),v.setAnimation({el:l,attr:{transform:i?'t0,0':P},component:e,label:'slice',callback:function(){u.fireChartInstanceEvent('slicingEnd',{slicedState:i,dataIndex:'index'in f&&f.index,data:e.getPlotData(y,!i)})}}),r&&r.x&&(!(a=r.data('textPos'))&&(a=r.data('textPos',{x:r.x,y:r.y})),v.setAnimation({el:r,attr:{x:r.x+(i?0:s),y:r.y+(i?0:c)},label:'label-sliced',component:e}),a.x=r.x+(i?0:s)),g&&(m=g.slice(0),m[1]+=s,m[2]+=c,m[4]+=s,m[5]+=c,m[6]+=s,m[7]+=c,v.setAnimation({el:d,attr:{path:m},label:'connector-sliced',component:e}),I.connectorPath=m),h.isSliced=i=I.sliced=!i,i}}},handlers=function(e){let t=e.getFromEnv('animationManager');return{plotDragMove:function(t){var a,n=this,o=n.data('plotItem'),l=o.chart,r=t.data,i=r[0],s=r[1],c=r[2],d=r[3],g=o.seriesData,p=e.config;isNaN(i)||isNaN(s)||!p.enableRotation||g.singletonCase||g.isRightClicked||(a=getClickArcTangent.call(t,c,d,g.pieCenter,g.chartPosition,1),g.dragStartAngle!==a&&!g.isRotating&&(g.isRotating=!0,l.fireChartInstanceEvent('RotationStart',{startingAngle:g._rotationalStartAngle=l._startingAngle()})),p.startAngle+=a-g.dragStartAngle,g.dragStartAngle=a,g.moveDuration=0,!p.updateInited&&(p.updateInited=!0,l.addJob('pie_batch_rotate',l._batchRotate||(l._batchRotate=function(){e._rotate(),p.updateInited=!1}),priorityList.draw,{oneInAFrame:!0})))},plotDragStart:function(t){var a,n=this,o=n.data('plotItem'),l=o.chart,r=o.seriesData,i=e.config,s=pluckNumber(t.button,t.originalEvent.button),c=-i.startAngle*rad2deg,d=t.data[0],g=t.data[1];r.isRightClicked=!(touchEnabled||0===s||1===s),!i.enableRotation||r.isRightClicked||(r.isRotating=!1,r.chartPosition=getContainerPosition(l.getFromEnv('chart-container')),a=getClickArcTangent.call(t,d,g,r.pieCenter,r.chartPosition,1),r.dragStartAngle=a,r.startingAngleOnDragStart=c)},plotDragEnd:function(){var t=this,a=t.data('plotItem'),o=a.chart,n=o.getChildren('dataset')[0],l=n.config,r=o.config,i=a.seriesData,s=-l.startAngle*rad2deg;i.isRightClicked||(r.clicked=!0,!o.disposed&&e._rotate(),delete r.clicked,i.isRotating&&(setTimeout(function(){i.isRotating=!1},0),o.fireChartInstanceEvent('RotationEnd',{startingAngle:normalizeAngle(s,!0),changeInAngle:s-l.startingAngleOnDragStart})),!i.isHovered&&e.config.handlersAPI.onPlotHover(t,!1))},plotRollOver:function(t){var e=this,a=e.plotItem||e.data('plotItem'),o=a.chart,n=a.seriesData,l=o.getDatasets()[0],r=l.getFromEnv('animationManager');n.isRotating||(o.plotEventHandler(e,t,ROLLOVER),l.config.handlersAPI.onPlotHover(e,!0,r)),l.fireEvent('datasetrollover',a),n.isHovered=!0},plotRollOut:function(t){var e=this,a=e.plotItem||e.data('plotItem'),o=a.chart,n=a.seriesData,l=o.getDatasets()[0];n.isRotating||(o.plotEventHandler(e,t,ROLLOUT),l.config.handlersAPI.onPlotHover(e,!1)),l.fireEvent('datasetrollout',a),n.isHovered=!1},onPlotHover:function(a,o){var n=a.data('plotItem'),l=n.center,r=n.rolloverProperties||{},i=o?r.color:n.color,s=o?r.borderWidth:n.borderWidth,c=o?r.borderColor:n.borderColor;i&&(o&&(i.cx=l[0],i.cy=l[1],i.r=n.radius),r.enabled&&t.setAnimation({el:n.graphic,component:e,attr:{fill:toRaphaelColor(i),"stroke-width":s,stroke:c}}))}}},sortArrayByPoint=function(e,t){return e.point.value-t.point.value},sortArrayByAngle=function(e,t){return e.angle-t.angle},labelClickFn=function(e,t){t&&e.getFromEnv('linkClickFN')&&e.getFromEnv('linkClickFN').call({link:t},!0)},hideFn=function(){this.hide()},alignments=['start','start','end','end'],alignCenter='middle',ySign=[-1,1,1,-1],xSign=[1,1,-1,-1];function trimData(e){if(!this.config.JSONData)return;let t,a,o,n,l=this,r=l.getFromEnv('legend'),s=l.config.JSONData,c=s.data&&s.data.length,d=e.data&&e.data.length||0,g=c-d;for(0<g&&l.removeData(d,g,!1),o=l.components.removeDataArr||[],(t=0,a=o.length);t<a;t++)n=o[t].config,n.legendItemId&&r.disposeItem(n.legendItemId)}addDep({name:'pie2dAnimation',type:'animationRule',extension:pie2dAnimation}),raphaelShapesRingpath(Raphael);class Pie2DDataset extends AreaDataset{constructor(){super(),this.plotGraphicClick=plotGraphicClick(this)}getType(){return'dataset'}getName(){return'pie2D'}__setDefaultConfig(){super.__setDefaultConfig(),this.config.doughnutradius=0}configureAttributes(e){if(!e)return!1;this.trimData(e),this.config.JSONData=e;let t,a,o,n,l,r=this,i=r.getFromEnv('chart'),s=i.config,c=r.config,d=r.config.JSONData,g=r.getFromEnv('chart-attrib'),p=i.config.is3D;c.handlersAPI=handlers(r),r.setState('visible',1===pluckNumber(r.config.JSONData.visible,!+r.config.JSONData.initiallyhidden,1)),parseConfiguration({},r.config,i&&i.config),l=c.enableAnimation=pluckNumber(g.animation,g.defaultanimation,1),c.animation=!!l&&{duration:1e3*pluckNumber(g.animationduration,g.moveduration,1)},c.transposeAnim=!!(l||pluckNumber(c.transposeanimation,1))&&{duration:1e3*pluckNumber(g.transposeanimduration,.2)},c.showPlotBorder=pluckNumber(g.showplotborder,1),c.showHoverEffect=pluckNumber(g.plothovereffect,g.showhovereffect,UNDEF),c.showTooltip=pluckNumber(g.showtooltip,1),c.toolText=getValidValue(parseUnsafeString(pluck(d.plottooltext,g.plottooltext))),n=c.enableMultiSlicing=pluckNumber(g.enablemultislicing,1),a=c.use3DLighting=pluckNumber(g.use3dlighting,1),t=c.radius3D=a?pluckNumber(g.radius3d,90):100,c.showZeroPies=pluckNumber(g.showzeropies,1),c.showPercentInToolTip=pluckNumber(g.showpercentintooltip,1),c.showLabels=pluckNumber(g.showlabels,1),c.showValues=pluckNumber(d.showvalues,g.showvalues,1),c.showPercentValues=pluckNumber(g.showpercentvalues,g.showpercentagevalues,0),o=c.toolTipSepChar=pluck(g.tooltipsepchar,g.hovercapsepchar,COMMASPACE),c.labelSepChar=pluck(g.labelsepchar,o),c.pieBorderColor=pluck(g.plotbordercolor,g.piebordercolor),c.pieBorderAlpha=pluckNumber(g.plotborderalpha,g.pieborderalpha),c.pieBorderThickness=c.showPlotBorder?pluckNumber(g.plotborderthickness,g.pieborderthickness,s.plotborderthickness,1):0,c.plotDashLen=pluckNumber(g.plotborderdashlen,5),c.plotDashGap=pluckNumber(g.plotborderdashgap,4),c.showValueInLegend=pluckNumber(g.showvalueinlegend,0),c.showLabelInLegend=pluckNumber(g.showlabelinlegend,1),c.valueBeforeLabelInLegend=pluckNumber(g.valuebeforelabelinlegend,0),c.showValueAsPercentInLegend=pluckNumber(g.showvalueaspercentinlegend,1),c.legendSepChar=pluck(g.legendsepchar,', '),c.showvalues=pluckNumber(g.showvalues,1),c.chartPosition=getPosition(i.getFromEnv('chart-container'),i),c.timerThreshold=30,100<t&&(t=100),0>t&&(t=0),c.showLegend=pluckNumber(g.showlegend,0),c.reverselegend=!pluckNumber(g.reverselegend,0),i.config.is3D=p,c.pieYScale=pluckNumber(g.pieyscale,40),1>c.pieYScale&&(c.pieYScale=1),100<=c.pieYScale&&(c.pieYScale=80),c.pieYScale/=100,c.pieSliceDepth=pluckNumber(g.pieslicedepth,15),1>c.pieSliceDepth&&(c.pieSliceDepth=1),c.managedPieSliceDepth=c.pieSliceDepth,c.enableMultiSlicing=!!n,c.startAngle=pluckNumber(g.startingangle,0)%360*-(pi/180),c.usePerPointLabelColor=g.colorlabelsfromplot==ONESTRING,c.reversePlotOrder=pluckNumber(g.reverseplotorder,0),c.animateClockWise=pluckNumber(g.animateclockwise,c.reversePlotOrder),c.showShadow=pluckNumber(g.showshadow,1),c.singletonCase=1===d.data.length,c.valueTotal=0,r._setConfigure(),s.showLegend&&r._addLegend()}trimData(e){trimData.call(this,e)}_parseDisplayProperties(e,t){var a,o,n,l,r,i,s,c,d,g='',p=this,h=p.getFromEnv('chart'),m=p.getFromEnv('number-formatter'),b=h.getFromEnv('chart-attrib'),f=p.config,u=pluckNumber(t.y,m.getCleanValue(e.value,!0)),v=f.valueTotal,y=f.showLabels,x=parseUnsafeString(pluck(t.seriesName,e.label,e.name,BLANKSTRING)),C=f.showPercentValues,A=f.showPercentInToolTip,S=f.labelSepChar,I=f.toolTipSepChar,w=f.showTooltip;a=getValidValue(parseUnsafeString(pluck(e.tooltext,f.toolText))),o=t.pValue=m.percentValue(100*(u/v)),l=t.value=m.dataLabels(u)||BLANKSTRING,r=1===pluckNumber(e.showlabel,y)?x:BLANKSTRING,i=1===(d=pluckNumber(e.showvalue,f.showValues))?1===C?o:l:BLANKSTRING,n=A?o:l,s=getValidValue(parseUnsafeString(e.displayvalue)),c=pluck(s,x+S+(C?o:l),BLANKSTRING),i=s!==UNDEF&&d?s:i!==BLANKSTRING&&r!==BLANKSTRING?r+S+i:pluck(r,i),w&&(a===UNDEF?(g=x,g=g==BLANKSTRING?n:g+I+n):g=parseTooltext(a,[1,2,3,5,6,7,14,24,25],{formattedValue:l,label:x,yaxisName:parseUnsafeString(b.yaxisname),xaxisName:parseUnsafeString(b.xaxisname),percentValue:o,sum:m.dataLabels(v),unformattedSum:v},e,b)),t.displayValue=i,t.displayValueArgs=c,t.toolText=g,t.seriesName=x,t.categoryLabel=x}_isStyled(e){var t=this,a=t.getFromEnv('chart'),o=a.config;if(o.usedataplotcolorforlabels||e.labelbordercolor||e.labelbgcolor||e.labelborderthickness||e.labelborderalpha||e.labelalpha||e.labelfont||e.labelfontsize||e.labelfontcolor||e.labelfontalpha||e.labelalpha||e.labelfontbold||e.labelfontitalic||e.labelborderpadding||e.labelborderradius||e.labelbgalpha||e.labelborderdashed||e.labelborderdashlen||e.labelborderdashgap)return!0}_setConfigure(e,t){var a,o,n,l,r,i,s,c,d,g,p,h,m,b,f,u,v,y,x,C,A=this,S=A.components,I=S.removeDataArr=S.removeDataArr||[],w=A.getFromEnv('chart'),P=w.getFromEnv('dataSource').chart,k=w.config,E=A.config,D=A.config.JSONData,L=(e||D).data,T=L&&L.length,_=E.showZeroPies,V=E.valueTotal||0,F=[],R=pluckNumber(P.plotborderdashed,0),O=A.components.data||(A.components.data=[]),N=A.getFromEnv('number-formatter'),H=A.getFromEnv('color-manager'),W=E.labelInLeg,M=E.valInLeg,B=E.pieBorderThickness,z=E.reversePlotOrder,Y=E.radius3D,J=E.enableMultiSlicing,G=E.lastSlicedid||0,X=pluckNumber(P.plotBorderDashed,5),j=pluckNumber(P.plotborderdashgap,4),Z=pluckNumber(P.valuebeforelabelinlegend,0),Q=pluckNumber(P.showvalueaspercentinlegend,1),q=0,K=pluck(P.legendsepchar,', ');for(k.dataLabelStyle=parsexAxisStyles({},{},P,k.dataLabelStyle,n),a=0;a<T;a+=1)f=L[a],y=N.getCleanValue(f.value,!0),null!==y&&(_||0!==y)?(F.push(f),V+=y):q+=1;if(E.singletonCase||(E.singletonCase=1==T-q),q&&O.length>T-q)for(a=O.length-1;0<q;a-=1,q-=1)O[a]&&(f=O[a],x=f.config,I.push(f),x.y=null);for(0===V&&(F=[]),E.valueTotal=V,E.dataLabelCounter=0,k.allPlotSliceEnabled=k.enableslicing,a=(T=F.length)-1;0<=a;a-=1)u=a,e?(C=F[a],t===UNDEF?(u=O.length-T+a,f=O[u]):(u=t+a,f=O[u])):(f=O[a]||(O[a]={graphics:{},config:{}}),C=F[a]),v=f&&f.config,v||(v=O[u].config={}),f.graphics||(O[u].graphics={}),v.y=y=N.getCleanValue(C.value,!0),v.seriesName=o=parseUnsafeString(pluck(C.label,C.name,BLANKSTRING)),v.labellink=pluck(C.labellink,P.labellink),n=pluck(C.color,H.getPlotColor(a)),l=pluck(C.alpha,P.plotfillalpha,HUNDREDSTRING),r=v.borderConfig=A._parseBorderConfig(n,l,C),i=r.setPlotBorderColor,s=r.setPlotBorderAlpha,c={opacity:mathMax(l,s)/100},p=!!pluckNumber(C.issliced,P.issliced,0),p&&(!J&&(-1!==G&&(O[O.length-G-1].sliced=!1),E.lastSlicedid=a),E.preSliced=p),m=pluckNumber(C.dashed,R),b=m?getDashStyle(pluck(C.dashlen,X),pluck(C.dashgap,j),B):DASH_DEF,A._parseDisplayProperties(C,v),d=W?o:BLANKSTRING,M&&(g=Q?N.legendPercentValue(100*(y/V)):N.legendValue(y),d=Z?g+(d&&K+d):(d&&d+K)+g),E.dataLabelCounter+=1,A._isStyled(C)?v.style=parsexAxisStyles(C,{},P,k.dataLabelStyle,n):v.style&&delete v.style,v.showInLegend=d!==BLANKSTRING,v.isVisible=!0,v.name=d,v.shadow=c,v.setColor=n,v.color=pointColor(n,l,Y,E.doughnutradius),v._3dAlpha=l,v.borderColor=convertColor(i,s),v.borderWidth=B,v.link=getValidValue(C.link),v.sliced=p,v.dashStyle=b,(v.doNotSlice=pluck(C.enableslicing,k.enableslicing)!=ONESTRING)||k.allPlotSliceEnabled!==ZEROSTRING||(k.allPlotSliceEnabled=ONESTRING),A._parseHoverEffectOptions(a),v.centerLabelConfig=h,v.radius3D=Y;z&&O&&O.reverse(),E.dataArr=F,E.enableRotation=1<O.length?pluckNumber(P.enablerotation,1):0}_parseHoverEffectOptions(e){var t,a,o,n,l,r,i,s,c,d,g=this,p=g.getFromEnv('chart'),h=p.getFromEnv('dataSource').chart,m=g.config,b=g.components.data[e].config,f=g.config.JSONData,u=f.data[e],v=b.setColor,y=b._3dAlpha,x=m.radius3D,C=b.borderConfig,A=C.setPlotBorderAlpha,S=C.setPlotBorderColor,I=m.setBorderWidth,w=pluckNumber(b.hovereffect,m.showHoverEffect),P=b.hoverEffects={enabled:w};if(w===UNDEF&&(w=P.enabled=pluck(u.hovercolor,f.hovercolor,h.plotfillhovercolor,u.hoveralpha,f.hoveralpha,h.plotfillhoveralpha,u.borderhovercolor,f.borderhovercolor,h.plotborderhovercolor,u.borderhoveralpha,f.borderhoveralpha,h.plotborderhoveralpha,h.plotfillhoveralpha,u.borderhoverthickness,f.borderhoverthickness,h.plotborderhoverthickness,UNDEF)!==UNDEF),w){if(t=pluckNumber(u.highlightonhover,f.highlight,h.highlight,1),a=pluck(u.hovercolor,f.hovercolor,h.plotfillhovercolor),a&&t&&(t=0),a=pluck(a,v),o=pluck(u.hoveralpha,f.hoveralpha,h.plotfillhoveralpha,y),n=pluck(u.borderhovercolor,f.borderhovercolor,h.plotborderhovercolor,S),l=pluck(u.borderhoveralpha,f.borderhoveralpha,h.plotborderhoveralpha,h.plotfillhoveralpha,A),r=pluckNumber(u.borderhoverthickness,f.borderhoverthickness,h.plotborderhoverthickness,I),a.replace(/,+?$/,''),1===t){for(i='string'==typeof a,s=i?a.split(/\s{0,},\s{0,}/):a.color.split(/\s{0,},\s{0,}/),c=s.length,d=0;d<c;d++)s[d]=getLightColor(s[d],70);i?a=s.join(','):a.color=s.join(',')}g._setHoverColor(P,a,o,x),P.alpha=o,P.borderColor=convertColor(n,l),P.borderAlpha=l,P.borderWidth=r}else P.enabled=!1}placeDataLabels(e,t,a,o){var n,l,r,s,c,d,g,p,h,m,b,f,u,v,y,x,C,A,S,I,w,P,E,D,T,_,V,F,R,O,N,H,W,B,z,Y,J,G,X,Z,Q,q,K,$,U,ee,te,ae,oe=Math.abs,ne=Number.POSITIVE_INFINITY,le=this,re=le.getFromEnv('chart'),ie=re.config,se=le.getFromEnv('animationManager'),ce=le.getFromEnv('toolTipController'),de=re.getChildren('legend')[0],ge=le.getContainer('label-group'),pe=le.config,he=ie.canvasLeft,me=ie.canvasTop,be=ie.canvasWidth,fe=he+.5*ie.canvasWidth,ue=me+.5*ie.canvasHeight,ve=re.getFromEnv('smartLabel'),ye=pe.dataLabelOptions,xe=ye.style,Ce=pluckNumber(mathCeil(parseFloat(xe.lineHeight)),12),Ae=1===t.length&&ie.singletonPlaceValue,Se=ye.skipOverlapLabels,Ie=ye.manageLabelOverflow,we=ye.connectorPadding,Pe=ye.distance,ke=o&&o.metrics||[fe,ue,2*pe.pieMinRadius,pe.innerSize||0],Ee=ke[1],De=ke[0],Le=.5*ke[2],Te=[[],[],[],[]],_e=he,Ve=me,Fe=a.labelsRadius=Le+Pe,Re=parseInt(xe.fontSize,10),Oe=Re,Ne=Oe/2,He=[we,we,-we,-we],We=a.labelsMaxInQuadrant=mathFloor(Fe/Oe),Me=ye.isSmartLineSlanted,Be=ke[3]/2,ze=ne,Ye=[],Je=[],Ge=pe.handlersAPI.plotDragStart,Xe=pe.handlersAPI.plotDragEnd,je=pe.handlersAPI.plotDragMove,Ze=pe.handlersAPI.plotRollOver,Qe=pe.handlersAPI.plotRollOut,qe=function(e){var t={},a='';for(a in e)t[a]=e[a];return e},Ke=function(e,t){return function(){e.attr(t)}};if(de?(n=de.config,l=n.symbolWidth,r=n.align,s=n.borderWidth):(l=0,r=0,s=0),ve.useEllipsesOnOverflow(ie.useEllipsesWhenOverflow),e||ve.setStyle(xe),!Be&&pe.singletonCase&&Ae)D=t[0],(ee=D.config._textAttrs).text&&(K=D.graphics,q=D.config,W=K.label,D.slicedTranslation=[_e,Ve],ee['text-anchor']=alignCenter,ee.x=0,ee.y=0,ee.transform=['t',De,Ee],H=se.setAnimation({el:W||'text',attr:ee,component:le,css:te,label:'label',container:ge}),!W&&(K.label=H,H.on('fc-dragstart',Ge).on('fc-dragmove',je).on('fc-dragend',Xe).on('fc-click',labelClickFn.bind(H,re,D.config.labellink)).on('fc-click',plotClickHandler(le,H)).on('fc-mouseover',Ze).on('fc-mouseout',Qe)),H.x=De,H.data('textPos',{x:De,y:Ee}).data('plotItem',ee.plotItem).data(EVENTARGS,ee.eventArgs),null!==q.y&&q.y!==UNDEF&&H.show(),K.connector&&se.setAnimation({el:K.connector,component:le,attr:{path:[]}}));else if(Ae)X=Be+(Le-Be)/2,fcEach(t,function(e){q=e.config,(ee=q._textAttrs).text&&(K=e.graphics,W=K.label,null!==q.y&&q.y!==UNDEF&&(_=K.connector,_&&_.show(),H&&H.show()),ee.transform='t0,0',T=q.angle,P=Ee+X*mathSin(T),A=De+X*mathCos(T),ee._x=A,ee._y=P,e.sliced&&(G=e.slicedTranslation,z=G[0]-_e,Y=G[1]-Ve,A+=z,P+=Y),ee['text-anchor']=alignCenter,ee.x=0,ee.y=0,ee.transform=['t',A,P],H=se.setAnimation({el:W||'text',attr:ee,component:le,label:'label',css:te,container:ge}),!W&&(K.label=H,H.on('fc-dragstart',Ge).on('fc-dragmove',je).on('fc-dragend',Xe).on('fc-click',labelClickFn.bind(H,re,e.config.labellink)).on('fc-click',plotClickHandler(le,H)).on('fc-mouseover',Ze).on('fc-mouseout',Qe)),H.x=ee._x,H.x=ee._x,H.y=ee._y,H.data('plotItem',ee.plotItem).data(EVENTARGS,ee.eventArgs),ee.visibility===VISIBLE&&H.show())});else{for(g=t.length-1;0<=g;g--){if(D=t[g],q=D.config,ee=q._textAttrs||{},!(ee.text=q.displayValue)){D.graphics.connector&&(D.graphics.connector=se.setAnimation({el:D.graphics.connector,component:le})),D.graphics.label&&(D.graphics.label=se.setAnimation({el:D.graphics.label,component:le,callback:hideFn}));continue}K=D.graphics,null!==q.y&&q.y!==UNDEF&&(H=K.label,_=K.connector,_&&_.show(),H&&H.show()),ee.text=q.displayValue,ee.transform='t0,0',T=q.angle%pi2,0>T&&(T=pi2+T),B=0<=T&&T<piBy2?1:T<pi?2:T<pi3By2?3:0,Te[B].push({point:D,angle:T})}for(g=v=4;g--;){if(Se&&(F=Te[g].length-We,0<F))for(Te[g].sort(sortArrayByPoint),R=Te[g].splice(0,F),(h=0,u=R.length);h<u;h+=1)D=R[h].point,ee=D.config._textAttrs,K=D.graphics,K.label&&(K.label=se.setAnimation({el:K.label,component:le})),K.connector&&(K.connector=se.setAnimation({el:K.connector,component:le}));Te[g].sort(sortArrayByAngle)}for(N=mathMax(Te[0].length,Te[1].length,Te[2].length,Te[3].length),O=mathMax(mathMin(N,We)*Oe,Fe+Oe),Je=Te[0].concat(Te[1]),Ye=Te[2].concat(Te[3]),g=Je.length-1;0<=g;g--)Q=Je[g].point.config,delete Q.clearance,delete Q.clearanceShift,m=mathAbs(O*mathSin(Q.angle)),oe(ze-m)<2*Ce&&(Q.clearance=0,Je[g+1].point.clearanceShift=Ce/2),ze=m;for(ze=ne,g=0,u=Ye.length;g<u;g++)Q=Ye[g].point.config,delete Q.clearance,delete Q.clearanceShift,m=mathAbs(O*mathSin(Q.angle)),oe(ze-m)<2*Ce&&(Q.clearance=0,Ye[g-1].point.clearanceShift=Ce/2),ze=m;for(Te[1].reverse(),Te[3].reverse();v--;){for(E=Te[v],u=E.length,Se||(Oe=u>We?O/u:Re,Ne=Oe/2),f=u*Oe,c=O,g=0;g<u;g+=1,f-=Oe)m=mathAbs(O*mathSin(E[g].angle)),c<m?m=c:m<f&&(m=f),c=(E[g].oriY=m)-Oe;for(d=alignments[v],b=O-(u-1)*Oe,c=0,g=E.length-1;0<=g;g-=1,b+=Oe)(D=E[g].point,T=E[g].angle,q=D.config,ee=q._textAttrs||{},!!ee.text)&&(te=q._textCss,te.cursor=q.labellink?'pointer':'',K=D.graphics,y=q.sliced,H=K.label,m=mathAbs(O*mathSin(T)),m<c?m=c:m>b&&(m=b),c=m+Oe,Z=q.clearance===UNDEF?2*mathCeil(pluckNumber(parseFloat(q.style.border),12),12):2*mathCeil(pluckNumber(parseFloat(q.style.border),q.clearance)),I=(m+E[g].oriY)/2,x=De+xSign[v]*Fe*mathCos(math.asin(I/O)),I*=ySign[v],I+=Ee,w=Ee+Le*mathSin(T),C=De+Le*mathCos(T),(2>v&&x<C||1<v&&x>C)&&(x=C),A=x+He[v],P=I-Ne-2,S=A+He[v],ee._x=S,Ie&&(p=1<v?S-ie.canvasLeft:ie.canvasLeft+be-S,ve.setStyle(q.style),Ce=pluckNumber(mathCeil(parseFloat(q.style.lineHeight)),12)+Z,'right'===r&&0<q.transX?p-=l+2*s:'right'!==r&&0<q.transY&&(I-=Oe),J=ve.getSmartText(q.displayValue,p,Ce),q.clearance===UNDEF&&J.height>Oe&&(I+=Oe),ee.text=J.text,ee.tooltip=J.tooltext),ee._y=I,y&&(z=q.transX,Y=q.transY,A+=z,x+=z,C+=z,w+=Y,I+=Y,P+=Y,S+=z),ee['text-anchor']=d,ee.vAlign='middle',ee.opacity=1,ee.x=S,ee.y=I,$=H&&H.data('textPos'),null!==q.y&&q.y!==UNDEF&&($?(ae=qe(ee),se.setAnimation({el:H,attr:ae,callback:Ke(H,ee),component:le})):(H=K.label=se.setAnimation({el:'text',attr:ee,css:te,label:'label',container:ge,component:le}),H.on('fc-dragstart',Ge).on('fc-dragmove',je).on('fc-dragend',Xe).on('fc-click',labelClickFn.bind(H,re,D.config.labellink)).on('fc-click',plotClickHandler(le,H)).on('fc-mouseover',Ze).on('fc-mouseout',Qe))),H&&(H.x=ee._x,H._x=ee._x,H.y=ee._y),ee.tooltip&&(ce.enableToolTip(H,ee.tooltip),delete ee.tooltip),ee.visibility===VISIBLE&&H.show(),H&&H.data('textPos',{x:S,y:I}).data('plotItem',ee.plotItem).data(EVENTARGS,ee.eventArgs),(_=K.connector)&&(q.connectorPath=V=[M,C,w,L,Me?x:C,I,A,I],U=_.data('connectorPath'),U?!ie.clicked&&se.setAnimation({el:_,attr:{path:V},label:'connector',component:le}):se.setAnimation({el:_,attr:{path:V},label:'connector',component:le}),_.data('connectorPath',{path:V})))}}}_setHoverColor(e,t,a,o){var n=this;o?e.color=pointColor(t,a,o,n.config.doughnutradius):(e.color=t,e.alpha=a)}updateData(){var e=this,t=e.config,a=e.components.data;t.valueTotal-=a[arguments[1]].config.y,super.updateData(arguments)}_rotate(){var e,t,a,o,n,l,s,c,d,g=this,p=g.getFromEnv('chart'),h=g.config,m=g.components.data,b=p.config,f=h.piePlotOptions,u=(h.startAngle||0)%pi2,v=h.slicingDistance,y=h.valueTotal,x=b.canvasLeft+.5*b.canvasWidth,C=b.canvasTop+.5*b.canvasHeight,A=h.pieMinRadius,r=.5*(f.innerSize||0);for(n=l=u,d=0;d<m.length;d+=1)(s=m[d].config,c=m[d].graphics,a=s.y,null!==a&&a!==UNDEF)&&(l=n,n-=h.singletonCase?pi2:a*(pi2/y),o=.5*(n+l),s.angle=o,s.transX=mathCos(o)*v,s.transY=mathSin(o)*v,s.slicedTranslation=TRANSFORMSTR+mathCos(o)*v+COMMASTRING+mathSin(o)*v,(t=s._rotateAttrs)||(t=s._rotateAttrs={ringpath:[],transform:BLANKSTRING}),e=t.ringpath,e[0]=x,e[1]=C,e[2]=A,e[3]=r,e[4]=n,e[5]=l,c.element.attr({ringpath:t.ringpath,transform:s.sliced?s.slicedTranslation:''}));g.placeDataLabels(!0,m,h)}_parsePiePlotOptions(){var e=this,t=e.config;return{size:t.pieMinRadius,slicedOffset:t.slicingDistance}}_parseDataLabelOptions(){return{style:this.getFromEnv('chart').config.dataLabelStyle}}_addLegend(){var e,t,a,o,n,l=this,r=l.getFromEnv('legend'),s=l.components.data;for(e=0;e<s.length;e++)if(a=s[e],t=a.config,null!==t.y&&t.seriesName)n={index:e,type:l.getName(),label:t.seriesName,enabled:pluckNumber(t.includeInLegend,1)},o=r.getItem(t.legendItemId),o||(t.legendItemId=r.createItem(l),o=r.getItem(t.legendItemId),l.addExtEventListener('fc-click',o.itemClickFn,o)),o.configure(n),o.setStateCosmetics('default',{symbol:{fill:toRaphaelColor(t.setColor),rawFillColor:t.setColor,stroke:toRaphaelColor(t.borderColor)}});else{if(!t.legendItemId)continue;o=r.getItem(t.legendItemId),o&&r.disposeItem(o.getId()),delete t.legendItemId}}getPlotData(e,t){var a,o,n,l=this,r=l.components.data[e].config,i=l.config.userData||(l.config.userData=[]);if(!i[e]){for(n in a=i[e]={},r)'object'!=typeof(o=r[n])&&'function'!=typeof o&&0!==n.indexOf('_')&&(a[n]=o);a.value=a.y,a.categoryLabel=a.label=a.seriesName,delete a.y,delete a.total,delete a.doNotSlice,delete a.name,delete a.seriesName,delete a.centerAngle,delete a.showInLegend,delete a.angle,delete a.endAngle,delete a.isVisible,delete a.setColor,delete a.slicedTranslation,delete a.startAngle,delete a.transX,delete a.transY,delete a.pValue}else a=i[e];return a.sliced=t,a}_parseBorderConfig(e,t,a){var o=this,n=o.config,l=n.pieBorderColor,r=o.getFromEnv('chart'),i=r.getFromEnv('dataSource').chart,s=pluck(a.bordercolor,l),c=pluck(a.borderalpha,i.plotborderalpha,i.pieborderalpha);return s=pluck(s,getLightColor(e,25)).split(COMMASTRING)[0],c=i.showplotborder==ZEROSTRING?ZEROSTRING:pluck(c,t,'80'),{setPlotBorderColor:s,setPlotBorderAlpha:c}}legendInteractivity(e){let t,a,o,n,l=this,r=l.components.data,s=e.getId();for(a=0,t=r.length;a<t;a++)n=r[a].config,n.legendItemId===s&&(o=r[a].graphics,l.plotGraphicClick.call(o.element))}hideElements(){var e=this,t=e.data&&e.data('plotItem').chart,a=t.getChildren('dataset')&&t.getChildren('dataset')[0],o=0,n=e._&&e._.shadows||[];if(a)for(e.hide();o<n.length;o+=1)n[o].hide()}_createContainer(){let e,t,a,o,n=this,l=n.getName(),r=n.groupName,i=n.getLinkedParent(),s=r||n.dsGroup||l;i.getChildContainer(s+'Group')||(s='default'),e=i.getChildContainer('datalabelsGroup'),t=n.getContainer('pie-groups')||n.addContainer('pie-groups',createGroup('pie',e,n)),a=n.getContainer('pie-plot-groups')||n.addContainer('pie-plot-groups',createGroup('pie-plot',t,n)),o=n.getContainer('pie-label-groups')||n.addContainer('pie-label-groups',createGroup('pie-label',t,n)),n.getContainer('plot-group')||n.addContainer('plot-group',createGroup('plots',a,n)),n.getContainer('plot-shadow-group')||n.addContainer('plot-shadow-group',createGroup('plot-shadows',a,n).toBack()),n.getContainer('label-group')||n.addContainer('label-group',createGroup('labels',o,n)),n.getContainer('connector-shadow-group')||n.addContainer('connector-shadow-group',createGroup('connector-shadows',o,n)),n.getContainer('anchor-shadow-group')||n.addContainer('anchor-shadow-group',createGroup('anchor-shadows',o,n))}allocatePosition(){var e,t,a=this,o=a.components.data,n=o.length;for(e=0;e<n;e++)t=o[e],a.parsePlotAttributes(t,e),a.parseLabelAttributes(t,e)}parsePlotAttributes(e,t){var a,o,n,l,s,c,d,g,p,h,m,b,f,u,v,y,x,C,A,S=this,I=S.components.data,w=S.getFromEnv('chart'),P=w.config,k=S.config,E=t,i=I.length,D=P.canvasWidth,L=P.canvasHeight,T=P.canvasLeft+.5*D,_=P.canvasTop+.5*L,V=k.valueTotal,F=k.piePlotOptions=S._parsePiePlotOptions(),R=F.slicedOffset,O=F.size,r=.5*(k.innerSize||0),N=(k.startAngle||0)%pi2,H=N-pi2,W=k.animateClockWise;if(v=V&&pi2/V,k.pieCenter=[T,_],c=N,d=N,0<t&&(c=I[t-1].config.startAngle,d=I[t-1].config.endAngle),g=e.config,p=g.y,h=g.displayValue,m=g.sliced,n=g.toolText,l=!!g.link,null!==p&&p!==UNDEF&&!1!==g.isVisible){if(b=g.color,b.r=O,b.cx=T,b.cy=_,d=c,c-=k.singletonCase?pi2:p*v,f=.5*(c+d),C){if(E<i)for(x=UNDEF,a=E+1;a<i&&x===UNDEF;a+=1)x=I[a].config.endAngle;x===UNDEF&&(x=H)}else x=W?H:N;u=k.previousData={cx:T,cy:_,r:O,r2:r},s=S.config.drawn?[u.cx,u.cy,u.r,u.r2,c,d]:[T,_,O,r,c,d],g.eventArgs={index:k.reversePlotOrder?i-1-E:E,link:g.link,value:g.y,displayValue:g.displayValueArgs,categoryLabel:g.categoryLabel,isSliced:m,toolText:n,pValue:g.pValue},m&&(g.slicedTranslation='t'+mathCos(f)*R+','+mathSin(f)*R),A={"stroke-width":g.borderWidth,stroke:g.borderColor,fill:isVML||C&&o?singleFillColorFn(g.color,k.doughnutradius):toRaphaelColor(g.color),transform:m?g.slicedTranslation:'',"stroke-dasharray":g.dashStyle,redrawDataLabels:N,ringpath:s,cursor:l?POINTER:''},g.props={element:{attr:A}},g.eventArgs={index:k.reversePlotOrder?i-1-E:E,link:g.link,value:g.y,displayValue:g.displayValueArgs,categoryLabel:g.categoryLabel,isSliced:m,toolText:n,pValue:g.pValue},g.plotItem={chart:w,index:E,seriesData:k,value:p,pValue:g.pValue,displayValue:g.displayValue||'',angle:g.angle=f,angle1:g.startAngle=c,angle2:g.endAngle=d,slicedX:mathCos(f)*R,slicedY:mathSin(f)*R,sliced:m,labelText:h,toolText:n,name:g.name,link:g.link,percentage:V?p*V/100:0,originalIndex:i-E-1,style:g.style,color:toRaphaelColor(g.color),borderColor:g.borderColor,borderWidth:g.borderWidth,rolloverProperties:g.hoverEffects,radius:O,center:[T,_],innerDiameter:2*r,centerLabelConfig:g.centerLabelConfig,isVisible:g.isVisible,label:g.seriesName,connector:y,transX:g.transX=mathCos(f)*R,transY:g.transY=mathSin(f)*R,slicedTranslation:g.slicedTranslation='t'+mathCos(f)*R+','+mathSin(f)*R}}}parseLabelAttributes(e){var t,a,o,n,l,r=this,i=r.getFromEnv('chart'),s=i.config,c=s.dataLabelStyle,d=r.config,g=s.style,p=s.textDirection,h=d.dataLabelOptions;t=e.config,(n=t._textAttrs)||(n=t._textAttrs={}),a=t.y,o=t.displayValue,g=t.style;null===a||a===UNDEF||!1===t.isVisible||(o===UNDEF?n.visibility=HIDDEN:(g&&(!(l=t._textCss)&&(l=t._textCss={}),l.fontFamily=g.fontFamily,l.fontSize=g.fontSize,l.lineHeight=g.lineHeight,l.fontWeight=g.fontWeight,l.fontStyle=g.fontStyle),t.plotItem.style=t.style=g||(g=c),n.text=o,n.fill=g.color||'#000000',n['text-bound']=[g.backgroundColor,g.borderColor,g.borderThickness,g.borderPadding,g.borderRadius,g.borderDash],n.direction=p,n.lineHeight=g.lineHeight,n.visibility=visibleStr),t.props.label={attr:n,css:l},t.props.connector={attr:{visibility:VISIBLE,"stroke-width":h.connectorWidth,stroke:h.connectorColor||'#606060'}})}draw(){var e,t,a,o,n,l,s,c,d,g,p,h,m,b,f,u,v,y,x,C,A,S,I,w,P=this,k=P.getFromEnv('animationManager'),E=P.getFromEnv('chart'),D=E.config,L=D.dataLabelStyle,T=P.config,_=T.showShadow,V=D.alphaanimation,F=P.components,R=F.data,O=F.removeDataArr=F.removeDataArr||[],N=D.style,H=P.pool,W=P.getState('visible'),M=F.data||[],B=M.length,z=D.canvasWidth,Y=D.canvasHeight,J=D.canvasLeft+.5*z,G=D.canvasTop+.5*Y,X=T.handlersAPI.plotDragStart,j=T.handlersAPI.plotDragEnd,Z=T.handlersAPI.plotDragMove,Q=T.handlersAPI.plotRollOver,q=T.handlersAPI.plotRollOut,K=function(){var t,a;if(e)for(t=0;t<B;t+=1)a=M[t],a.graphics.element&&a.graphics.element.attr({fill:toRaphaelColor(a.config.color)})},$=function(){var e=T.pieCenter||[],t=T.piePlotOptions||[],a={cx:e[0],cy:e[1],r:t.size,r2:.5*(T.innerSize||0)};return function(e){var t,o=!1;for(t in e)if(mathAbs(e[t]-a[t])>5){o=!0;break}return o}}(),U=T.piePlotOptions=P._parsePiePlotOptions(),ee=T.dataLabelOptions,te=U.size,r=.5*(T.innerSize||0),ae={plot:{data:[],animType:'linear'},initial:{data:[]},final:{data:[]}},oe=P.getFromEnv('toolTipController');for(P.getContainer('pie-groups')||P._createContainer(),c=P.getContainer('plot-group'),d=P.getContainer('plot-shadow-group'),g=P.getContainer('label-group'),p=P.getContainer('connector-shadow-group'),h=P.getContainer('anchor-shadow-group'),P.config.drawn&&(e=$({cx:J,cy:G,r:te,r2:r})&&!1),g.css(L),x=T.valueTotal,W&&x?(c.show(),d.show(),g.show(),p.show(),h.show()):(c.hide(),d.hide(),g.hide(),p.hide(),h.hide()),O.length&&P.removeElement(ae),t=0;t<B;t+=1)(a=M[t],m=a.graphics,b=a.config,(I=b._textAttrs)||(I=b._textAttrs={}),f=b.y,u=b.displayValue,o=b.toolText,N=b.style,null!==f&&f!==UNDEF&&!1!==b.isVisible)&&(l=m.element,y=m.label,A=m.connector,u===UNDEF?(y&&k.setAnimation({el:y,callback:hideFn,doNotRemove:!0,component:P}),A&&k.setAnimation({el:A,callback:hideFn,doNotRemove:!0,component:P})):(N?(!(w=b._textCss)&&(w=b._textCss={}),w.fontFamily=N.fontFamily,w.fontSize=N.fontSize,w.lineHeight=N.lineHeight,w.fontWeight=N.fontWeight,w.fontStyle=N.fontStyle):b._textCss&&(y&&y.removeCSS(),delete b._textCss,w=UNDEF),b.style=N||(N=L),I=b.props.label.attr,y?w&&(y.css(w),delete w.fontFamily,delete w.fontSize,delete w.lineHeight,delete w.fontWeight,delete w.fontStyle,w=UNDEF):H&&H.label&&H.label.length&&(y=m.label=H.label.splice(0,1)[0]),y&&k.setAnimation({el:y,attr:{opacity:1},component:P}),0<ee.distance&&ee.connectorWidth&&ee.enableSmartLabels?(!A&&H&&H.connector.length&&(A=m.connector=H.connector.splice(0,1)[0]),C=k.setAnimation({el:A||'path',container:g,label:'connector',attr:b.props.connector.attr,component:P}).show(),!A&&(m.connector=C,C.on('fc-dragstart',X).on('fc-dragmove',Z).on('fc-dragend',j).on('fc-mouseover',Q).on('fc-mouseout',q)),k.setAnimation({el:C,attr:{opacity:1},doNotRemove:!0,component:P})):A&&k.setAnimation({el:A,doNotRemove:!0,attr:{opacity:0},component:P})),x?(y&&y.show(),C&&C.show()):(y&&y.hide(),C&&C.hide()),V&&k.setAnimation({el:c,attr:{opacity:1},component:P,callback:S}),x&&k.setAnimation({el:g,attr:{opacity:1},component:P}),n=k.setAnimation({el:l||'ringpath',attr:b.props.element.attr,label:'ringpath',props:{startAngle:P.config.startAngle},container:c,component:P}),l||(m.element=n,n.on('fc-dragstart',X).on('fc-dragmove',Z).on('fc-dragend',j).on('fc-click',plotClickHandler(P,n)).on('fc-mouseover',Q).on('fc-mouseout',q)),v=b.plotItem,s=b.eventArgs,v.graphic=n,n.show().shadow(_&&b.shadow,d).data('plotItem',v).data('dataset',this).data(EVENTARGS,s),oe.enableToolTip(n,o),I.plotItem=v,I[EVENTARGS]=s,C&&C.data('plotItem',v).data(EVENTARGS,s));(function(){P.placeDataLabels(!1,R,T,null,ae)})(),P.config.__attachRestoreColor||P.addExtEventListener('animationComplete',K,k),P.config.__attachRestoreColor=!0,P.config.drawn=!0}sliceInOtherPies(e){var t,a=this,o=a.components.data,n=o.length,l=0;for(a.enableMultiSlicing=!0;n--;)n!==e&&(t=o[n]).config.sliced&&++l&&a.plotGraphicClick.call(t.graphics);return a.enableMultiSlicing=!1,!!l}removeElement(){var e,t,a,o,n,l=this,s=l.getFromEnv('animationManager'),c=l.getFromEnv('chart'),d=c.config,g=l.components,p=g.removeDataArr||[],h=l.pool=l.pool={},m=p.length,b=l.config,f=d.canvasWidth,u=d.canvasHeight,v=d.canvasLeft+.5*f,y=d.canvasTop+.5*u,x=l.hideElements,C=b.pieMinRadius,r=.5*(b.innerSize||0),A=b.startAngle,S=A-pi2;for(n=0;n<m;n++){for(a in e=p[0],o=e.graphics,o)(t=o[a],!!t)&&('element'===a?s.setAnimation({el:t,attr:{ringpath:[v,y,C,r,S,S+.01],transform:''},callback:x,component:l}):s.setAnimation({el:t,attr:{opacity:0},callback:x,component:l}),h[a]||(h[a]=[]),h[a].push(t));p.splice(0,1)}}getEventArgs(e){var t,a=this,o=e.config.index,n=a.components.data[o],l=n.config||{};return t={datasetName:l.seriesName,datasetIndex:o,id:l.userID,visible:l.isVisible,label:l.seriesName,value:l.value,percentValue:l.pValue,tooltext:l.toolText,link:l.link,sliced:l.sliced},t}remove(e){let t=this,a=t.config.legendItemId,o=t.getFromEnv('legend');o&&a&&o.disposeItem(a),super.remove(e)}}export default Pie2DDataset;export{plotGraphicClick,trimData,labelClickFn,plotClickHandler,hideFn};