Files
monpas/public/js_lib/Highcharts/code/modules/sunburst.js
T
2021-07-10 16:25:16 +02:00

53 lines
21 KiB
JavaScript

/*
Highcharts JS v7.0.3 (2019-02-06)
(c) 2016-2019 Highsoft AS
Authors: Jon Arild Nygard
License: www.highcharts.com/license
*/
(function(z){"object"===typeof module&&module.exports?(z["default"]=z,module.exports=z):"function"===typeof define&&define.amd?define(function(){return z}):z("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(z){var N=function(){return function(b){var r=this,n=r.graphic,f=b.animatableAttribs,p=b.onComplete,D=b.css,C=b.renderer;r.shouldDraw()?(n||(r.graphic=n=C[b.shapeType](b.shapeArgs).add(b.group)),n.css(D).attr(b.attribs).animate(f,b.isNew?!1:void 0,p)):n&&n.animate(f,void 0,function(){r.graphic=
n=n.destroy();"function"===typeof p&&p()});n&&n.addClass(r.getClassName(),!0)}}(),K=function(b){var r=b.extend,n=b.isArray,f=b.isObject,p=b.isNumber,D=b.merge,C=b.pick;return{getColor:function(m,l){var A=l.index,k=l.mapOptionsToLevel,f=l.parentColor,n=l.parentColorIndex,E=l.series,F=l.colors,r=l.siblings,q=E.points,v=E.chart.options.chart,y,p,e,g;if(m){q=q[m.i];m=k[m.level]||{};if(k=q&&m.colorByPoint)p=q.index%(F?F.length:v.colorCount),y=F&&F[p];if(!E.chart.styledMode){F=q&&q.options.color;v=m&&m.color;
if(e=f)e=(e=m&&m.colorVariation)&&"brightness"===e.key?b.color(f).brighten(A/r*e.to).get():f;e=C(F,v,y,e,E.color)}g=C(q&&q.options.colorIndex,m&&m.colorIndex,p,n,l.colorIndex)}return{color:e,colorIndex:g}},getLevelOptions:function(b){var l=null,A,k,I,m;if(f(b))for(l={},I=p(b.from)?b.from:1,m=b.levels,k={},A=f(b.defaults)?b.defaults:{},n(m)&&(k=m.reduce(function(b,l){var k,q;f(l)&&p(l.level)&&(q=D({},l),k="boolean"===typeof q.levelIsConstant?q.levelIsConstant:A.levelIsConstant,delete q.levelIsConstant,
delete q.level,l=l.level+(k?0:I-1),f(b[l])?r(b[l],q):b[l]=q);return b},{})),m=p(b.to)?b.to:1,b=0;b<=m;b++)l[b]=D({},A,f(k[b])?k[b]:{});return l},setTreeValues:function l(b,k){var f=k.before,n=k.idRoot,p=k.mapIdToNode[n],A=k.points[b.i],D=A&&A.options||{},q=0,v=[];r(b,{levelDynamic:b.level-(("boolean"===typeof k.levelIsConstant?k.levelIsConstant:1)?0:p.level),name:C(A&&A.name,""),visible:n===b.id||("boolean"===typeof k.visible?k.visible:!1)});"function"===typeof f&&(b=f(b,k));b.children.forEach(function(f,
n){var e=r({},k);r(e,{index:n,siblings:b.children.length,visible:b.visible});f=l(f,e);v.push(f);f.visible&&(q+=f.val)});b.visible=0<q||b.visible;f=C(D.value,q);r(b,{children:v,childrenTotal:q,isLeaf:b.visible&&!q,val:f});return b},updateRootId:function(b){var l;f(b)&&(l=f(b.options)?b.options:{},l=C(b.rootNode,l.rootId,""),f(b.userOptions)&&(b.userOptions.rootId=l),b.rootNode=l);return l}}}(z);(function(b,r){var n=b.seriesType,f=b.seriesTypes,p=b.addEvent,D=b.merge,C=b.extend,m=b.error,l=b.defined,
A=b.noop,k=b.fireEvent,I=r.getColor,z=r.getLevelOptions,E=b.isArray,F=b.isNumber,L=b.isObject,q=b.isString,v=b.pick,y=b.Series,M=b.stableSort,e=b.Color,g=function(a,c,d){d=d||this;b.objectEach(a,function(x,h){c.call(d,x,h,a)})},w=function(a,c,d){d=d||this;a=c.call(d,a);!1!==a&&w(a,c,d)},u=r.updateRootId;n("treemap","scatter",{allowTraversingTree:!1,showInLegend:!1,marker:!1,colorByPoint:!1,dataLabels:{enabled:!0,defer:!1,verticalAlign:"middle",formatter:function(){var a=this&&this.point?this.point:
{};return q(a.name)?a.name:""},inside:!0},tooltip:{headerFormat:"",pointFormat:"\x3cb\x3e{point.name}\x3c/b\x3e: {point.value}\x3cbr/\x3e"},ignoreHiddenPoint:!0,layoutAlgorithm:"sliceAndDice",layoutStartingDirection:"vertical",alternateStartingDirection:!1,levelIsConstant:!0,drillUpButton:{position:{align:"right",x:-10,y:10}},traverseUpButton:{position:{align:"right",x:-10,y:10}},borderColor:"#e6e6e6",borderWidth:1,opacity:.15,states:{hover:{borderColor:"#999999",brightness:f.heatmap?0:.1,halo:!1,
opacity:.75,shadow:!1}}},{pointArrayMap:["value"],directTouch:!0,optionalAxis:"colorAxis",getSymbol:A,parallelArrays:["x","y","value","colorValue"],colorKey:"colorValue",trackerGroups:["group","dataLabelsGroup"],getListOfParents:function(a,c){a=E(a)?a:[];var d=E(c)?c:[];c=a.reduce(function(a,c,d){c=v(c.parent,"");void 0===a[c]&&(a[c]=[]);a[c].push(d);return a},{"":[]});g(c,function(a,c,b){""!==c&&-1===d.indexOf(c)&&(a.forEach(function(a){b[""].push(a)}),delete b[c])});return c},getTree:function(){var a=
this.data.map(function(a){return a.id}),a=this.getListOfParents(this.data,a);this.nodeMap=[];return this.buildNode("",-1,0,a,null)},init:function(a,c){var d=b.colorSeriesMixin;b.colorSeriesMixin&&(this.translateColors=d.translateColors,this.colorAttribs=d.colorAttribs,this.axisTypes=d.axisTypes);p(this,"setOptions",function(a){a=a.userOptions;l(a.allowDrillToNode)&&!l(a.allowTraversingTree)&&(a.allowTraversingTree=a.allowDrillToNode,delete a.allowDrillToNode);l(a.drillUpButton)&&!l(a.traverseUpButton)&&
(a.traverseUpButton=a.drillUpButton,delete a.drillUpButton)});y.prototype.init.call(this,a,c);this.options.allowTraversingTree&&p(this,"click",this.onClickDrillToNode)},buildNode:function(a,c,d,b,h){var e=this,x=[],t=e.points[c],g=0,w;(b[a]||[]).forEach(function(c){w=e.buildNode(e.points[c].id,c,d+1,b,a);g=Math.max(w.height+1,g);x.push(w)});c={id:a,i:c,children:x,height:g,level:d,parent:h,visible:!1};e.nodeMap[c.id]=c;t&&(t.node=c);return c},setTreeValues:function(a){var c=this,d=c.options,b=c.nodeMap[c.rootNode],
d="boolean"===typeof d.levelIsConstant?d.levelIsConstant:!0,h=0,e=[],G,t=c.points[a.i];a.children.forEach(function(a){a=c.setTreeValues(a);e.push(a);a.ignore||(h+=a.val)});M(e,function(a,c){return a.sortIndex-c.sortIndex});G=v(t&&t.options.value,h);t&&(t.value=G);C(a,{children:e,childrenTotal:h,ignore:!(v(t&&t.visible,!0)&&0<G),isLeaf:a.visible&&!h,levelDynamic:a.level-(d?0:b.level),name:v(t&&t.name,""),sortIndex:v(t&&t.sortIndex,-G),val:G});return a},calculateChildrenAreas:function(a,c){var d=this,
b=d.options,h=d.mapOptionsToLevel[a.level+1],e=v(d[h&&h.layoutAlgorithm]&&h.layoutAlgorithm,b.layoutAlgorithm),G=b.alternateStartingDirection,t=[];a=a.children.filter(function(a){return!a.ignore});h&&h.layoutStartingDirection&&(c.direction="vertical"===h.layoutStartingDirection?0:1);t=d[e](c,a);a.forEach(function(a,h){h=t[h];a.values=D(h,{val:a.childrenTotal,direction:G?1-c.direction:c.direction});a.pointValues=D(h,{x:h.x/d.axisRatio,width:h.width/d.axisRatio});a.children.length&&d.calculateChildrenAreas(a,
a.values)})},setPointValues:function(){var a=this,c=a.xAxis,d=a.yAxis;a.points.forEach(function(b){var h=b.node,e=h.pointValues,x,t,g=0;a.chart.styledMode||(g=(a.pointAttribs(b)["stroke-width"]||0)%2/2);e&&h.visible?(h=Math.round(c.translate(e.x,0,0,0,1))-g,x=Math.round(c.translate(e.x+e.width,0,0,0,1))-g,t=Math.round(d.translate(e.y,0,0,0,1))-g,e=Math.round(d.translate(e.y+e.height,0,0,0,1))-g,b.shapeType="rect",b.shapeArgs={x:Math.min(h,x),y:Math.min(t,e),width:Math.abs(x-h),height:Math.abs(e-t)},
b.plotX=b.shapeArgs.x+b.shapeArgs.width/2,b.plotY=b.shapeArgs.y+b.shapeArgs.height/2):(delete b.plotX,delete b.plotY)})},setColorRecursive:function(a,c,d,b,h){var e=this,x=e&&e.chart,x=x&&x.options&&x.options.colors,g;if(a){g=I(a,{colors:x,index:b,mapOptionsToLevel:e.mapOptionsToLevel,parentColor:c,parentColorIndex:d,series:e,siblings:h});if(c=e.points[a.i])c.color=g.color,c.colorIndex=g.colorIndex;(a.children||[]).forEach(function(c,d){e.setColorRecursive(c,g.color,g.colorIndex,d,a.children.length)})}},
algorithmGroup:function(a,c,d,b){this.height=a;this.width=c;this.plot=b;this.startDirection=this.direction=d;this.lH=this.nH=this.lW=this.nW=this.total=0;this.elArr=[];this.lP={total:0,lH:0,nH:0,lW:0,nW:0,nR:0,lR:0,aspectRatio:function(a,c){return Math.max(a/c,c/a)}};this.addElement=function(a){this.lP.total=this.elArr[this.elArr.length-1];this.total+=a;0===this.direction?(this.lW=this.nW,this.lP.lH=this.lP.total/this.lW,this.lP.lR=this.lP.aspectRatio(this.lW,this.lP.lH),this.nW=this.total/this.height,
this.lP.nH=this.lP.total/this.nW,this.lP.nR=this.lP.aspectRatio(this.nW,this.lP.nH)):(this.lH=this.nH,this.lP.lW=this.lP.total/this.lH,this.lP.lR=this.lP.aspectRatio(this.lP.lW,this.lH),this.nH=this.total/this.width,this.lP.nW=this.lP.total/this.nH,this.lP.nR=this.lP.aspectRatio(this.lP.nW,this.nH));this.elArr.push(a)};this.reset=function(){this.lW=this.nW=0;this.elArr=[];this.total=0}},algorithmCalcPoints:function(a,c,d,e){var h,x,g,t,w=d.lW,l=d.lH,f=d.plot,k,q=0,n=d.elArr.length-1;c?(w=d.nW,l=d.nH):
k=d.elArr[d.elArr.length-1];d.elArr.forEach(function(a){if(c||q<n)0===d.direction?(h=f.x,x=f.y,g=w,t=a/g):(h=f.x,x=f.y,t=l,g=a/t),e.push({x:h,y:x,width:g,height:b.correctFloat(t)}),0===d.direction?f.y+=t:f.x+=g;q+=1});d.reset();0===d.direction?d.width-=w:d.height-=l;f.y=f.parent.y+(f.parent.height-d.height);f.x=f.parent.x+(f.parent.width-d.width);a&&(d.direction=1-d.direction);c||d.addElement(k)},algorithmLowAspectRatio:function(a,c,d){var b=[],e=this,g,f={x:c.x,y:c.y,parent:c},w=0,l=d.length-1,k=
new this.algorithmGroup(c.height,c.width,c.direction,f);d.forEach(function(d){g=d.val/c.val*c.height*c.width;k.addElement(g);k.lP.nR>k.lP.lR&&e.algorithmCalcPoints(a,!1,k,b,f);w===l&&e.algorithmCalcPoints(a,!0,k,b,f);w+=1});return b},algorithmFill:function(a,c,d){var b=[],e,g=c.direction,f=c.x,w=c.y,l=c.width,k=c.height,q,n,u,m;d.forEach(function(d){e=d.val/c.val*c.height*c.width;q=f;n=w;0===g?(m=k,u=e/m,l-=u,f+=u):(u=l,m=e/u,k-=m,w+=m);b.push({x:q,y:n,width:u,height:m});a&&(g=1-g)});return b},strip:function(a,
c){return this.algorithmLowAspectRatio(!1,a,c)},squarified:function(a,c){return this.algorithmLowAspectRatio(!0,a,c)},sliceAndDice:function(a,c){return this.algorithmFill(!0,a,c)},stripes:function(a,c){return this.algorithmFill(!1,a,c)},translate:function(){var a=this,c=a.options,d=u(a),b,e;y.prototype.translate.call(a);e=a.tree=a.getTree();b=a.nodeMap[d];a.renderTraverseUpButton(d);a.mapOptionsToLevel=z({from:b.level+1,levels:c.levels,to:e.height,defaults:{levelIsConstant:a.options.levelIsConstant,
colorByPoint:c.colorByPoint}});""===d||b&&b.children.length||(a.setRootNode("",!1),d=a.rootNode,b=a.nodeMap[d]);w(a.nodeMap[a.rootNode],function(c){var d=!1,b=c.parent;c.visible=!0;if(b||""===b)d=a.nodeMap[b];return d});w(a.nodeMap[a.rootNode].children,function(a){var c=!1;a.forEach(function(a){a.visible=!0;a.children.length&&(c=(c||[]).concat(a.children))});return c});a.setTreeValues(e);a.axisRatio=a.xAxis.len/a.yAxis.len;a.nodeMap[""].pointValues=d={x:0,y:0,width:100,height:100};a.nodeMap[""].values=
d=D(d,{width:d.width*a.axisRatio,direction:"vertical"===c.layoutStartingDirection?0:1,val:e.val});a.calculateChildrenAreas(e,d);a.colorAxis?a.translateColors():c.colorByPoint||a.setColorRecursive(a.tree);c.allowTraversingTree&&(c=b.pointValues,a.xAxis.setExtremes(c.x,c.x+c.width,!1),a.yAxis.setExtremes(c.y,c.y+c.height,!1),a.xAxis.setScale(),a.yAxis.setScale());a.setPointValues()},drawDataLabels:function(){var a=this,c=a.mapOptionsToLevel,d,b;a.points.filter(function(a){return a.node.visible}).forEach(function(e){b=
c[e.node.level];d={style:{}};e.node.isLeaf||(d.enabled=!1);b&&b.dataLabels&&(d=D(d,b.dataLabels),a._hasPointLabels=!0);e.shapeArgs&&(d.style.width=e.shapeArgs.width,e.dataLabel&&e.dataLabel.css({width:e.shapeArgs.width+"px"}));e.dlOptions=D(d,e.options.dataLabels)});y.prototype.drawDataLabels.call(this)},alignDataLabel:function(a,c,d){var e=d.style;!b.defined(e.textOverflow)&&c.text&&c.getBBox().width>c.text.textWidth&&c.css({textOverflow:"ellipsis",width:e.width+="px"});f.column.prototype.alignDataLabel.apply(this,
arguments);a.dataLabel&&a.dataLabel.attr({zIndex:(a.node.zIndex||0)+1})},pointAttribs:function(a,c){var d=L(this.mapOptionsToLevel)?this.mapOptionsToLevel:{},b=a&&d[a.node.level]||{},d=this.options,h=c&&d.states[c]||{},g=a&&a.getClassName()||"";a={stroke:a&&a.borderColor||b.borderColor||h.borderColor||d.borderColor,"stroke-width":v(a&&a.borderWidth,b.borderWidth,h.borderWidth,d.borderWidth),dashstyle:a&&a.borderDashStyle||b.borderDashStyle||h.borderDashStyle||d.borderDashStyle,fill:a&&a.color||this.color};
-1!==g.indexOf("highcharts-above-level")?(a.fill="none",a["stroke-width"]=0):-1!==g.indexOf("highcharts-internal-node-interactive")?(c=v(h.opacity,d.opacity),a.fill=e(a.fill).setOpacity(c).get(),a.cursor="pointer"):-1!==g.indexOf("highcharts-internal-node")?a.fill="none":c&&(a.fill=e(a.fill).brighten(h.brightness).get());return a},drawPoints:function(){var a=this,c=a.points.filter(function(a){return a.node.visible});c.forEach(function(c){var d="level-group-"+c.node.levelDynamic;a[d]||(a[d]=a.chart.renderer.g(d).attr({zIndex:1E3-
c.node.levelDynamic}).add(a.group));c.group=a[d]});f.column.prototype.drawPoints.call(this);this.colorAttribs&&a.chart.styledMode&&this.points.forEach(function(a){a.graphic&&a.graphic.css(this.colorAttribs(a))},this);a.options.allowTraversingTree&&c.forEach(function(c){c.graphic&&(c.drillId=a.options.interactByLeaf?a.drillToByLeaf(c):a.drillToByGroup(c))})},onClickDrillToNode:function(a){var c=(a=a.point)&&a.drillId;q(c)&&(a.setState(""),this.setRootNode(c,!0,{trigger:"click"}))},drillToByGroup:function(a){var c=
!1;1!==a.node.level-this.nodeMap[this.rootNode].level||a.node.isLeaf||(c=a.id);return c},drillToByLeaf:function(a){var c=!1;if(a.node.parent!==this.rootNode&&a.node.isLeaf)for(a=a.node;!c;)a=this.nodeMap[a.parent],a.parent===this.rootNode&&(c=a.id);return c},drillUp:function(){var a=this.nodeMap[this.rootNode];a&&q(a.parent)&&this.setRootNode(a.parent,!0,{trigger:"traverseUpButton"})},drillToNode:function(a,c){m("WARNING: treemap.drillToNode has been renamed to treemap.setRootNode, and will be removed in the next major version.");
this.setRootNode(a,c)},setRootNode:function(a,c,d){a=C({newRootId:a,previousRootId:this.rootNode,redraw:v(c,!0),series:this},d);k(this,"setRootNode",a,function(a){var c=a.series;c.idPreviousRoot=a.previousRootId;c.rootNode=a.newRootId;c.isDirty=!0;a.redraw&&c.chart.redraw()})},renderTraverseUpButton:function(a){var c=this,d=c.options.traverseUpButton,b=v(d.text,c.nodeMap[a].name,"\x3c Back"),e;""===a?c.drillUpButton&&(c.drillUpButton=c.drillUpButton.destroy()):this.drillUpButton?(this.drillUpButton.placed=
!1,this.drillUpButton.attr({text:b}).align()):(e=(a=d.theme)&&a.states,this.drillUpButton=this.chart.renderer.button(b,null,null,function(){c.drillUp()},a,e&&e.hover,e&&e.select).addClass("highcharts-drillup-button").attr({align:d.position.align,zIndex:7}).add().align(d.position,!1,d.relativeTo||"plotBox"))},buildKDTree:A,drawLegendSymbol:b.LegendSymbolMixin.drawRectangle,getExtremes:function(){y.prototype.getExtremes.call(this,this.colorValueData);this.valueMin=this.dataMin;this.valueMax=this.dataMax;
y.prototype.getExtremes.call(this)},getExtremesFromAll:!0,bindAxes:function(){var a={endOnTick:!1,gridLineWidth:0,lineWidth:0,min:0,dataMin:0,minPadding:0,max:100,dataMax:100,maxPadding:0,startOnTick:!1,title:null,tickPositions:[]};y.prototype.bindAxes.call(this);b.extend(this.yAxis.options,a);b.extend(this.xAxis.options,a)},utils:{recursive:w}},{getClassName:function(){var a=b.Point.prototype.getClassName.call(this),c=this.series,d=c.options;this.node.level<=c.nodeMap[c.rootNode].level?a+=" highcharts-above-level":
this.node.isLeaf||v(d.interactByLeaf,!d.allowTraversingTree)?this.node.isLeaf||(a+=" highcharts-internal-node"):a+=" highcharts-internal-node-interactive";return a},isValid:function(){return this.id||F(this.value)},setState:function(a){b.Point.prototype.setState.call(this,a);this.graphic&&this.graphic.attr({zIndex:"hover"===a?1:0})},setVisible:f.pie.prototype.pointClass.prototype.setVisible})})(z,K);(function(b,r,n){var f=b.CenteredSeriesMixin,p=b.Series,D=b.extend,C=f.getCenter,m=n.getColor,l=n.getLevelOptions,
A=f.getStartAndEndRadians,k=b.isNumber,z=b.isObject,K=b.isString,E=b.merge,F=180/Math.PI,f=b.seriesType,L=n.setTreeValues,q=n.updateRootId,v=function(b,g){var e=[];if(k(b)&&k(g)&&b<=g)for(;b<=g;b++)e.push(b);return e},y=function(b,g){var e;g=z(g)?g:{};var f=0,a,c,d,l;z(b)&&(e=E({},b),b=k(g.from)?g.from:0,l=k(g.to)?g.to:0,c=v(b,l),b=Object.keys(e).filter(function(a){return-1===c.indexOf(+a)}),a=d=k(g.diffRadius)?g.diffRadius:0,c.forEach(function(c){c=e[c];var b=c.levelSize.unit,g=c.levelSize.value;
"weight"===b?f+=g:"percentage"===b?(c.levelSize={unit:"pixels",value:g/100*a},d-=c.levelSize.value):"pixels"===b&&(d-=g)}),c.forEach(function(a){var c=e[a];"weight"===c.levelSize.unit&&(c=c.levelSize.value,e[a].levelSize={unit:"pixels",value:c/f*d})}),b.forEach(function(a){e[a].levelSize={value:0,unit:"pixels"}}));return e},M=function(b,g){var e=g.mapIdToNode[b.parent],f=g.series,a=f.chart,c=f.points[b.i],e=m(b,{colors:a&&a.options&&a.options.colors,colorIndex:f.colorIndex,index:g.index,mapOptionsToLevel:g.mapOptionsToLevel,
parentColor:e&&e.color,parentColorIndex:e&&e.colorIndex,series:g.series,siblings:g.siblings});b.color=e.color;b.colorIndex=e.colorIndex;c&&(c.color=b.color,c.colorIndex=b.colorIndex,b.sliced=b.id!==g.idRoot?c.sliced:!1);return b};f("sunburst","treemap",{center:["50%","50%"],colorByPoint:!1,dataLabels:{allowOverlap:!0,defer:!0,style:{textOverflow:"ellipsis"},rotationMode:"auto"},rootId:void 0,levelIsConstant:!0,levelSize:{value:1,unit:"weight"},slicedOffset:10},{drawDataLabels:b.noop,drawPoints:function(){var b=
this,g=b.mapOptionsToLevel,f=b.shapeRoot,l=b.group,a=b.hasRendered,c=b.rootNode,d=b.idPreviousRoot,x=b.nodeMap,h=x[d],q=h&&h.shapeArgs,h=b.points,n=b.startAndEndRadians,t=b.chart,m=t&&t.options&&t.options.chart||{},v="boolean"===typeof m.animation?m.animation:!0,r=b.center[3]/2,A=b.chart.renderer,C,y=!1,I=!1;if(m=!!(v&&a&&c!==d&&b.dataLabelsGroup))b.dataLabelsGroup.attr({opacity:0}),C=function(){y=!0;b.dataLabelsGroup&&b.dataLabelsGroup.animate({opacity:1,visibility:"visible"})};h.forEach(function(e){var h,
w,m=e.node,u=g[m.level];h=e.shapeExisting||{};var p=m.shapeArgs||{},G,y=!(!m.visible||!m.shapeArgs);if(a&&v){var J={};w={end:p.end,start:p.start,innerR:p.innerR,r:p.r,x:p.x,y:p.y};y?!e.graphic&&q&&(J=c===e.id?{start:n.start,end:n.end}:q.end<=p.start?{start:n.end,end:n.end}:{start:n.start,end:n.start},J.innerR=J.r=r):e.graphic&&(d===e.id?w={innerR:r,r:r}:f&&(w=f.end<=h.start?{innerR:r,r:r,start:n.end,end:n.end}:{innerR:r,r:r,start:n.start,end:n.start}));h=J}else w=p,h={};var J=[p.plotX,p.plotY],B;
e.node.isLeaf||(c===e.id?(B=x[c],B=B.parent):B=e.id);D(e,{shapeExisting:p,tooltipPos:J,drillId:B,name:""+(e.name||e.id||e.index),plotX:p.plotX,plotY:p.plotY,value:m.val,isNull:!y});B=e.options;m=z(p)?p:{};B=z(B)?B.dataLabels:{};var u=z(u)?u.dataLabels:{},u=E({style:{}},u,B),H;B=u.rotationMode;k(u.rotation)||("auto"===B&&(1>e.innerArcLength&&e.outerArcLength>m.radius?H=0:B=1<e.innerArcLength&&e.outerArcLength>1.5*m.radius?"parallel":"perpendicular"),"auto"!==B&&(H=m.end-(m.end-m.start)/2),u.style.width=
"parallel"===B?Math.min(2.5*m.radius,(e.outerArcLength+e.innerArcLength)/2):m.radius,"perpendicular"===B&&e.series.chart.renderer.fontMetrics(u.style.fontSize).h>e.outerArcLength&&(u.style.width=1),u.style.width=Math.max(u.style.width-2*(u.padding||0),1),H=H*F%180,"parallel"===B&&(H-=90),90<H?H-=180:-90>H&&(H+=180),u.rotation=H);0===u.rotation&&(u.rotation=.001);e.dlOptions=u;!I&&y&&(I=!0,G=C);e.draw({animatableAttribs:w,attribs:D(h,!t.styledMode&&b.pointAttribs(e,e.selected&&"select")),onComplete:G,
group:l,renderer:A,shapeType:"arc",shapeArgs:p})});m&&I?(b.hasRendered=!1,b.options.dataLabels.defer=!0,p.prototype.drawDataLabels.call(b),b.hasRendered=!0,y&&C()):p.prototype.drawDataLabels.call(b)},pointAttribs:b.seriesTypes.column.prototype.pointAttribs,layoutAlgorithm:function(b,g,f){var e=b.start,a=b.end-e,c=b.val,d=b.x,l=b.y,h=f&&z(f.levelSize)&&k(f.levelSize.value)?f.levelSize.value:0,m=b.r,n=m+h,p=f&&k(f.slicedOffset)?f.slicedOffset:0;return(g||[]).reduce(function(b,g){var f=1/c*g.val*a,k=
e+f/2,q=d+Math.cos(k)*p,k=l+Math.sin(k)*p;g={x:g.sliced?q:d,y:g.sliced?k:l,innerR:m,r:n,radius:h,start:e,end:e+f};b.push(g);e=g.end;return b},[])},setShapeArgs:function(b,g,f){var e=[],a=f[b.level+1];b=b.children.filter(function(a){return a.visible});e=this.layoutAlgorithm(g,b,a);b.forEach(function(a,b){b=e[b];var c=b.start+(b.end-b.start)/2,d=b.innerR+(b.r-b.innerR)/2,g=b.end-b.start,d=0===b.innerR&&6.28<g?{x:b.x,y:b.y}:{x:b.x+Math.cos(c)*d,y:b.y+Math.sin(c)*d},l=a.val?a.childrenTotal>a.val?a.childrenTotal:
a.val:a.childrenTotal;this.points[a.i]&&(this.points[a.i].innerArcLength=g*b.innerR,this.points[a.i].outerArcLength=g*b.r);a.shapeArgs=E(b,{plotX:d.x,plotY:d.y+4*Math.abs(Math.cos(c))});a.values=E(b,{val:l});a.children.length&&this.setShapeArgs(a,a.values,f)},this)},translate:function(){var b=this.options,g=this.center=C.call(this),f=this.startAndEndRadians=A(b.startAngle,b.endAngle),m=g[3]/2,a=g[2]/2-m,c=q(this),d=this.nodeMap,k,h=d&&d[c],n,r;this.shapeRoot=h&&h.shapeArgs;p.prototype.translate.call(this);
r=this.tree=this.getTree();this.renderTraverseUpButton(c);d=this.nodeMap;h=d[c];k=K(h.parent)?h.parent:"";n=d[k];k=l({from:0<h.level?h.level:1,levels:this.options.levels,to:r.height,defaults:{colorByPoint:b.colorByPoint,dataLabels:b.dataLabels,levelIsConstant:b.levelIsConstant,levelSize:b.levelSize,slicedOffset:b.slicedOffset}});k=y(k,{diffRadius:a,from:0<h.level?h.level:1,to:r.height});L(r,{before:M,idRoot:c,levelIsConstant:b.levelIsConstant,mapOptionsToLevel:k,mapIdToNode:d,points:this.points,series:this});
b=d[""].shapeArgs={end:f.end,r:m,start:f.start,val:h.val,x:g[0],y:g[1]};this.setShapeArgs(n,b,k);this.mapOptionsToLevel=k},animate:function(b){var e=this.chart,f=[e.plotWidth/2,e.plotHeight/2],k=e.plotLeft,a=e.plotTop,e=this.group;b?(b={translateX:f[0]+k,translateY:f[1]+a,scaleX:.001,scaleY:.001,rotation:10,opacity:.01},e.attr(b)):(b={translateX:k,translateY:a,scaleX:1,scaleY:1,rotation:0,opacity:1},e.animate(b,this.options.animation),this.animate=null)},utils:{calculateLevelSizes:y,range:v}},{draw:r,
shouldDraw:function(){return!this.isNull}})})(z,N,K)});
//# sourceMappingURL=sunburst.js.map