/* Highcharts Gantt JS v8.1.2 (2020-06-16) Tree Grid (c) 2016-2019 Jon Arild Nygard License: www.highcharts.com/license */ (function(a){"object"===typeof module&&module.exports?(a["default"]=a,module.exports=a):"function"===typeof define&&define.amd?define("highcharts/modules/treegrid",["highcharts"],function(B){a(B);a.Highcharts=B;return a}):a("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(a){function B(a,u,w,I){a.hasOwnProperty(u)||(a[u]=I.apply(null,w))}a=a?a._modules:{};B(a,"parts-gantt/Tree.js",[a["parts/Utilities.js"]],function(a){var u=a.extend,w=a.isNumber,A=a.pick,g=function(a,n){var m=a.reduce(function(f, m){var a=A(m.parent,"");"undefined"===typeof f[a]&&(f[a]=[]);f[a].push(m);return f},{});Object.keys(m).forEach(function(f,a){var t=m[f];""!==f&&-1===n.indexOf(f)&&(t.forEach(function(f){a[""].push(f)}),delete a[f])});return m},q=function(a,n,m,f,G,g){var y=0,k=0,z=g&&g.after,c=g&&g.before;n={data:f,depth:m-1,id:a,level:m,parent:n};var d,h;"function"===typeof c&&c(n,g);c=(G[a]||[]).map(function(c){var b=q(c.id,a,m+1,c,G,g),e=c.start;c=!0===c.milestone?e:c.end;d=!w(d)||eh?c:h;y=y+ 1+b.descendants;k=Math.max(b.height+1,k);return b});f&&(f.start=A(f.start,d),f.end=A(f.end,h));u(n,{children:c,descendants:y,height:k});"function"===typeof z&&z(n,g);return n};return{getListOfParents:g,getNode:q,getTree:function(a,n){var m=a.map(function(f){return f.id});a=g(a,m);return q("",null,1,null,a,n)}}});B(a,"parts-gantt/TreeGridTick.js",[a["parts/Utilities.js"]],function(a){var u=a.addEvent,w=a.defined,A=a.isObject,g=a.isNumber,q=a.pick,t=a.wrap,n;(function(a){function f(){this.treeGrid|| (this.treeGrid=new z(this))}function m(c,d){c=c.treeGrid;var h=!c.labelIcon,p=d.renderer,b=d.xy,e=d.options,l=e.width,D=e.height,E=b.x-l/2-e.padding;b=b.y-D/2;var a=d.collapsed?90:180,f=d.show&&g(b),v=c.labelIcon;v||(c.labelIcon=v=p.path(p.symbols[e.type](e.x,e.y,l,D)).addClass("highcharts-label-icon").add(d.group));f||v.attr({y:-9999});p.styledMode||v.attr({"stroke-width":1,fill:q(d.color,"#666666")}).css({cursor:"pointer",stroke:e.lineColor,strokeWidth:e.lineWidth});v[h?"attr":"animate"]({translateX:E, translateY:b,rotation:a})}function n(c,d,h,p,b,e,l,D,E){var a=q(this.options&&this.options.labels,e);e=this.pos;var f=this.axis,v="treegrid"===f.options.type;c=c.apply(this,[d,h,p,b,a,l,D,E]);v&&(d=a&&A(a.symbol,!0)?a.symbol:{},a=a&&g(a.indentation)?a.indentation:0,e=(e=(f=f.treeGrid.mapOfPosToGridNode)&&f[e])&&e.depth||1,c.x+=d.width+2*d.padding+(e-1)*a);return c}function y(c){var d=this,h=d.pos,a=d.axis,b=d.label,e=a.treeGrid.mapOfPosToGridNode,l=a.options,D=q(d.options&&d.options.labels,l&&l.labels), E=D&&A(D.symbol,!0)?D.symbol:{},f=(e=e&&e[h])&&e.depth;l="treegrid"===l.type;var k=-1f&&!a.startOnTick&&(d[0]=f),h>k&&h-r=d?(f-d)%c: c-(d-f)%c;return a.inclusive?f<=h:f=a)break;else d.to=a)break;else if(g.isInBreak(h,a)){c-=a-h.from;break}}return c};g.prototype.findBreakAt=function(a,f){return q(f, function(c){return c.fromp;)x-=k;for(;xd.to||h>d.from&&kd.from&&kd.from&&k>d.to&&ka&&c>=this.basePointRange&&(a=c),g=void 0;b--;)g&&!1!==g.visible||(g=f[b+1]),c=f[b],!1!==g.visible&&!1!==c.visible&&(g.x-c.x>a&&(g=(c.x+g.x)/2,f.splice(b+1,0,{isNull:!0,x:g}),e.stacking&&this.options.stacking&&(g=e.stacking.stacks[this.stackKey][g]=new B(e,e.options.stackLabels,!1,g,this.stack),g.total=0)),g=c);return this.getGraphPath(f)};g(a,"init", function(){this.brokenAxis||(this.brokenAxis=new C(this))});g(a,"afterInit",function(){"undefined"!==typeof this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)});g(a,"afterSetTickPositions",function(){var a=this.brokenAxis;if(a&&a.hasBreaks){var c=this.tickPositions,f=this.tickPositions.info,b=[],e;for(e=0;e=b&&(c-=.5);return{from:c,to:a,showPoints:!1}}function d(a,b,c){var d=[],e=[],f={},g={},h=-1,r="boolean"===typeof b? b:!1;a=w.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&&e.push(a)},before:function(a){var b=A(a.data,!0)?a.data:{},c=C(b.name)?b.name:"",e=f[a.parent];e=A(e,!0)?g[e.pos]:null;var k=function(a){return a.name===c},l;r&&A(e,!0)&&(l=n(e.children,k))?(k=l.pos,l.nodes.push(a)):k=h++;g[k]||(g[k]=l={depth:e?e.depth+1:0,name:c,nodes:[a],children:[],pos:k},-1!==k&&d.push(c),A(e, !0)&&e.children.push(l));C(a.id)&&(f[a.id]=a);l&&!0===b.collapsed&&(l.collapsed=!0);a.pos=k}});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;A(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:d,mapOfIdToNode:f, mapOfPosToGridNode:g,collapsedNodes:e,tree:a}}function b(a){a.target.axes.filter(function(a){return"treegrid"===a.options.type}).forEach(function(b){var c=b.options||{},e=c.labels,f=c.uniqueNames,h=0;if(!b.treeGrid.mapOfPosToGridNode||b.series.some(function(a){return!a.hasRendered||a.isDirtyData||a.isDirty}))c=b.series.reduce(function(a,b){b.visible&&((b.options.data||[]).forEach(function(b){A(b,!0)&&(b.seriesIndex=h,a.push(b))}),!0===f&&h++);return a},[]),c=d(c,f||!1,!0===f?h:1),b.categories=c.categories, b.treeGrid.mapOfPosToGridNode=c.mapOfPosToGridNode,b.hasNames=!0,b.treeGrid.tree=c.tree,b.series.forEach(function(a){var b=(a.options.data||[]).map(function(a){return A(a,!0)?y(a):a});a.visible&&a.setData(b,!1)}),b.treeGrid.mapOptionsToLevel=g.getLevelOptions({defaults:e,from:1,levels:e&&e.levels,to:b.treeGrid.tree&&b.treeGrid.tree.height}),"beforeRender"===a.type&&(b.treeGrid.collapsedNodes=c.collapsedNodes)})}function e(a,b){var c=this.treeGrid.mapOptionsToLevel||{},d=this.ticks,e=d[b],f;if("treegrid"=== this.options.type&&this.treeGrid.mapOfPosToGridNode){var g=this.treeGrid.mapOfPosToGridNode[b];(c=c[g.depth])&&(f={labels:c});e?(e.parameters.category=g.name,e.options=f,e.addLabel()):d[b]=new u(this,b,void 0,void 0,{category:g.name,tickmarkOffset:g.tickmarkOffset,options:f})}else a.apply(this,Array.prototype.slice.call(arguments,1))}function l(a){var b=this.options;b=(b=b&&b.labels)&&f(b.indentation)?b.indentation:0;var c=a.apply(this,Array.prototype.slice.call(arguments,1));if("treegrid"===this.options.type&& this.treeGrid.mapOfPosToGridNode){var d=this.treeGrid.mapOfPosToGridNode[-1].height||0;c.width+=b*(d-1)}return c}function q(a,c,e){var f=this,g="treegrid"===e.type;f.treeGrid||(f.treeGrid=new H(f));g&&(t(c,"beforeRender",b),t(c,"beforeRedraw",b),t(c,"addSeries",function(a){a.options.data&&(a=d(a.options.data,e.uniqueNames||!1,1),f.treeGrid.collapsedNodes=(f.treeGrid.collapsedNodes||[]).concat(a.collapsedNodes))}),t(f,"foundExtremes",function(){f.treeGrid.collapsedNodes&&f.treeGrid.collapsedNodes.forEach(function(a){var b= f.treeGrid.collapse(a);f.brokenAxis&&(f.brokenAxis.setBreaks(b,!1),f.treeGrid.collapsedNodes&&(f.treeGrid.collapsedNodes=f.treeGrid.collapsedNodes.filter(function(b){return a.collapseStart!==b.collapseStart||a.collapseEnd!==b.collapseEnd})))})}),t(f,"afterBreaks",function(){var a;"yAxis"===f.coll&&!f.staticScale&&(null===(a=f.chart.options.chart)||void 0===a?0:a.height)&&(f.isDirty=!0)}),e=y({grid:{enabled:!0},labels:{align:"left",levels:[{level:void 0},{level:1,style:{fontWeight:"bold"}}],symbol:{type:"triangle", x:-5,y:-5,height:10,width:10,padding:5}},uniqueNames:!1},e,{reversed:!0,grid:{columns:void 0}}));a.apply(f,[c,e]);g&&(f.hasNames=!0,f.options.showLastLabel=!0)}function E(a){var b=this.options;"treegrid"===b.type?(this.min=k(this.userMin,b.min,this.dataMin),this.max=k(this.userMax,b.max,this.dataMax),m(this,"foundExtremes"),this.setAxisTranslation(!0),this.tickmarkOffset=.5,this.tickInterval=1,this.tickPositions=this.treeGrid.mapOfPosToGridNode?this.treeGrid.getTickPositions():[]):a.apply(this,Array.prototype.slice.call(arguments, 1))}var G=!1;a.compose=function(a){G||(z(a.prototype,"generateTick",e),z(a.prototype,"getMaxLabelDimensions",l),z(a.prototype,"init",q),z(a.prototype,"setTickInterval",E),B.compose(u),G=!0)};var H=function(){function a(a){this.axis=a}a.prototype.collapse=function(a){var b=this.axis,d=b.options.breaks||[];a=c(a,b.max);d.push(a);return d};a.prototype.expand=function(a){var b=this.axis,d=b.options.breaks||[],e=c(a,b.max);return d.reduce(function(a,b){b.to===e.to&&b.from===e.from||a.push(b);return a}, [])};a.prototype.getTickPositions=function(){var a=this.axis;return Object.keys(a.treeGrid.mapOfPosToGridNode||{}).reduce(function(b,c){c=+c;!(a.min<=c&&a.max>=c)||a.brokenAxis&&a.brokenAxis.isInAnyBreak(c)||b.push(c);return b},[])};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}();a.Additions= H})(c||(c={}));a.prototype.utils={getNode:w.getNode};c.compose(a);return c});B(a,"masters/modules/treegrid.src.js",[],function(){})}); //# sourceMappingURL=treegrid.js.map