quoslibero
Version:
FusionCharts JavaScript charting framework
1 lines • 35.7 kB
JavaScript
import{stubFN,pluck,pluckNumber,BLANK,preDefStr,COMMASTRING,COMMASPACE,HASHSTRING,toRaphaelColor,setLineHeight,parsexAxisStyles,extend2,regex,componentFactory,convertColor,getDarkColor,getLightColor}from'../../../../fc-core/src/lib';import{ComponentInterface}from'../../../../fc-core/src/component-interface';import{trimData}from'../../../../fc-charts/src/dataset/pie2d';import funnelPyramidBaseAnimation from'./funnelpyramidbase.animation';import{addDep}from'../../../../fc-core/src/dependency-manager';var UNDEF,showHoverEffectStr=preDefStr.showHoverEffectStr,noneStr='none',PXSTRING='px',fillStr='fill',NORMALSTRING='normal',math=Math,mathRound=math.round,mathCeil=math.ceil,mathMax=math.max,mathMin=math.min,mathPow=math.pow,mathSqrt=math.sqrt,EMPTY_OBJ={},colorStrings=preDefStr.colors,COLOR_000000=colorStrings.c000000,POSITION_START=preDefStr.POSITION_START,POSITION_MIDDLE=preDefStr.POSITION_MIDDLE,pathStr='path',zeroCommaHundredStr='0,100',win=window,userAgent=win.navigator.userAgent,isIE=/msie/i.test(userAgent)&&!win.opera,HEXCODE=regex.hexcode,TRACKER_FILL='rgba(192,192,192,'+(isIE?.002:1e-6)+')',dropHash=regex.dropHash,isObject=function(t){return'object'==typeof t},isString=function(t){return'string'==typeof t},defined=function(t){return t!==UNDEF&&null!==t},getTooltipMacroStub=function(t){return{formattedValue:t.formatedVal,label:t.name,percentValue:t.pValue,sum:t.sum,unformattedSum:t.sumValue}},M='M',A='A',L='L',Z='Z',startsRGBA=regex.startsRGBA,Color=function(t){function e(t){r=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/.exec(t),r?l=[parseInt(r[1],10),parseInt(r[2],10),parseInt(r[3],10),parseFloat(r[4])]:(r=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(t),r&&(l=[parseInt(r[1],16),parseInt(r[2],16),parseInt(r[3],16),1]))}function o(e){var o;return o=l&&!isNaN(l[0])?'rgb'===e?'rgb('+l[0]+','+l[1]+','+l[2]+')':'hex'===e?'#'+(COLOR_000000+(l[0]<<16|l[1]<<8|l[2]).toString(16)).slice(-6):'a'===e?l[3]:'rgba('+l.join(',')+')':t,o}function a(t){if(!isNaN(t)&&0!==t){var e;for(e=0;3>e;e++)l[e]+=parseInt(255*t,10),0>l[e]&&(l[e]=0),255<l[e]&&(l[e]=255)}return this}function i(t){return l[3]=t,this}var r,l=[];return e(t),{get:o,brighten:a,setOpacity:i}};addDep({name:'funnelPyramidBaseAnimation',type:'animationRule',extension:funnelPyramidBaseAnimation});class FunnelPyramidBaseDataset extends ComponentInterface{getType(){return'dataset'}getName(){return'funnelPyramidBase'}constructor(){var t=Math.abs;super(),this.components={},this.utils=function(e){function o(){var t=[],e=0;this.set=function(o,a){e++,t[o]=a},this.get=function(e){return t[e]},this.getAll=function(){return t},this.mergeWith=function(e){var a,i,r,l=t.slice(0);if(e instanceof Array)a=e;else if(e instanceof o)a=e.getAll();else return;for(i in a)(r=a[i],!l[i])&&(l[i]=r);return l},this.getEffectiveLength=function(){return e}}function a(t){this.distributionLength=t,this.distributedMatrix=[],this.altDistributedMatrix=[],this.nonDistributedMatrix={},this.forcePushObj={},this.flags={exhaustion:!1}}return o.prototype.constructor=o,a.prototype.constructor=a,a.prototype.push=function(t,e){this.nonDistributedMatrix[e]=this.nonDistributedMatrix[e]||[],this.nonDistributedMatrix[e].push(t)},a.prototype.forcePush=function(t,e){this.forcePushObj[e]=t},a.prototype.distribute=function(t){var a,i,r,l,n,s,g,h=e,c=!0,d=new o,p=new o,m=new o,b=new o,f=this.flags,u=0,L=h.getDataLength();if(t){if(0<L-this.distributionLength)for(r in this.nonDistributedMatrix)for(a=this.nonDistributedMatrix[r],n=1;n<a.length;n++)g=a[n],g.dontPlot=!0,g.displayValue=BLANK;}else if(0<L-2*this.distributionLength)for(r in this.nonDistributedMatrix)for(a=this.nonDistributedMatrix[r],n=1;n<a.length-1;n++)g=a[n],g.dontPlot=!0,g.displayValue=BLANK;if(L>this.distributionLength&&!t){for(r in f.exhaustion=!0,this.nonDistributedMatrix)for(a=this.nonDistributedMatrix[r],n=0,s=a.length;n<s;n++)g=a[n],g.dontPlot?c?i=m:i=b:(i=c?d:p,g.distributionFactor=i.getEffectiveLength()>parseInt(r,10)?i.getEffectiveLength()-1-r:0),i.set(u++,g),c=!c;this.distributedMatrix=d.mergeWith(m),this.altDistributedMatrix=p.mergeWith(b)}else{for(l in this.nonDistributedMatrix)for(a=this.nonDistributedMatrix[l],n=0,s=a.length;n<s;n++)g=a[n],g.dontPlot?i=m:(i=d,g.distributionFactor=i.getEffectiveLength()>parseInt(l,10)?i.getEffectiveLength()-1-l:0),i.set(u++,g);this.distributedMatrix=d.mergeWith(m)}},a.prototype.getDistributedResult=function(){var t,o=e,a=o.getFromEnv('chart'),i=a.config,r=a.getFromEnv('legend'),l=o.config,n=l.alignmentType,s=[],g=a.isLegendRight,h=i.width-l.blankSpace;return i.showLegend&&r.config.width?g&&(h-=r.config.width+i.marginRight):g=0,a.isLegendRight=g,this.distribute(g),g?(t=n['default'],s.push(this.distributedMatrix)):(t=this.flags.exhaustion?n.alternate:n['default'],this.flags.exhaustion?[].push.call(s,this.distributedMatrix,this.altDistributedMatrix):s.push(this.distributedMatrix)),{forceMatrix:this.forcePushObj,suggestion:t,matrix:s}},{DistributionMatrix:a,setContext:function(t){e=t},invokeHookFns:function(){var t,o=[],a=e;switch(arguments.length){case 3:a=arguments[2];case 2:o=arguments[1];case 1:t=arguments[0];break;default:return;}t&&'function'==typeof t&&t.apply(a,o)},copyProperties:function(t,o,a){function i(t){var a;return'string'==typeof t&&0===t.indexOf('$')?(a=t.substring(1),o[a]):'function'==typeof t?t.call(e,o):t}var r,l,n,s,g,h,c,d;for(r=0,l=a.length;r<l;r++)n=a[r],s=n[0],g=n[1],h=n[2],c=i(n[3]),d=n[4]||stubFN,o[g]=h(t[s],c),d(o)},sortObjArrByKey:function(e,o){return e.sort(function(e,a){return t(a[o])-t(e[o])})},getSumValueOfObjArrByKey:function(t,e){var o,a,i=0;for(o=0,a=t.length;o<a;o++)i+=parseFloat(t[o][e],10);return i}}},this.hide=function(t,e){var o,a,i=this.getFromEnv('animationManager'),r=function(){this.hide()};if(t&&0!==t.length)for(e=2>e&&'funnel'===this.getName()?0:e,o=t.length-1;o>=e;o--)a=t[o].getGraphicalElement(),a.graphic&&(a.graphic.front&&i.setAnimation({el:a.graphic.front,callback:r,component:this}),a.graphic.back&&i.setAnimation({el:a.graphic.back,callback:r,component:this}),a.graphic.funnel2D&&i.setAnimation({el:a.graphic.funnel2D,callback:r,component:this}),a.graphic.lighterHalf&&i.setAnimation({el:a.graphic.lighterHalf,callback:r,component:this}),a.graphic.darkerHalf&&i.setAnimation({el:a.graphic.darkerHalf,callback:r,component:this}),a.graphic.borderElement&&i.setAnimation({el:a.graphic.borderElement,callback:r,component:this}),a.graphic.centerLight&&i.setAnimation({el:a.graphic.centerLight,callback:r,component:this}),a.graphic.centerLight1&&i.setAnimation({el:a.graphic.centerLight1,callback:r,component:this}),a.graphic.toptop&&i.setAnimation({el:a.graphic.toptop,callback:r,component:this}),a.graphic.topLight&&i.setAnimation({el:a.graphic.topLight,callback:r,component:this}),a.graphic.topLight1&&i.setAnimation({el:a.graphic.topLight1,callback:r,component:this})),a.dataLabel&&i.setAnimation({el:a.dataLabel,callback:r,component:this}),a.trackerObj&&i.setAnimation({el:a.trackerObj,callback:r,component:this})},this.pyramidFunnelShape=function(){var t={y:!0,R1:!0,R2:!0,h:!0,r3dFactor:!0,color:!0,opacity:!0,fill:!0,stroke:!0,strokeColor:!0,strokeAlpha:!0,"stroke-width":!0},e=.01,o=function(t,e,o,a,i,r){return[A,o,a,0,r,i,t,e]},a=function(t,e,o,a,r,l){var n,s,g,h,d,p,m,b,f,u=mathPow(a,2)-mathPow(t,2),L=-2*(mathPow(a,2)*o-mathPow(t,2)*l),x=mathPow(t*r,2)+mathPow(a*o,2)-mathPow(a*e,2)-mathPow(t*l,2),S=mathSqrt(mathPow(L,2)-4*u*x),k=(-L+S)/(2*u),v=(-L-S)/(2*u);for(f in k<l&&k>o?s=v:v<l&&v>o&&(s=k),g=mathSqrt((mathPow(s-o,2)-mathPow(e,2))/mathPow(t,2)),h=-g,d={x:mathRound(100*(mathPow(t,2)*g/(s-o)))/100,y:mathRound(100*(mathPow(e,2)/(s-o)+o))/100},p={x:mathRound(100*(mathPow(a,2)*g/(s-l)))/100,y:mathRound(100*(mathPow(r,2)/(s-l)+l))/100},m={x:mathRound(100*(mathPow(t,2)*h/(s-o)))/100,y:mathRound(100*(mathPow(e,2)/(s-o)+o))/100},b={x:mathRound(100*(mathPow(a,2)*h/(s-l)))/100,y:mathRound(100*(mathPow(r,2)/(s-l)+l))/100},n={topLeft:m,bottomLeft:b,topRight:d,bottomRight:p},n)(isNaN(n[f].x)||isNaN(n[f].y))&&(n[f].x='topLeft'===f||'bottomLeft'===f?-t:t,n[f].y='bottomRight'===f||'bottomLeft'===f?l:o);return n},i=function(t,e,i,r,l,n,s){var g,h=i*n,c=r*n,d=a(i,h,e,r,c,e+l),p=d.topLeft,m=d.bottomLeft,b=d.topRight,f=d.bottomRight,u=t+p.x,x=t+b.x,k=t+m.x,S=t+f.x,v=p.y,y=m.y,I=o(x,v,i,h,0,0),w=o(x,v,i,h,1,1),E=o(k,y,r,c,1,0),F=o(k,y,r,c,0,1);return g={front:[M,u,v].concat(I,[L,S,y],E,[Z]),back:[M,u,v].concat(w,[L,S,y],F,[Z]),silhuette:[M,u,v].concat(w,[L,S,y],E,[Z])},s||(g.top=[M,u,v].concat(I,[L,x,v],o(u,v,i,h,0,1),[Z])),g},r=function(t,o,a,r,l,n,s,g,c,d){isObject(t)&&(o=t.y,a=t.R1,r=t.R2,l=t.h,n=t.r3dFactor,s=t.is2D,d=t.isHollow,c=t.isFunnel,g=t.renderer,t=t.x);var p,m,b,f,u,k,S,v=t-a,I=t+a,w=t-r,E=t+r,F=o+l;return s?(p={silhuette:[M,v,o,L,I,o,E,F,w,F,Z]},!c&&(t=Math.round(t),p.lighterHalf=[M,v,o,L,t,o,t,F,w,F,Z],p.darkerHalf=[M,t,o,L,I,o,E,F,t,F,Z])):c?p=i(t,o,a||e,r||e,l,n,d,g):(m=a*n,b=r*n,f=mathMin(5,a),u=mathMin(2,2*m),k=mathMin(2,u),S=k/n,p={top:[M,v,o,L,t,o+m,I,o,t,o-m,Z],front:[M,v,o,L,t,o+m,I,o,E,F,t,F+b,w,F,Z],topLight:[M,v,o+.5,L,t,o+m+.5,t,o+m-u,v+S,o,Z],topLight1:[M,I,o+.5,L,t,o+m+.5,t,o+m-k,I-S,o,Z],silhuette:[M,v,o,L,t,o-m,I,o,E,F,t,F+b,w,F,Z],centerLight:[M,t,o+m,L,t,F+b,t-5,F+b,t-f,o+m,Z],centerLight1:[M,t,o+m,L,t,F+b,t+5,F+b,t+f,o+m,Z]}),p},l=function(e,o){var a,i,l,n,s,g,h,c,d,p,m,b,f,u,L,x,k=this,S=!1,v=!1,y=this._3dAttr;if(isString(e)&&defined(o)&&(a=e,e={},e[a]=o),isString(e))k=t[e]?this._3dAttr[e]:this._attr(e);else{for(a in e)i=e[a],t[a]?(y[a]=i,a===fillStr?(i&&i.linearGradient&&i.stops&&i.stops[0]&&(i=i.stops[0][1]),startsRGBA.test(i)?(s=new Color(i),l=s.get('hex'),n=100*s.get('a')):i&&i.FCcolor?(l=i.FCcolor.color.split(COMMASTRING)[0],n=i.FCcolor.opacity.split(COMMASTRING)[0]):HEXCODE.test(i)&&(l=i.replace(dropHash,HASHSTRING),n=pluckNumber(y.opacity,100)),y.color=l,y.opacity=n,v=!0):'color'===a||'opacity'===a?(y.fill=toRaphaelColor(convertColor(y.color,pluckNumber(y.opacity,100))),v=!0):'stroke'===a||'strokeColor'===a||'strokeAlpha'===a?y.is2D&&('stroke'===a?(i&&i.linearGradient&&i.stops&&i.stops[0]&&(i=i.stops[0][1]),startsRGBA.test(i)?(s=new Color(i),l=s.get('hex'),n=100*s.get('a')):i&&i.FCcolor?(l=i.FCcolor.color.split(COMMASTRING)[0],n=i.FCcolor.opacity.split(COMMASTRING)[0]):HEXCODE.test(i)&&(l=i.replace(dropHash,HASHSTRING),n=pluckNumber(y.opacity,100)),y.strokeColor=l,y.strokeAlpha=n):y.stroke=convertColor(y.strokeColor,pluckNumber(y.strokeAlpha,100)),y.isFunnel?this.funnel2D.attr('stroke',y.stroke):this.borderElement.attr('stroke',y.stroke)):'stroke-width'===a?y.is2D&&(y.isFunnel?this.funnel2D.attr(a,i):this.borderElement.attr(a,i)):S=!0):this._attr(a,i);y.is2D?(S&&(d=r(y.x,y.y,y.R1,y.R2,y.h,y.r3dFactor,y.is2D),k.shadowElement.attr({path:d.silhuette}),y.isFunnel?k.funnel2D.attr({path:d.silhuette}):(k.lighterHalf.attr({path:d.lighterHalf}),k.darkerHalf.attr({path:d.darkerHalf}),k.borderElement.attr({path:d.silhuette}))),v&&(y.isFunnel?k.funnel2D.attr(fillStr,toRaphaelColor(convertColor(y.color,pluckNumber(y.opacity,100)))):(!1===y.use3DLighting?p=m=y.color:(p=getDarkColor(y.color,80),m=getLightColor(y.color,80)),k.lighterHalf.attr(fillStr,toRaphaelColor(convertColor(m,pluckNumber(y.opacity,100)))),k.darkerHalf.attr(fillStr,toRaphaelColor(convertColor(p,pluckNumber(y.opacity,100))))))):(S&&(d=r(y.x,y.y,y.R1,y.R2,y.h,y.r3dFactor,y.is2D),k.shadowElement.attr(pathStr,d.silhuette),y.isFunnel?(k.front.attr(pathStr,d.front),k.back.attr(pathStr,d.back),k.toptop&&d.top&&k.toptop.attr(pathStr,d.top)):(k.front.attr(pathStr,d.front),k.toptop.attr(pathStr,d.top),k.topLight.attr(pathStr,d.topLight),k.topLight1.attr(pathStr,d.topLight1),k.centerLight.attr(pathStr,d.centerLight),k.centerLight1.attr(pathStr,d.centerLight1))),v&&(l=y.color,n=y.opacity,y.isFunnel?(g=getLightColor(l,60),c=getDarkColor(l,60),k.back.attr(fillStr,toRaphaelColor({FCcolor:{color:c+COMMASTRING+g+COMMASTRING+l,alpha:n+COMMASTRING+n+COMMASTRING+n,ratio:'0,60,40',angle:0}})),k.front.attr(fillStr,toRaphaelColor({FCcolor:{color:l+COMMASTRING+g+COMMASTRING+c,alpha:n+COMMASTRING+n+COMMASTRING+n,ratio:'0,40,60',angle:0}})),k.toptop&&k.toptop.attr(fillStr,toRaphaelColor({FCcolor:{color:g+COMMASTRING+c,alpha:n+COMMASTRING+n,ratio:zeroCommaHundredStr,angle:-65}}))):(g=getLightColor(l,80),h=getLightColor(l,70),c=getDarkColor(l,80),b=zeroCommaHundredStr,f='0,'+n,u=l+COMMASTRING+h,L=-45,x=100*(5/(y.R1*y.r3dFactor)),k.centerLight.attr(fillStr,toRaphaelColor({FCcolor:{color:u,alpha:f,ratio:b,angle:0}})),k.centerLight1.attr(fillStr,toRaphaelColor({FCcolor:{color:u,alpha:f,ratio:b,angle:180}})),k.topLight.attr(fillStr,toRaphaelColor({FCcolor:{color:h+COMMASTRING+h+COMMASTRING+l+COMMASTRING+l,alpha:n+COMMASTRING+n+COMMASTRING+0+COMMASTRING+0,ratio:'0,50,'+x+COMMASTRING+(50-x),angle:L}})),k.topLight1.attr(fillStr,toRaphaelColor({FCcolor:{color:h+COMMASTRING+l+COMMASTRING+c,alpha:n+COMMASTRING+n+COMMASTRING+n,ratio:'0,50,50',angle:0}})),k.front.attr(fillStr,toRaphaelColor({FCcolor:{color:l+COMMASTRING+l+COMMASTRING+c+COMMASTRING+c,alpha:n+COMMASTRING+n+COMMASTRING+n+COMMASTRING+n,ratio:'0,50,0,50',angle:0}})),k.toptop.attr(fillStr,toRaphaelColor({FCcolor:{color:g+COMMASTRING+l+COMMASTRING+c+COMMASTRING+c,alpha:n+COMMASTRING+n+COMMASTRING+n+COMMASTRING+n,ratio:'0,25,30,45',angle:L}})))))}return k},n=function(){var t=this.shadowElement;n&&t.shadow.apply(t,arguments)},s=function(t,e){var o,a,i,r,l,n=['silhuette','lighterHalf','darkerHalf','centerLight','centerLight1','front','toptop','topLight','topLight1','shadowElement','funnel2D','borderElement','back'];if(t){if(r=t._3dAttr,r.isFunnel===e.isFunnel&&r.is2D===e.is2D&&r.isHollow===e.isHollow)return t;for(a=0,l=n.length;a<l;a++)(i=n[a],o=t[i],!!o)&&(delete t[i],o.remove());return t}},g=function(t,e){var o=t.getFromEnv('chart');return function(a,i,r){var l=e[a];return l?(o.getFromEnv('animationManager').setAnimation({el:l,attr:{path:i},component:t}),l):(r=r||EMPTY_OBJ,t.postPlotCallback(),o.getFromEnv('animationManager').setAnimation({el:'path',label:'path',attr:Object.assign({path:i},r),container:e,component:t}))}};return function(t,e,o,a,i,c,d,p,m,b,f,u){var L,k,S,v,I,w,E,F,C=this,T=C.getFromEnv('chart'),D=T.getChildContainer().plotGroup,A=C.config.oldLastData;return isObject(t)&&(e=t.y,o=t.R1,a=t.R2,i=t.h,c=t.r3dFactor,d=t.gStr,p=t.is2D,u=t.use3DLighting,m=t.renderer,f=t.isHollow,b=t.isFunnel,E=t.graphics,t=t.x),c=pluckNumber(c,.15),L={x:t,y:e,R1:o,R2:a,h:i,r3dFactor:c,is2D:p,use3DLighting:u,isHollow:f,isFunnel:b,renderer:m},v=s(E,L)||m.group(d,D),v.toFront(),(v.front||p)&&(v.funnel2D||v.lighterHalf||!p)||!C.getState('notInitial')||C.config.prevIs2d!==L.is2D?(k=r(L),C.getState('notInitial',!0)):(S=r(L),A.y+=A.h,A.R1=A.R2,A.h=0,k=r(A)),w=Object.assign({},L),w.y+=w.h,w.R1=w.R2,w.h=0,I=r(w),v.squeezedFormPathObj=I,v.Shapeargs=S||k,F=g(C,v,'easeIn'),v.shadowElement=F('shadowElement',k.silhuette,{fill:TRACKER_FILL,stroke:noneStr}),v._attr=v._attr||v.attr,v.attr=l,v.shadow=n,v._3dAttr=L,b?p?(v.funnel2D=F('funnel2D',k.silhuette),S&&(v.funnel2D=F('funnel2D',S.silhuette))):(v.back=F('back',k.back,{"stroke-width":0,stroke:noneStr}),v.front=F('front',k.front,{"stroke-width":0,stroke:noneStr}),S&&(v.back=F('back',S.back,{"stroke-width":0,stroke:noneStr})),S&&(v.front=F('front',S.front,{"stroke-width":0,stroke:noneStr})),k.top&&(v.toptop=F('toptop',k.top,{"stroke-width":0,stroke:noneStr}),S&&(v.toptop=F('toptop',S.top,{"stroke-width":0,stroke:noneStr})))):p?(v.lighterHalf=F('lighterHalf',k.lighterHalf,{"stroke-width":0}),S&&(v.lighterHalf=F('lighterHalf',S.lighterHalf,{"stroke-width":0})),v.darkerHalf=F('darkerHalf',k.darkerHalf,{"stroke-width":0}),S&&(v.darkerHalf=F('darkerHalf',S.darkerHalf,{"stroke-width":0})),v.borderElement=F('borderElement',k.silhuette,{fill:TRACKER_FILL,stroke:noneStr}),S&&(v.borderElement=F('borderElement',S.silhuette,{fill:TRACKER_FILL,stroke:noneStr}))):(v.front=F('front',k.front,{"stroke-width":0}),S&&(v.front=F('front',S.front,{"stroke-width":0})),v.centerLight=F('centerLight',k.centerLight,{"stroke-width":0}),S&&(v.centerLight=F('centerLight',S.centerLight,{"stroke-width":0})),v.centerLight1=F('centerLight1',k.centerLight1,{"stroke-width":0}),S&&(v.centerLight1=F('centerLight1',S.centerLight1,{"stroke-width":0})),v.toptop=F('toptop',k.top,{"stroke-width":0}),S&&(v.toptop=F('toptop',S.top,{"stroke-width":0})),v.topLight=F('topLight',k.topLight,{"stroke-width":0}),S&&(v.topLight=F('topLight',S.topLight,{"stroke-width":0})),v.topLight1=F('topLight1',k.topLight1,{"stroke-width":0}),S&&(v.topLight1=F('topLight1',S.topLight1,{"stroke-width":0}))),v}}(),this.config.legendItemIds=[];var e=this.utils(this),o=e.invokeHookFns,a=this.postInitHook;o(a)}trimData(t){trimData.call(this,t)}getDataLength(){var t,e=this,o=e.getChildren('data'),a=0,r=o.length;for(t=0;t<r;t++)o[t].getState('removed')||a++;return a}removeData(t,e,o=!1){var a,r,l,n=this,s=n.components,g=n.getChildren('data');for(e=pluckNumber(e,1),t=pluckNumber(t,0),a=s.removedDataArr=g.splice(t,e),l=a.length,r=0;r<l;r++)a[r]||a.splice(r,1);o&&n.asyncDraw()}removePlots(){var t,e,o,a,r=this,l=r.components,n=l.removedDataArr;if(n)for(t=n.length-1;0<=t;t--){for(e in a=n[t],o=a.getGraphicalElement(),o)a.removeGraphicalElement(o[e]);n.splice(t,1)}}_configure(){var t=this,e=t.getFromEnv('chart'),o=t.getFromEnv('color-manager'),a=e.config,i=a.style,r=t.config||{},l=t.config.JSONData,n=l.data||[],s=e.getFromEnv('dataSource')?e.getFromEnv('dataSource').chart:{},g=t.utils(t),h=g.invokeHookFns,c=g.copyProperties,d=t.configureSpecifics,p=o.getColor('baseFontColor');c(s,r,[['showlabels','showLabels',pluckNumber,1],['showvalues','showValues',pluckNumber,1],['plottooltext','toolText',pluck,BLANK],['enableslicing','enableSlicing',pluckNumber,1],['plotfillalpha','plotFillAlpha',pluckNumber,100],['showplotborder','showPlotBorder',pluckNumber,0],['plotborderalpha','plotBorderAlpha',pluckNumber,UNDEF],['plotbordercolor','plotBorderColor',pluck,UNDEF],['plotborderthickness','plotBorderThickness',pluckNumber,1],['showshadow','showShadow',pluckNumber,1],['showhovereffect',showHoverEffectStr,pluckNumber,0],['hovercapsepchar','hoverCapSepChar',pluck,COMMASPACE],['tooltipsepchar','tooltipSepChar',pluck,'$hoverCapSepChar'],['labelsepchar','labelSepChar',pluck,'$tooltipSepChar'],['showpercentintooltip','showPercentInToolTip',pluckNumber,1],['showpercentvalues','showPercentValues',pluckNumber,0],[BLANK,'blankSpace',pluckNumber,3],['labeldistance','labelDistance',pluckNumber,50],['issliced','isSliced',pluckNumber,0],['is2d','is2d',pluckNumber,0],[BLANK,'blankSpace',pluckNumber,3],['showlabelsatcenter','showLabelsAtCenter',pluckNumber,0],['smartlinethickness','connectorWidth',pluckNumber,1],['smartlinealpha','connectorAlpha',pluckNumber,100],['smartlinecolor','rawSmartLineColorCode',pluck,function(){return o.getColor('baseFontColor')}],['labelalpha','labelAlpha',pluckNumber,100],['basefont','baseFont',pluck,'Verdana,sans'],['basefontsize','baseFontSize',pluckNumber,10],['basefontcolor','baseFontColor',pluck,p],['labelfontcolor','labelFontColor',pluck,'$baseFontColor'],['showtooltip','showTooltip',pluckNumber,1],['percentofprevious','percentOfPrevious',pluckNumber,0],['animationduration','animationDuration',pluckNumber,1,function(t){t.animationDuration*=1e3}]]),r.connectorColor=convertColor(r.rawSmartLineColorCode,r.connectorAlpha),r.origLabelDistance=r.labelDistance,setLineHeight(i),i.nLineHeight=i.lineHeight.match(/^\d+/)[0],c(i,r,[[BLANK,'lineHeight',pluckNumber,r.baseFontSize]]),r.isSliced&&(r.clicked=!0),delete i.nLineHeight,h(d),r.datalabelDisabled=!(r.showLabels||r.showValues),t.getNormalizeDataSet(n)}_preDrawingHook(){var t=this,e=t.getFromEnv('chart'),o=t.config,a=e.config,i=t.utils(t),r=e.getFromEnv('dataSource')?e.getFromEnv('dataSource').chart:{},l=a.canvasHeight,n=i.copyProperties;n(r,o,[[BLANK,'slicingDistance',pluckNumber,.1*l],['slicingdistance','slicingHeight',pluckNumber,'$slicingDistance',function(){o.slicingDistance=o.slicingHeight>2*o.slicingDistance?0:o.slicingHeight}]])}_checkValidData(t){var e=this,o=e.getFromEnv('chart');return!!(t&&t.length)||(o.setChartMessage(),!1)}addLegend(){var t,e,o,a,r,l=this,n=l.getFromEnv('chart'),s=0,g=n.getFromEnv('dataSource').chart,h=l.getChildren('data')||l.config.JSONData.data,c=n.getFromEnv('legend'),d=c.getChildren('legendItem');for(a=0;a<h.length;a++)if(r=h[a],e=r.config,r.pseudoPoint||r.getState('removed')||!r.label&&!r.categoryLabel){if(r.pseudoPoint)continue;typeof('undefined'!==r.categoryLabel)&&s++,e.legendItemId&&(d=c.getItem(e.legendItemId),d&&c.disposeItem(d.getId()),delete e.legendItemId)}else t={type:l.getName(),label:r.label||r.categoryLabel,index:s,enabled:pluckNumber(g.includeinlegend,1),legendItemId:r.legendItemId},d=c.getItem(e.legendItemId),d||(o=c.createItem(l),r.config.legendItemId=o,d=c.getItem(e.legendItemId),d.addEventListener('fc-click',d.itemClickFn)),d.configure(t),s++,d.setStateCosmetics('default',{symbol:{fill:h[a].legendColor,rawFillColor:h[a].rawColor,stroke:getLightColor(h[a].rawColor,60).replace(dropHash,HASHSTRING)}})}legendInteractivity(t){let e,o,a=this.getChildren('data'),r=t.getId();for(e=0,o=a.length;e<o;e++)if(a[e].config.legendItemId===r){this.legendClick({datasetStore:this,plotItem:a[e].plot},!0,!1);break}}getNormalizeDataSet(t){var e,o,a,i,r,l,n,s,g=this,h=g.getChildren('data')||[],c=g.getFromEnv('chart'),d=g.config,p=g.getFromEnv('smartLabel'),m=d.pointInContext,b=0,f=c.getFromEnv('dataSource').chart,u=d.dataConnectorStyle={},L=c.config.PLOT_COLOR_INDEX_START,x=0,k=0;if(extend2(l=d.style={},c.config.style),d.noOFSlicedElement=0,l.borderDash=noneStr,l.borderPadding=2,l.borderRadius=0,l.borderThickness=1,l.color=convertColor(d.labelFontColor,d.labelAlpha),l.fontFamily=d.baseFont,l.fontSize=d.baseFontSize+PXSTRING,l.fontStyle=NORMALSTRING,l.fontWeight=NORMALSTRING,u.connectorWidth=d.connectorWidth,u.connectorColor=d.connectorColor,n=g.datasetCalculations(t),i=n.hasValidPoint,a=n.refreshedData,b=n.sumValue,k=+(!d.streamLinedData&&'funnel'===g.getName()),g._chartLevelAttr=parsexAxisStyles({},{},f,l),i)for(d.sumValue=b,r=a.length,componentFactory(g,m,'data',r+k),h=g.getChildren('data'),p.useEllipsesOnOverflow(c.config.useEllipsesWhenOverflow),(e=0,x=k);e<r;e+=1,x+=1)(o=a[e],s=h[x],!s.getState('removed'))&&s.parseAndConfigurePoint(o,n,L++,e);k&&h[0]&&h[0].configure({displayValue:BLANK,y:d.sumValue,index:0})}datasetCalculations(t){var e,o,a,i,r=this,l=r.getFromEnv('number-formatter'),n={};for(n.refreshedData=[],n.sumValue=n.countPoint=0,n.highestValue=Number.NEGATIVE_INFINITY,(e=0,o=t.length);e<o;e++)(a=t[e],!a.vline)&&(a.cleanValue=i=Math.abs(l.getCleanValue(a.value,!0)),null!==i&&(n.hasValidPoint=!0,n.highestValue=n.highestValue||i,n.refreshedData.push(a),n.sumValue+=i,n.countPoint+=1,n.highestValue=Math.max(n.highestValue,n.itemValue)));return n}pointHoverOptions(t,e){var o,a,i,r=this,l=r.config,n=r.getFromEnv('chart'),s=pluckNumber(t.showhovereffect,l.showHoverEffect),g={enabled:s},h={},c=n.getFromEnv('dataSource')?n.getFromEnv('dataSource').chart:{};if(s||(s=g.enabled=pluck(t.hovercolor,c.plotfillhovercolor,t.hoveralpha,c.plotfillhoveralpha,t.borderhovercolor,c.plotborderhovercolor,t.borderhoverthickness,c.plotborderhoverthickness,t.borderhoveralpha,c.plotborderhoveralpha)!==UNDEF),s){if(g.highlight=pluckNumber(t.highlightonhover,c.highlightonhover),g.color=pluck(t.hovercolor,c.plotfillhovercolor),g.alpha=pluck(t.hoveralpha,c.plotfillhoveralpha,e.alpha),g.borderColor=pluck(t.borderhovercolor,c.plotborderhovercolor,e.borderColor),g.borderThickness=pluckNumber(t.borderhoverthickness,c.plotborderhoverthickness,e.borderWidth),g.borderAlpha=pluck(t.borderhoveralpha,c.plotborderhoveralpha,e.borderAlpha),0!==g.highlight&&g.color===UNDEF&&(g.highlight=1),g.color=pluck(g.color,e.color).replace(/,+?$/,BLANK),1===g.highlight){for(o=g.color.split(/\s{0,},\s{0,}/),a=o.length,i=0;i<a;i+=1)o[i]=getLightColor(o[i],70);g.color=o.join(',')}h={color:g.color,alpha:+g.alpha,borderColor:convertColor(g.borderColor,g.borderAlpha),borderWidth:g.borderThickness}}return{enabled:s,options:g,rolloverOptions:h}}getTooltipMacroStub(t){return getTooltipMacroStub.call(this,t)}allocatePosition(){var t=this,e=t.getFromEnv('chart'),o=e.config,a=t.config;t._preDrawingHook();a.sumValue&&(a.labelDrawingConfig=a.labelDrawingConfig||[],a.labelDrawingConfig.length=0,a.psmMargin={top:o.marginTop,bottom:o.marginBottom},t.preDrawingSpaceManagement())}preDrawingSpaceManagement(){var t,e,o,a,r,l,n,s,g,h,c,d,p,m,b,f,u,L,x,k,S,v,y,I,w,E,F,C=Math.min,T=this,D=T.getFromEnv('chart'),A=D.config,V=D.getChildren('caption')[0],H=D.getChildren('subCaption')[0],R=V.config.height||0,O=H.config.height||0,P=T.config,W=P.showTooltip,X=P.slicingDistance,N=A.height-(A.marginTop+A.marginBottom),M=A.width-(A.marginRight+A.marginLeft),_=T.getChildren('data'),Y=P.blankSpace,B=T.config.LABEL_PLACEMENT_ITERATOR_INDEX_START,G='funnel'===T.getName()?1:0,j=T.getFromEnv('smartLabel'),z=0,K=0,$=T.utils(T),q=$.invokeHookFns,J=T.prePointProcessingHookFn,Z=D.getFromEnv('legend'),U=0;for(A.showLegend&&'right'===Z.config.legendPos&&(U=Z.config.width+10),A.oriCanvasLeft=D.config.canvasLeft,A.oriBottomSpace=D.config.marginBottom,A.oriTopSpace=D.config.marginTop,I=P._tempSnap={top3DSpace:0,bottom3DSpace:0,topLabelSpace:0,rightLabelSpace:0},t=N-X,e=C(2*t,M),A.marginTop+=X/2,A.marginBottom+=X/2,o=T.getDataLength(),a=P.origLabelDistance+Y,r=P.showLabelsAtCenter,l=C(e,.3*M),n=M-l,M-=U,s=M-l-a,g=0,h=_[0],c=h&&_[0].y?_[0].y:1,d=.8/c,q(J,[_]),p=P.totalValue||0,j.useEllipsesOnOverflow(A.useEllipsesWhenOverflow);B<o;B+=1)m=_[B],m.legendItemId&&Z.configureItems&&Z.configureItems(m.legendItemId,{configuration:{fillColor:m.legendColor}}),F=m.style,setLineHeight(F),b=pluckNumber(mathCeil(parseFloat(F.lineHeight)+F.borderPadding+F.borderThickness+5),10),j.setStyle(F),L=m.y,r?f=j.getSmartText(m.origValue,M,b):(L=m.getModifiedCurrentValue&&m.getModifiedCurrentValue(p)||L,x=m.getRatioK(T,L,d,p,c),k=l*x,S=s+(l-k)/2,f=j.getSmartText(m.origValue,S,b),m.displayValue=f.text,W&&f.tooltext&&(m.originalText=f.tooltext),g=Math.max(g,f.width),0<n&&(v=0<f.width?S-f.width:S+a,z=1/(x+1)*(k+2*v+l),n=C(n,z-l)),p+=P.offsetVal===UNDEF?m.y:'function'==typeof P.offsetVal?P.offsetVal(B):P.offsetVal);if(A.showLegend&&'right'===Z.config.legendPos?(D.isLegendRight=!0,A.marginRight+=U):D.isLegendRight=!1,m&&(y=m.getLowestRadiusFactor(T,c)),u=l+n,u>e&&(u=e),p=P.offsetVal===UNDEF?0:'function'==typeof P.offsetVal?P.offsetVal():P.offsetVal,!r)for(B=T.config.LABEL_PLACEMENT_ITERATOR_INDEX_START,o=T.getDataLength();B<o;B+=1)m=_[B],L=m.y,L=m.getModifiedCurrentValue&&m.getModifiedCurrentValue(p)||L,x=m.getRatioK(T,L,d,p,c),k=u*x,S=s+(l-k)/2-U,f=j.getSmartText(m.displayValue,S,b),K=mathMax(K,.5*k+f.width+a),p+=P.offsetVal===UNDEF?m.y:'function'==typeof P.offsetVal?P.offsetVal():P.offsetVal;0<g?(I.rightLabelSpace=M-u,w=K-.5*A.canvasWidth,0<w&&(A.marginRight+=w,A.marginLeft-=w),A.marginRight+=.5*I.rightLabelSpace,A.marginLeft+=.5*I.rightLabelSpace):a=0,P.labelDistance=P.connectorWidth=a,(r||!g)&&e<M&&(A.marginLeft+=.5*(M-e-a),A.marginRight+=.5*(M-e-a)),P.is2d||(A.marginTop+=I.top3DSpace=u*P.yScale*G/2,A.marginBottom+=I.bottom3DSpace=u*P.yScale*y/2),T.calculatePositionOfPlots(),E=R+O+5,'funnel'===T.getName()?P.streamLinedData&&2>_.length?(A.gaugeStartX=A.marginLeft,A.gaugeStartY=A.marginTop+E,A.gaugeEndX=u+A.marginLeft,A.gaugeEndY=A.canvasHeight+A.marginTop):(A.gaugeStartX=_[0].plotX-_[1].shapeArgs.R1,A.gaugeEndX=_[0].plotX+_[1].shapeArgs.R1,A.gaugeStartY=_[0].plotY,A.gaugeEndY=_[o-1].plotY):(A.gaugeStartX=_[o-1].plotX-_[o-1].shapeArgs.R2,A.gaugeEndX=_[o-1].plotX+_[o-1].shapeArgs.R2,A.gaugeStartY=_[0].shapeArgs.y,A.gaugeEndY=_[o-1].shapeArgs.y+_[o-1].shapeArgs.h),A.gaugeCenterX=A.canvasCenterX=(A.gaugeStartX+A.gaugeEndX)/2,A.gaugeCenterY=(A.gaugeStartY+A.gaugeEndY)/2,A.plotSemiWidth=(A.canvasWidth-I.rightLabelSpace)/2}animateElements(t,e,o,a){function r(t,e){var o=(e||{}).alpha;o=o===UNDEF?a.post:{opacity:o};t&&p.getFromEnv('animationManager').setAnimation({el:t,attr:o,component:p})}var n,s,g,h,c,d,p=this;for(o=o||[],s=0,g=t.length;s<g;s++)if(h=t[s],!!h)if(!o.length)n=h,r(n[e],h.point);else for(c=0,d=o.length;c<d;c++)n=t[s][e][o[c]],r(n,h.point)}drawAllLabels(){var t,e,o,a,i,r=this,l=r.getFromEnv('chart'),n=r.config.labelDrawingConfig,s=l.getChildContainer('datalabelsGroup'),g=['fontFamily','fontSize','fontWeight','fontStyle'],h={};for(o=0,a=g.length;o<a;o++)i=g[o],i in r._chartLevelAttr&&(h[i]=r._chartLevelAttr[i]);for(s.css(h),o=n.length-1;-1<o;o--)t=n[o],e=t.point,e.index=o,e.drawLabel()}drawAllTrackers(){var t,e,o,a=this,i=a.config.trackerArgs;for(t=0,o=i.length;t<o;t++)e=i[t],e.drawTracker()}calculatePositionCoordinate(t,e){var o,a,i,r,l,n,s,g,h,c,d=this,p=d.config,m=p.maxValue,b=p.is2d,f=p.x,u=d.getFromEnv('chart'),L=u.config,x=L.canvasTop,k=p.unitHeight,S=p.drawingRadius,v=p.labelDistance,I=p.showLabelsAtCenter,w=p.isHollow,E=L.style.fontSize,F=.3*E,C=p.yScale,T=p.blankSpace,D=p.lastRadius,A=d.getFromEnv('smartLabel'),V=0,H=d.getDataLength()-1,R=!1,O=0,P=p.lineHeight,W=.8/L.effCanvasHeight,X=u.config.width-2,N=p.streamLinedData,M={flag:!1,point:UNDEF,sLabel:UNDEF,setAll:function(t,e,o){this.flag=t,this.point=e,this.sLabel=o}},_={point:UNDEF,sLabel:UNDEF,set:function(t,e){var o=t;return function(t,a){var i,r;return t.dontPlot?void 0:this.point&&this.sLabel?void(i=o(this.point,this.sLabel),r=o(t,a),e(i,r)&&(this.point=t,this.sLabel=a)):(this.point=t,void(this.sLabel=a))}}},Y={},B={},G={},j={},z=p.slicingGapPosition={};for(extend2(Y,M),extend2(B,M),Y.setAll=function(t,e,o){var a,i,r=this.point,l=this.sLabel;return this.flag=t,r&&l?void(a=r.labelX-(l.oriTextWidth-l.width),i=e.labelX-(o.oriTextWidth-o.width),a>i&&(this.point=e,this.sLabel=o)):(this.point=e,void(this.sLabel=o))},B.setAll=function(t,e,o){var a,i,r=this.point,l=this.sLabel;return this.flag=t,r&&l?void(a=r.labelX+l.oriTextWidth,i=e.labelX+o.oriTextWidth,a<i&&(this.point=e,this.sLabel=o)):(this.point=e,void(this.sLabel=o))},extend2(G,_),extend2(j,_),G.set=function(){return _.set.apply(G,[function(t){return t.labelX},function(t,e){return t>e}])}(),j.set=function(){return _.set.apply(j,[function(t,e){return t.labelX+e.oriTextWidth},function(t,e){return t<e}])}(),p.noOfGap=0,A.useEllipsesOnOverflow(L.useEllipsesWhenOverflow),(o=0,a=t.length);o<a;o++)(i=t[o],!!i)&&(i.x=o,i.plot&&(i.isSliced=!!i.isSliced||!!p.isSliced),i.isSliced=pluckNumber(i.isSliced,p.isSliced),o?(e&&(R=!R),i.isSliced&&(c=i.x,1<c&&!z[c]&&(z[c]=!0,p.noOfGap+=1),c<H&&(z[c+1]=!0,p.noOfGap+=1)),N?(n=1==p.useSameSlantAngle?m?S*i.y/m:S:m?S*mathSqrt(i.y/m):S,r=k*(t[o-1].y-i.y)||1):(V+=r=k*t[o].y,n=S*(1-V*W)),i.shapeArgs={x:f,y:x,R1:D,R2:n,h:r||1,r3dFactor:C,isHollow:w,gStr:'point',is2D:b,renderer:u.getFromEnv('paper'),isFunnel:!0},A.setStyle(i.style),i.oriText=i.displayValue,l=l=A.getSmartText(i.displayValue,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),I?(i.labelAline=POSITION_MIDDLE,i.labelX=f,i.labelY=(b?x:x+C*D)+r/2+F):(i.labelAline=POSITION_START,i.alignmentSwitch=R,i.distributionFactor=i.distributionFactor||0,R?(i.labelX=f-(v+n+T+l.width),i.labelX-=i.distributionFactor*p.globalMinXShift,G.set(i,l)):(i.labelX=f+v+n+T,i.labelX+=i.distributionFactor*p.globalMinXShift,j.set(i,l)),O=i.distributionFactor*P,i.labelY=x+F+r+O),e&&(R&&0>i.labelX?(s=i.labelX+l.width,g=A.getSmartText(i.displayValue,s,Number.POSITIVE_INFINITY,!0),i.labelX=2,i.isLabelTruncated=!0,i.displayValue=g.text,i.virtualWidth=g.maxWidth,Y.setAll(!0,i,g)):!R&&i.labelX+l.width>X&&(g=A.getSmartText(i.displayValue,X-i.labelX,Number.POSITIVE_INFINITY,!0),i.isLabelTruncated=!0,i.displayValue=g.text,i.virtualWidth=g.maxWidth,B.setAll(!0,i,g))),i.pWidth=i.virtualWidth=l.width,x+=r,D=n):(i.oriText=i.displayValue,n=1==p.useSameSlantAngle?m?S*i.y/m:S:m?S*mathSqrt(i.y/m):S,i.labelWidth>2*n&&!e?(i.labelAline=POSITION_START,i.labelX=0):(i.labelAline=POSITION_MIDDLE,i.labelX=f),h=2*v,i.displayValue=A.getSmartText(i.origValue,2*n+h,Number.POSITIVE_INFINITY,!0).text,i.labelY=(b?x:x-C*D)-F-T),i.plotX=f,i.plotY=x);d.findBestPosition(t,{lTrimmedInfo:Y,rTrimmedInfo:B,lLargestLabel:G,rLargestLabel:j})}findBestPosition(t,e){var o,a,i,r,l,n,s,g,h,c=Math.ceil,d=Math.min,p=this,m=p.config,b=p.getFromEnv('chart'),f=b.config,u=0,L=e.lTrimmedInfo,x=e.rTrimmedInfo,k=e.lLargestLabel,S=e.rLargestLabel,v=p.getFromEnv('smartLabel'),y=0,I=m.streamLinedData,w=m.blankSpace,E=f.width-m.blankSpace;if(!(L.flag&&x.flag)){if(x.flag){if(!k.point)return;a=x.sLabel,o=a.oriTextWidth-a.width,i=k.point.labelX-w,u=-c(d(o,i))}else if(L.flag){if(!S.point)return;a=L.sLabel,o=a.oriTextWidth-a.width,r=E-(S.point.labelX+S.sLabel.width),u=c(d(o,r))}if(!u){for(v.useEllipsesOnOverflow(f.useEllipsesWhenOverflow),s=0,g=t.length;s<g;s++)n=t[s],0<(h=n.labelX+n.pWidth-E)&&(n.lOverflow=h,n.labelX-=h,b.isLegendRight?n.displayValue=v.getSmartText(n.oriText,n.pWidth-h,Number.POSITIVE_INFINITY,!0).text:(n.lOverflow=h,n.labelX-=h));return}for(s=0,g=t.length;s<g;s++){if(n=t[s],!s&&I){n.labelX+=u;continue}n.alignmentSwitch?(l=0>u?v.getSmartText(n.oriText,n.pWidth,Number.POSITIVE_INFINITY,!0):v.getSmartText(n.oriText,n.pWidth+u,Number.POSITIVE_INFINITY,!0),n.isLabelTruncated&&(y=l.width-n.pWidth),n.virtualWidth=l.width):(l=0<u?v.getSmartText(n.oriText,n.pWidth,Number.POSITIVE_INFINITY,!0):v.getSmartText(n.oriText,n.pWidth-u,Number.POSITIVE_INFINITY,!0),n.virtualWidth=l.width),n.displayValue=l.text,n.labelX+=u-y,n.shapeArgs&&(n.shapeArgs.x+=u),y=0}}}getPlotData(t){var e,o,a,r=this,l=r.getChildren('data')[t],n=r.userData||(r.userData=[]),s=['y','name','color','alpha','borderColor','borderWidth','link','label','displayValue','datasetIndex','toolText'];if(!n[t]){for(e=n[t]={},o=0;o<s.length;o++)e[a=s[o]]=l[a];e.value=e.y,e.label=e.name,delete e.y,delete e.name}else e=n[t];return e}slice(){var t,e,o,a,r,l,n,s,g,h,c,d=this,p=d.datasetStore,m=d.plotItem,b=m.index,f=p.getChildren('data'),u=f[b],L=u.getGraphicalElement(),x=p.getFromEnv('chart'),k=p.getFromEnv('animationManager'),S=p.config,v=arguments[3]||S.clicked,y=S.slicingDistance,I=y/2,w=0,E=0,F=f.length,C=[];if(!S.sliceLock){for(S.sliceLock=1,v=m.sliced=defined(v)?v:!m.sliced,r=-I,l=I,c=function(){return function(){S.sliceLock=0,x.fireChartInstanceEvent('SlicingEnd',{slicedState:v,data:p.getPlotData(a)})}},w=0;w<F;w+=1)(e=f[w].plot,e&&!f[w].getState('removed'))&&(L=f[w].getGraphicalElement(),e===m?(f[w].isSliced=1,C[w]={isSliced:v},o=!0,a=w):(f[w].isSliced=0,e.sliced=!1,C[w]={isSliced:!1},o=!1),L.graphic&&(n=e.dy,s=-n,v&&(e.x<m.x?(s+=r,E+=1):e.x==m.x?E?w==F-1&&(s+=.5*I):s+=.5*-I:s+=l),L.graphic.attr({transform:'t0,'+e.dy}),e.dy+=s,t={transform:'...t0,'+s},o&&x.fireChartInstanceEvent('SlicingStart',{slicedState:!v,data:p.getPlotData(a)}),k.setAnimation({el:L.graphic,attr:t,component:p,callback:o&&c(v,a)}),L.dataLabel&&k.setAnimation({el:L.dataLabel,attr:t,component:p}),L.connector&&k.setAnimation({el:L.connector,attr:t,component:p}),L.trackerObj&&k.setAnimation({el:L.trackerObj,attr:t,component:p}),g=f[0].getGraphicalElement('graphic'),h=f[0].getGraphicalElement('dataLabel'),1==w&&!g&&h&&k.setAnimation({el:h,attr:t,component:p})));delete S.clicked}}legendClick(t){this.slice.call(t)}getEventArgs(t){var e,o=this,a=o.getChildren('data'),i=t.config,r=i.index,l=a[r]||{};return e={alpha:l.alpha,value:l.y,color:l.color,borderColor:l.borderColor,borderWidth:l.borderWidth,link:l.link,displayValue:l.displayValue,datasetIndex:l.datasetIndex,toolText:l.toolText,label:l.categoryLabel},e}plotMouseUp(t){var e=this,o=e.plotItem,a=e.datasetStore,i=a.getChildren('data'),r=i[o.index],l=a.getFromEnv('chart'),n=r.getGraphicalElement('trackerObj');l.plotEventHandler(n,t,'dataplotclick')}}export default FunnelPyramidBaseDataset;