/* Highcharts Gantt JS v9.1.0 (2021-05-03) Tree Grid (c) 2016-2021 Jon Arild Nygard License: www.highcharts.com/license */ (function(b){"object"===typeof module&&module.exports?(b["default"]=b,module.exports=b):"function"===typeof define&&define.amd?define("highcharts/modules/treegrid",["highcharts"],function(D){b(D);b.Highcharts=D;return b}):b("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(b){function D(b,t,v,q){b.hasOwnProperty(t)||(b[t]=q.apply(null,v))}b=b?b._modules:{};D(b,"Gantt/Tree.js",[b["Core/Utilities.js"]],function(b){var t=b.extend,v=b.isNumber,q=b.pick,p=function(b,n){var h=b.reduce(function(d, h){var k=q(h.parent,"");"undefined"===typeof d[k]&&(d[k]=[]);d[k].push(h);return d},{});Object.keys(h).forEach(function(d,b){var k=h[d];""!==d&&-1===n.indexOf(d)&&(k.forEach(function(d){b[""].push(d)}),delete b[d])});return h},n=function(b,p,h,d,A,k){var l=0,u=0,r=k&&k.after,a=k&&k.before;p={data:d,depth:h-1,id:b,level:h,parent:p};var g,f;"function"===typeof a&&a(p,k);a=(A[b]||[]).map(function(c){var e=n(c.id,b,h+1,c,A,k),m=c.start;c=!0===c.milestone?m:c.end;g=!v(g)||mf?c:f;l=l+ 1+e.descendants;u=Math.max(e.height+1,u);return e});d&&(d.start=q(d.start,g),d.end=q(d.end,f));t(p,{children:a,descendants:l,height:u});"function"===typeof r&&r(p,k);return p};return{getListOfParents:p,getNode:n,getTree:function(b,q){var h=b.map(function(d){return d.id});b=p(b,h);return n("",null,1,null,b,q)}}});D(b,"Core/Axis/TreeGridTick.js",[b["Core/Color/Palette.js"],b["Core/Utilities.js"]],function(b,t){var v=t.addEvent,q=t.isObject,p=t.isNumber,n=t.pick,B=t.wrap,y;(function(h){function d(){this.treeGrid|| (this.treeGrid=new r(this))}function A(a,g){a=a.treeGrid;var f=!a.labelIcon,c=g.renderer,e=g.xy,m=g.options,C=m.width||0,x=m.height||0,d=e.x-C/2-(m.padding||0);e=e.y-x/2;var l=g.collapsed?90:180,h=g.show&&p(e),k=a.labelIcon;k||(a.labelIcon=k=c.path(c.symbols[m.type](m.x||0,m.y||0,C,x)).addClass("highcharts-label-icon").add(g.group));k.attr({y:h?0:-9999});c.styledMode||k.attr({cursor:"pointer",fill:n(g.color,b.neutralColor60),"stroke-width":1,stroke:m.lineColor,strokeWidth:m.lineWidth||0});k[f?"attr": "animate"]({translateX:d,translateY:e,rotation:l})}function k(a,g,f,c,e,m,C,d,l){var x=n(this.options&&this.options.labels,m);m=this.pos;var k=this.axis,h="treegrid"===k.options.type;a=a.apply(this,[g,f,c,e,x,C,d,l]);h&&(g=x&&q(x.symbol,!0)?x.symbol:{},x=x&&p(x.indentation)?x.indentation:0,m=(m=(k=k.treeGrid.mapOfPosToGridNode)&&k[m])&&m.depth||1,a.x+=(g.width||0)+2*(g.padding||0)+(m-1)*x);return a}function l(a){var g=this,f=g.pos,c=g.axis,e=g.label,m=c.treeGrid.mapOfPosToGridNode,C=c.options,x=n(g.options&& g.options.labels,C&&C.labels),d=x&&q(x.symbol,!0)?x.symbol:{},k=(m=m&&m[f])&&m.depth;C="treegrid"===C.type;var l=-1e?this.ticks[m].label.hide():this.ticks[m].label.show(),b-a>e?this.ticks[b].label.hide():this.ticks[b].label.show(),b-ad&&!a.startOnTick&&(f[0]=d),g>h&&g-l=a?(d-a)%h:h-(a-d)%h;return b.inclusive?d<=g:d=b)break;else a.to=b)break;else if(k.isInBreak(g,b)){l-=b-g.from;break}}return l};k.prototype.findBreakAt=function(b,d){return n(d,function(d){return d.fromn;)w-=l;for(;wb.to||g>b.from&&lb.from&&lb.from&&l>b.to&&la&&b>=this.basePointRange&&(a=b),d=void 0;c--;)d&&!1!==d.visible||(d=f[c+1]),b=f[c],!1!==d.visible&&!1!==b.visible&&(d.x-b.x>a&&(d=(b.x+d.x)/2,f.splice(c+1,0,{isNull:!0,x:d}), e.stacking&&this.options.stacking&&(d=e.stacking.stacks[this.stackKey][d]=new v(e,e.options.stackLabels,!1,d,this.stack),d.total=0)),d=b);return this.getGraphPath(f)};p(b,"init",function(){this.brokenAxis||(this.brokenAxis=new A(this))});p(b,"afterInit",function(){"undefined"!==typeof this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)});p(b,"afterSetTickPositions",function(){var a=this.brokenAxis;if(a&&a.hasBreaks){var b=this.tickPositions,d=this.tickPositions.info,c=[],e;for(e=0;e< b.length;e++)a.isInAnyBreak(b[e])||c.push(b[e]);this.tickPositions=c;this.tickPositions.info=d}});p(b,"afterSetOptions",function(){this.brokenAxis&&this.brokenAxis.hasBreaks&&(this.options.ordinal=!1)});p(k,"afterGeneratePoints",function(){var a=this.options.connectNulls,b=this.points,d=this.xAxis,c=this.yAxis;if(this.isDirty)for(var e=b.length;e--;){var h=b[e],k=!(null===h.y&&!1===a)&&(d&&d.brokenAxis&&d.brokenAxis.isInAnyBreak(h.x,!0)||c&&c.brokenAxis&&c.brokenAxis.isInAnyBreak(h.y,!0));h.visible= k?!1:!1!==h.options.visible}});p(k,"afterRender",function(){this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,d(this.pointArrayMap,["y"]))})};return b}();q.compose(b,t);return q});D(b,"Core/Axis/TreeGridAxis.js",[b["Core/Axis/Axis.js"],b["Core/Axis/Tick.js"],b["Gantt/Tree.js"],b["Core/Axis/TreeGridTick.js"],b["Mixins/TreeSeries.js"],b["Core/Utilities.js"]],function(b,t,v,q,p,n){var B=p.getLevelOptions,y=n.addEvent,h=n.find,d=n.fireEvent,A=n.isArray,k=n.isObject,l=n.isString,u=n.merge,r= n.pick,a=n.wrap,g;(function(b){function c(a,b){var c=a.collapseStart||0;a=a.collapseEnd||0;a>=b&&(c-=.5);return{from:c,to:a,showPoints:!1}}function e(a,b,c){var e=[],d=[],f={},g={},z=-1,m="boolean"===typeof b?b:!1;a=v.getTree(a,{after:function(a){a=g[a.pos];var b=0,c=0;a.children.forEach(function(a){c+=(a.descendants||0)+1;b=Math.max((a.height||0)+1,b)});a.descendants=c;a.height=b;a.collapsed&&d.push(a)},before:function(a){var b=k(a.data,!0)?a.data:{},c=l(b.name)?b.name:"",d=f[a.parent];d=k(d,!0)? g[d.pos]:null;var n=function(a){return a.name===c},p;m&&k(d,!0)&&(p=h(d.children,n))?(n=p.pos,p.nodes.push(a)):n=z++;g[n]||(g[n]=p={depth:d?d.depth+1:0,name:c,id:b.id,nodes:[a],children:[],pos:n},-1!==n&&e.push(c),k(d,!0)&&d.children.push(p));l(a.id)&&(f[a.id]=a);p&&!0===b.collapsed&&(p.collapsed=!0);a.pos=n}});g=function(a,b){var c=function(a,d,e){var f=d+(-1===d?0:b-1),g=(f-d)/2,h=d+g;a.nodes.forEach(function(a){var b=a.data;k(b,!0)&&(b.y=d+(b.seriesIndex||0),delete b.seriesIndex);a.pos=h});e[h]= a;a.pos=h;a.tickmarkOffset=g+.5;a.collapseStart=f+.5;a.children.forEach(function(a){c(a,f+1,e);f=(a.collapseEnd||0)-.5});a.collapseEnd=f+.5;return e};return c(a["-1"],-1,{})}(g,c);return{categories:e,mapOfIdToNode:f,mapOfPosToGridNode:g,collapsedNodes:d,tree:a}}function f(a){a.target.axes.filter(function(a){return"treegrid"===a.options.type}).forEach(function(b){var c=b.options||{},d=c.labels,f=c.uniqueNames,g=0;c=c.max;if(!b.treeGrid.mapOfPosToGridNode||b.series.some(function(a){return!a.hasRendered|| a.isDirtyData||a.isDirty})){var h=b.series.reduce(function(a,b){b.visible&&((b.options.data||[]).forEach(function(c){b.options.keys&&b.options.keys.length&&(c=b.pointClass.prototype.optionsToObject.call({series:b},c),b.pointClass.setGanttPointAliases(c));k(c,!0)&&(c.seriesIndex=g,a.push(c))}),!0===f&&g++);return a},[]);if(c&&h.length=b&&e<=c)||a.brokenAxis&&a.brokenAxis.isInAnyBreak(e)||d.push(e);return d},[])};a.prototype.isCollapsed=function(a){var b=this.axis,d=b.options.breaks||[],e=c(a,b.max);return d.some(function(a){return a.from===e.from&&a.to===e.to})};a.prototype.toggleCollapse=function(a){return this.isCollapsed(a)?this.expand(a):this.collapse(a)};return a}();b.Additions=H})(g||(g={}));b.prototype.utils={getNode:v.getNode};g.compose(b);return g});D(b,"masters/modules/treegrid.src.js", [],function(){})}); //# sourceMappingURL=treegrid.js.map