/* Highcharts Gantt JS v8.1.0 (2020-05-05) Tree Grid (c) 2016-2019 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(E){b(E);b.Highcharts=E;return b}):b("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(b){function E(b,r,y,t){b.hasOwnProperty(r)||(b[r]=t.apply(null,y))}b=b?b._modules:{};E(b,"parts-gantt/Tree.js",[b["parts/Utilities.js"]],function(b){var r=b.extend,y=b.isNumber,t=b.pick,k=function(b,g){var n=b.reduce(function(d, u){var n=t(u.parent,"");"undefined"===typeof d[n]&&(d[n]=[]);d[n].push(u);return d},{});Object.keys(n).forEach(function(d,u){var b=n[d];""!==d&&-1===g.indexOf(d)&&(b.forEach(function(d){u[""].push(d)}),delete u[d])});return n},g=function(b,k,n,d,u,z){var A=0,m=0,v=z&&z.after,e=z&&z.before;k={data:d,depth:n-1,id:b,level:n,parent:k};var c,h;"function"===typeof e&&e(k,z);e=(u[b]||[]).map(function(e){var a=g(e.id,b,n+1,e,u,z),f=e.start;e=!0===e.milestone?f:e.end;c=!y(c)||fh?e:h;A=A+ 1+a.descendants;m=Math.max(a.height+1,m);return a});d&&(d.start=t(d.start,c),d.end=t(d.end,h));r(k,{children:e,descendants:A,height:m});"function"===typeof v&&v(k,z);return k};return{getListOfParents:k,getNode:g,getTree:function(b,r){var n=b.map(function(d){return d.id});b=k(b,n);return g("",null,1,null,b,r)}}});E(b,"parts-gantt/TreeGridTick.js",[b["parts/Utilities.js"]],function(b){var r=b.addEvent,y=b.defined,t=b.isObject,k=b.isNumber,g=b.pick,B=b.wrap,C;(function(b){function d(){this.treeGrid|| (this.treeGrid=new v(this))}function n(e,c){e=e.treeGrid;var h=!e.labelIcon,p=c.renderer,a=c.xy,f=c.options,l=f.width,D=f.height,G=a.x-l/2-f.padding;a=a.y-D/2;var d=c.collapsed?90:180,b=c.show&&k(a),w=e.labelIcon;w||(e.labelIcon=w=p.path(p.symbols[f.type](f.x,f.y,l,D)).addClass("highcharts-label-icon").add(c.group));b||w.attr({y:-9999});p.styledMode||w.attr({"stroke-width":1,fill:g(c.color,"#666666")}).css({cursor:"pointer",stroke:f.lineColor,strokeWidth:f.lineWidth});w[h?"attr":"animate"]({translateX:G, translateY:a,rotation:d})}function z(e,c,h,p,a,f,l,D,G){var d=g(this.options&&this.options.labels,f);f=this.pos;var b=this.axis,w="treegrid"===b.options.type;e=e.apply(this,[c,h,p,a,d,l,D,G]);w&&(c=d&&t(d.symbol,!0)?d.symbol:{},d=d&&k(d.indentation)?d.indentation:0,f=(f=(b=b.treeGrid.mapOfPosToGridNode)&&b[f])&&f.depth||1,e.x+=c.width+2*c.padding+(f-1)*d);return e}function A(e){var c=this,h=c.pos,d=c.axis,a=c.label,f=d.treeGrid.mapOfPosToGridNode,l=d.options,D=g(c.options&&c.options.labels,l&&l.labels), G=D&&t(D.symbol,!0)?D.symbol:{},b=(f=f&&f[h])&&f.depth;l="treegrid"===l.type;var m=-1h&&!a.startOnTick&&(e[0]=h),d>m&&d-q=c?(d-c)%e:e-(c-d)%e;return b.inclusive? d<=h:d=b)break;else c.to=b)break;else if(k.isInBreak(h,b)){e-=b-h.from;break}}return e};k.prototype.findBreakAt=function(b,d){return g(d,function(d){return d.from< b&&bm;)x-=g;for(;xb.to||h>b.from&&kb.from&&kb.from&&k>b.to&&kc&&b>=this.basePointRange&&(c=b),e=void 0;a--;)e&&!1!==e.visible||(e=d[a+1]),b=d[a],!1!==e.visible&&!1!==b.visible&&(e.x-b.x>c&&(e=(b.x+e.x)/2,d.splice(a+1,0,{isNull:!0,x:e}),f.stacking&&this.options.stacking&&(e=f.stacking.stacks[this.stackKey][e]=new t(f,f.options.stackLabels,!1,e,this.stack),e.total=0)),e=b);return this.getGraphPath(d)};k(b,"init",function(){this.brokenAxis||(this.brokenAxis=new z(this))}); k(b,"afterInit",function(){"undefined"!==typeof this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)});k(b,"afterSetTickPositions",function(){var c=this.brokenAxis;if(c&&c.hasBreaks){var b=this.tickPositions,e=this.tickPositions.info,a=[],d;for(d=0;d=c&&(b-=.5);return{from:b,to:a,showPoints:!1}}function e(a,b,c){var e=[],d=[],f={},g={},h=-1,q="boolean"===typeof b?b:!1;a=y.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=u(a.data,!0)?a.data:{},c=z(b.name)?b.name:"",d=f[a.parent];d=u(d,!0)?g[d.pos]:null;var k=function(a){return a.name===c},l;q&&u(d,!0)&&(l=C(d.children,k))?(k=l.pos,l.nodes.push(a)):k=h++;g[k]||(g[k]=l={depth:d?d.depth+1:0,name:c,nodes:[a],children:[],pos:k},-1!==k&&e.push(c),u(d,!0)&&d.children.push(l));z(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;u(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 a(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;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){u(b,!0)&&(b.seriesIndex=g,a.push(b))}),!0===f&&g++);return a},[]),c=e(c,f||!1,!0===f?g: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 u(a,!0)?A(a):a});a.visible&&a.setData(b,!1)}),b.treeGrid.mapOptionsToLevel=k.getLevelOptions({defaults:d,from:1,levels:d&&d.levels,to:b.treeGrid.tree&&b.treeGrid.tree.height}),"beforeRender"===a.type&&(b.treeGrid.collapsedNodes=c.collapsedNodes)})}function f(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 r(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 g(a){var b=this.options;b=(b=b&&b.labels)&&d(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 e=this.treeGrid.mapOfPosToGridNode[-1].height||0;c.width+=b*(e- 1)}return c}function D(b,c,d){var f=this,g="treegrid"===d.type;f.treeGrid||(f.treeGrid=new I(f));g&&(B(c,"beforeRender",a),B(c,"beforeRedraw",a),B(c,"addSeries",function(a){a.options.data&&(a=e(a.options.data,d.uniqueNames||!1,1),f.treeGrid.collapsedNodes=(f.treeGrid.collapsedNodes||[]).concat(a.collapsedNodes))}),B(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})))})}),d=A({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},d,{reversed:!0,grid:{columns:void 0}}));b.apply(f,[c,d]);g&&(f.hasNames=!0,f.options.showLastLabel=!0)}function E(a){var b=this.options;"treegrid"===b.type?(this.min= m(this.userMin,b.min,this.dataMin),this.max=m(this.userMax,b.max,this.dataMax),n(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 H=!1;c.compose=function(a){H||(v(a.prototype,"generateTick",f),v(a.prototype,"getMaxLabelDimensions",g),v(a.prototype,"init",D),v(a.prototype,"setTickInterval",E),t.compose(r),H=!0)}; var I=function(){function a(a){this.axis=a}a.prototype.collapse=function(a){var c=this.axis,d=c.options.breaks||[];a=b(a,c.max);d.push(a);return d};a.prototype.expand=function(a){var c=this.axis,d=c.options.breaks||[],e=b(a,c.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 c=this.axis,d=c.options.breaks||[],e=b(a,c.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}();c.Additions=I})(e||(e={}));b.prototype.utils={getNode:y.getNode};e.compose(b);return e});E(b,"masters/modules/treegrid.src.js",[],function(){})}); //# sourceMappingURL=treegrid.js.map