/** * Highcharts Gantt JS v11.2.0 (2023-10-30) * * Tree Grid * * (c) 2016-2021 Jon Arild Nygard * * License: www.highcharts.com/license */!function(e){"object"==typeof module&&module.exports?(e.default=e,module.exports=e):"function"==typeof define&&define.amd?define("highcharts/modules/treegrid",["highcharts"],function(t){return e(t),e.Highcharts=t,e}):e("undefined"!=typeof Highcharts?Highcharts:void 0)}(function(e){"use strict";var t=e?e._modules:{};function i(e,t,i,s){e.hasOwnProperty(t)||(e[t]=s.apply(null,i),"function"==typeof CustomEvent&&window.dispatchEvent(new CustomEvent("HighchartsModuleLoaded",{detail:{path:t,module:e[t]}})))}i(t,"Core/Axis/BrokenAxis.js",[t["Core/Axis/Stacking/StackItem.js"],t["Core/Utilities.js"]],function(e,t){var i;let{addEvent:s,find:o,fireEvent:r,isArray:n,isNumber:l,pick:a}=t;return function(i){let d=[];function h(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function c(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function p(){let e=this.brokenAxis;if(e?.hasBreaks){let t=this.tickPositions,i=this.tickPositions.info,s=[];for(let i=0;it.to||s>t.from&&ot.from&&ot.from&&o>t.to&&o0){let t,l;for("value"!==this.options.gapUnit&&(r*=this.basePointRange),i&&i>r&&i>=this.basePointRange&&(r=i);n--;)if(l&&!1!==l.visible||(l=s[n+1]),t=s[n],!1!==l.visible&&!1!==t.visible){if(l.x-t.x>r){let i=(t.x+l.x)/2;s.splice(n+1,0,{isNull:!0,x:i}),o.stacking&&this.options.stacking&&((o.stacking.stacks[this.stackKey][i]=new e(o,o.options.stackLabels,!1,i,this.stack)).total=0)}l=t}}return this.getGraphPath(s)}i.compose=function(e,i){if(t.pushUnique(d,e)&&(e.keepProps.push("brokenAxis"),s(e,"init",f),s(e,"afterInit",h),s(e,"afterSetTickPositions",p),s(e,"afterSetOptions",c)),t.pushUnique(d,i)){let e=i.prototype;e.drawBreaks=m,e.gappedPath=k,s(i,"afterGeneratePoints",u),s(i,"afterRender",g)}return e};class x{static isInBreak(e,t){let i=e.repeat||1/0,s=e.from,o=e.to-e.from,r=t>=s?(t-s)%i:i-(s-t)%i;return e.inclusive?r<=o:r=s);r++)o.to=e)break;else if(x.isInBreak(o,e)){s-=e-o.from;break}return s}constructor(e){this.hasBreaks=!1,this.axis=e}findBreakAt(e,t){return o(t,function(t){return t.fromp;)u-=c;for(;ue.render()),!this.horiz&&this.chart.hasRendered&&(this.scrollbar||this.linkedParent&&this.linkedParent.scrollbar)){let e,t;let s=this.tickmarkOffset,r=this.tickPositions[this.tickPositions.length-1],n=this.tickPositions[0];for(;(e=this.hiddenLabels.pop())&&e.element;)e.show();for(;(t=this.hiddenMarks.pop())&&t.element;)t.show();(e=this.ticks[n].label)&&(i-n>s?this.hiddenLabels.push(e.hide()):e.show()),(e=this.ticks[r].label)&&(r-o>s?this.hiddenLabels.push(e.hide()):e.show());let l=this.ticks[r].mark;l&&r-o0&&this.ticks[r].isLast&&this.hiddenMarks.push(l.hide())}}}function P(){let e=this.tickPositions&&this.tickPositions.info,t=this.options,i=t.grid||{},s=this.userOptions.labels||{};i.enabled&&(this.horiz?(this.series.forEach(e=>{e.options.pointRange=0}),e&&t.dateTimeLabelFormats&&t.labels&&!l(s.align)&&(!1===t.dateTimeLabelFormats[e.unitName].range||e.count>1)&&(t.labels.align="left",l(s.x)||(t.labels.x=3))):"treegrid"!==this.options.type&&this.grid&&this.grid.columns&&(this.minPointOffset=this.tickInterval))}function A(e){let t;let i=this.options,s=e.userOptions,o=i&&k(i.grid)?i.grid:{};!0===o.enabled&&(t=p(!0,{className:"highcharts-grid-axis "+(s.className||""),dateTimeLabelFormats:{hour:{list:["%H:%M","%H"]},day:{list:["%A, %e. %B","%a, %e. %b","%E"]},week:{list:["Week %W","W%W"]},month:{list:["%B","%b","%o"]}},grid:{borderWidth:1},labels:{padding:2,style:{fontSize:"0.9em"}},margin:0,title:{text:null,reserveSpace:!1,rotation:0},units:[["millisecond",[1,10,100]],["second",[1,10]],["minute",[1,5,15]],["hour",[1,6]],["day",[1]],["week",[1]],["month",[1]],["year",null]]},s),"xAxis"===this.coll&&(l(s.linkedTo)&&!l(s.tickPixelInterval)&&(t.tickPixelInterval=350),!l(s.tickPixelInterval)&&l(s.linkedTo)&&!l(s.tickPositioner)&&!l(s.tickInterval)&&(t.tickPositioner=function(e,i){let s=this.linkedParent&&this.linkedParent.tickPositions&&this.linkedParent.tickPositions.info;if(s){let o=t.units||[],r,n=1,l="year";for(let e=0;ee.setScale())}function C(e){let{horiz:t,maxLabelDimensions:i,options:{grid:s={}}}=this;if(s.enabled&&i){let o=2*this.options.labels.distance,r=t?s.cellHeight||o+i.height:o+i.width;h(e.tickSize)?e.tickSize[0]=r:e.tickSize=[r,0]}}function O(){this.axes.forEach(e=>{(e.grid&&e.grid.columns||[]).forEach(e=>{e.setAxisSize(),e.setAxisTranslation()})})}function I(e){let{grid:t}=this;(t.columns||[]).forEach(t=>t.destroy(e.keepEvents)),t.columns=void 0}function w(e){let t=e.userOptions||{},i=t.grid||{};i.enabled&&l(i.borderColor)&&(t.tickColor=t.lineColor=i.borderColor),this.grid||(this.grid=new M(this)),this.hiddenLabels=[],this.hiddenMarks=[]}function E(e){let t=this.label,i=this.axis,o=i.reversed,r=i.chart,n=i.options,l=n.grid||{},a=i.options.labels,d=a.align,h=s[i.side],p=e.tickmarkOffset,f=i.tickPositions,u=this.pos-p,g=c(f[e.index+1])?f[e.index+1]-p:(i.max||0)+p,m=i.tickSize("tick"),k=m?m[0]:0,x=m?m[1]/2:0;if(!0===l.enabled){let s,n,l,c;if("top"===h?n=(s=i.top+i.offset)-k:"bottom"===h?s=(n=r.chartHeight-i.bottom+i.offset)+k:(s=i.top+i.len-(i.translate(o?g:u)||0),n=i.top+i.len-(i.translate(o?u:g)||0)),"right"===h?c=(l=r.chartWidth-i.right+i.offset)+k:"left"===h?l=(c=i.left+i.offset)-k:(l=Math.round(i.left+(i.translate(o?g:u)||0))-x,c=Math.min(Math.round(i.left+(i.translate(o?u:g)||0))-x,i.left+i.len)),this.slotWidth=c-l,e.pos.x="left"===d?l:"right"===d?c:l+(c-l)/2,e.pos.y=n+(s-n)/2,t){let i=r.renderer.fontMetrics(t),s=t.getBBox().height;if(a.useHTML)e.pos.y+=i.b+-(s/2);else{let t=Math.round(s/i.h);e.pos.y+=(i.b-(i.h-i.f))/2+-((t-1)*i.h/2)}}e.pos.x+=i.horiz&&a.x||0}}function L(e){let{axis:i,value:s}=e;if(i.options.grid&&i.options.grid.enabled){let o;let r=i.tickPositions,n=(i.linkedParent||i).series[0],l=s===r[0],a=s===r[r.length-1],h=n&&d(n.options.data,function(e){return e[i.isXAxis?"x":"y"]===s});h&&n.is("gantt")&&(o=p(h),t.seriesTypes.gantt.prototype.pointClass.setGanttPointAliases(o)),e.isFirst=l,e.isLast=a,e.point=o}}function N(){let e=this.options,t=e.grid||{},i=this.categories,s=this.tickPositions,o=s[0],r=s[s.length-1],n=this.linkedParent&&this.linkedParent.min,l=this.linkedParent&&this.linkedParent.max,a=n||this.min,d=l||this.max,h=this.tickInterval;!0===t.enabled&&!i&&(this.horiz||this.isLinked)&&(oa&&!e.startOnTick&&(s[0]=a),r>d&&r-h{t.side!==e.side||t.options.isInternal||(n=i,t!==o||(r=i))}),n===r&&(!c(i)||s.length===i)}renderBorder(e){let t=this.axis,i=t.chart.renderer,s=t.options,o=i.path(e).addClass("highcharts-axis-line").add(t.axisBorder);return i.styledMode||o.attr({stroke:s.lineColor,"stroke-width":s.lineWidth,zIndex:7}),o}}return r.E=function(e){return this.dateFormat("%a",e,!0).charAt(0)},r.W=function(e){let t=this,i=new this.Date(e);["Hours","Milliseconds","Minutes","Seconds"].forEach(function(e){t.set(e,i,0)});let s=(this.get("Day",i)+6)%7,o=new this.Date(i.valueOf());this.set("Date",o,this.get("Date",i)-s+3);let r=new this.Date(this.get("FullYear",o),0,1);return 4!==this.get("Day",r)&&(this.set("Month",i,0),this.set("Date",i,1+(11-this.get("Day",r))%7)),(1+Math.floor((o.valueOf()-r.valueOf())/6048e5)).toString()},{compose:function(e,t,s){return i.pushUnique(m,e)&&(e.keepProps.push("grid"),e.prototype.getMaxLabelDimensions=x,g(e.prototype,"unsquish",S),n(e,"init",w),n(e,"afterGetOffset",b),n(e,"afterGetTitlePosition",y),n(e,"afterInit",v),n(e,"afterRender",G),n(e,"afterSetAxisTranslation",P),n(e,"afterSetOptions",A),n(e,"afterSetOptions",T),n(e,"afterSetScale",B),n(e,"afterTickSize",C),n(e,"trimTicks",N),n(e,"destroy",I)),i.pushUnique(m,t)&&n(t,"afterSetChartSize",O),i.pushUnique(m,s)&&(n(s,"afterGetLabelPosition",E),n(s,"labelFormat",L)),e}}}),i(t,"Gantt/Tree.js",[t["Core/Utilities.js"]],function(e){let{extend:t,isNumber:i,pick:s}=e;function o(e,r,n,l,a,d){let h=d&&d.after,c=d&&d.before,p={data:l,depth:n-1,id:e,level:n,parent:r||""},f=0,u=0,g,m;"function"==typeof c&&c(p,d);let k=(a[e]||[]).map(t=>{let s=o(t.id,e,n+1,t,a,d),r=t.start||NaN,l=!0===t.milestone?r:t.end||NaN;return g=!i(g)||rm?l:m,f=f+1+s.descendants,u=Math.max(s.height+1,u),s});return l&&(l.start=s(l.start,g),l.end=s(l.end,m)),t(p,{children:k,descendants:f,height:u}),"function"==typeof h&&h(p,d),p}return{getNode:o,getTree:function(e,t){let i=function(e){let t=e.reduce((e,t)=>{let i=s(t.parent,"");return void 0===e[i]&&(e[i]=[]),e[i].push(t),e},{});return t}(e);return o("",null,1,null,i,t)}}}),i(t,"Core/Axis/TreeGrid/TreeGridTick.js",[t["Core/Utilities.js"]],function(e){let{addEvent:t,isObject:i,isNumber:s,pick:o,wrap:r}=e,n=[];function l(){this.treeGrid||(this.treeGrid=new h(this))}function a(e,t,r,n,l,a,d,h,c){let p,f,u,g,m;let k=o(this.options&&this.options.labels,a),x=this.pos,b=this.axis,y=b.options,v="treegrid"===y.type,G=e.apply(this,[t,r,n,l,k,d,h,c]);return v&&(p=k&&i(k.symbol,!0)?k.symbol:{},f=k&&s(k.indentation)?k.indentation:0,m=(g=(u=b.treeGrid.mapOfPosToGridNode)&&u[x])&&g.depth||1,G.x+=(p.width||0)+2*(p.padding||0)+(m-1)*f),G}function d(e){let r,n,l;let a=this,d=a.pos,h=a.axis,c=a.label,p=h.treeGrid.mapOfPosToGridNode,f=h.options,u=o(a.options&&a.options.labels,f&&f.labels),g=u&&i(u.symbol,!0)?u.symbol:{},m=p&&p[d],k=m&&m.depth,x="treegrid"===f.type,b=h.tickPositions.indexOf(d)>-1,y="highcharts-treegrid-node-",v=h.chart.styledMode;x&&m&&c&&c.element&&c.addClass(y+"level-"+k),e.apply(a,Array.prototype.slice.call(arguments,1)),x&&c&&c.element&&m&&m.descendants&&m.descendants>0&&(r=h.treeGrid.isCollapsed(m),function(e,t){let i=e.treeGrid,r=!i.labelIcon,n=t.renderer,l=t.xy,a=t.options,d=a.width||0,h=a.height||0,c={x:l.x-d/2-(a.padding||0),y:l.y-h/2},p=t.collapsed?90:180,f=t.show&&s(c.y),u=i.labelIcon;u||(i.labelIcon=u=n.path(n.symbols[a.type](a.x||0,a.y||0,d,h)).addClass("highcharts-label-icon").add(t.group)),u[f?"show":"hide"](),n.styledMode||u.attr({cursor:"pointer",fill:o(t.color,"#666666"),"stroke-width":1,stroke:a.lineColor,strokeWidth:a.lineWidth||0}),u[r?"attr":"animate"]({translateX:c.x,translateY:c.y,rotation:p})}(a,{color:!v&&c.styles&&c.styles.color||"",collapsed:r,group:c.parentGroup,options:g,renderer:c.renderer,show:b,xy:c.xy}),n=y+(r?"collapsed":"expanded"),l=y+(r?"expanded":"collapsed"),c.addClass(n).removeClass(l),v||c.css({cursor:"pointer"}),[c,a.treeGrid.labelIcon].forEach(e=>{e&&!e.attachedTreeGridEvents&&(t(e.element,"mouseover",function(){c.addClass("highcharts-treegrid-node-active"),c.renderer.styledMode||c.css({textDecoration:"underline"})}),t(e.element,"mouseout",function(){!function(e,t){let s=i(t.style)?t.style:{};e.removeClass("highcharts-treegrid-node-active"),e.renderer.styledMode||e.css({textDecoration:s.textDecoration})}(c,u)}),t(e.element,"click",function(){a.treeGrid.toggleCollapse()}),e.attachedTreeGridEvents=!0)}))}class h{static compose(i){e.pushUnique(n,i)&&(t(i,"init",l),r(i.prototype,"getLabelPosition",a),r(i.prototype,"renderLabel",d),i.prototype.collapse=function(e){this.treeGrid.collapse(e)},i.prototype.expand=function(e){this.treeGrid.expand(e)},i.prototype.toggleCollapse=function(e){this.treeGrid.toggleCollapse(e)})}constructor(e){this.tick=e}collapse(e){let t=this.tick,i=t.axis,s=i.brokenAxis;if(s&&i.treeGrid.mapOfPosToGridNode){let r=t.pos,n=i.treeGrid.mapOfPosToGridNode[r],l=i.treeGrid.collapse(n);s.setBreaks(l,o(e,!0))}}destroy(){this.labelIcon&&this.labelIcon.destroy()}expand(e){let t=this.tick,i=t.axis,s=i.brokenAxis;if(s&&i.treeGrid.mapOfPosToGridNode){let r=t.pos,n=i.treeGrid.mapOfPosToGridNode[r],l=i.treeGrid.expand(n);s.setBreaks(l,o(e,!0))}}toggleCollapse(e){let t=this.tick,i=t.axis,s=i.brokenAxis;if(s&&i.treeGrid.mapOfPosToGridNode){let r=t.pos,n=i.treeGrid.mapOfPosToGridNode[r],l=i.treeGrid.toggleCollapse(n);s.setBreaks(l,o(e,!0))}}}return h}),i(t,"Series/TreeUtilities.js",[t["Core/Color/Color.js"],t["Core/Utilities.js"]],function(e,t){let{extend:i,isArray:s,isNumber:o,isObject:r,merge:n,pick:l}=t;return{getColor:function(t,i){let s,o,r,n,a,d;let h=i.index,c=i.mapOptionsToLevel,p=i.parentColor,f=i.parentColorIndex,u=i.series,g=i.colors,m=i.siblings,k=u.points,x=u.chart.options.chart;return t&&(s=k[t.i],o=c[t.level]||{},s&&o.colorByPoint&&(n=s.index%(g?g.length:x.colorCount),r=g&&g[n]),u.chart.styledMode||(a=l(s&&s.options.color,o&&o.color,r,p&&(t=>{let i=o&&o.colorVariation;return i&&"brightness"===i.key&&h&&m?e.parse(t).brighten(i.to*(h/m)).get():t})(p),u.color)),d=l(s&&s.options.colorIndex,o&&o.colorIndex,n,f,i.colorIndex)),{color:a,colorIndex:d}},getLevelOptions:function(e){let t={},i,a,d,h,c,p;if(r(e))for(h=o(e.from)?e.from:1,p=e.levels,a={},i=r(e.defaults)?e.defaults:{},s(p)&&(a=p.reduce((e,t)=>{let s,a,d;return r(t)&&o(t.level)&&(a=l((d=n({},t)).levelIsConstant,i.levelIsConstant),delete d.levelIsConstant,delete d.level,r(e[s=t.level+(a?0:h-1)])?n(!0,e[s],d):e[s]=d),e},{})),c=o(e.to)?e.to:1,d=0;d<=c;d++)t[d]=n({},i,r(a[d])?a[d]:{});return t},setTreeValues:function e(t,s){let o=s.before,r=s.idRoot,n=s.mapIdToNode,a=n[r],d=!1!==s.levelIsConstant,h=s.points,c=h[t.i],p=c&&c.options||{},f=[],u=0;t.levelDynamic=t.level-(d?0:a.level),t.name=l(c&&c.name,""),t.visible=r===t.id||!0===s.visible,"function"==typeof o&&(t=o(t,s)),t.children.forEach((o,r)=>{let n=i({},s);i(n,{index:r,siblings:t.children.length,visible:t.visible}),o=e(o,n),f.push(o),o.visible&&(u+=o.val)});let g=l(p.value,u);return t.visible=g>=0&&(u>0||t.visible),t.children=f,t.childrenTotal=u,t.isLeaf=t.visible&&!u,t.val=g,t},updateRootId:function(e){let t,i;return r(e)&&(i=r(e.options)?e.options:{},t=l(e.rootNode,i.rootId,""),r(e.userOptions)&&(e.userOptions.rootId=t),e.rootNode=t),t}}}),i(t,"Core/Axis/TreeGrid/TreeGridAxis.js",[t["Core/Axis/BrokenAxis.js"],t["Core/Axis/GridAxis.js"],t["Gantt/Tree.js"],t["Core/Axis/TreeGrid/TreeGridTick.js"],t["Series/TreeUtilities.js"],t["Core/Utilities.js"]],function(e,t,i,s,o,r){let n;let{getLevelOptions:l}=o,{addEvent:a,find:d,fireEvent:h,isArray:c,isObject:p,isString:f,merge:u,pick:g,wrap:m}=r,k=[];function x(e,t){let i=e.collapseEnd||0,s=e.collapseStart||0;return i>=t&&(s-=.5),{from:s,to:i,showPoints:!1}}function b(e,t,s){let o=[],r=[],n={},l="boolean"==typeof t&&t,a={},h=-1,c=i.getTree(e,{after:function(e){let t=a[e.pos],i=0,s=0;t.children.forEach(function(e){s+=(e.descendants||0)+1,i=Math.max((e.height||0)+1,i)}),t.descendants=s,t.height=i,t.collapsed&&r.push(t)},before:function(e){let t,i;let s=p(e.data,!0)?e.data:{},r=f(s.name)?s.name:"",c=n[e.parent],u=p(c,!0)?a[c.pos]:null;l&&p(u,!0)&&(t=d(u.children,function(e){return e.name===r}))?(i=t.pos,t.nodes.push(e)):i=h++,!a[i]&&(a[i]=t={depth:u?u.depth+1:0,name:r,id:s.id,nodes:[e],children:[],pos:i},-1!==i&&o.push(r),p(u,!0)&&u.children.push(t)),f(e.id)&&(n[e.id]=e),t&&!0===s.collapsed&&(t.collapsed=!0),e.pos=i}});return{categories:o,mapOfIdToNode:n,mapOfPosToGridNode:a=function(e,t){let i=function(e,s,o){let r=e.nodes,n=s+(-1===s?0:t-1),l=(n-s)/2,a=s+l;return r.forEach(function(e){let t=e.data;p(t,!0)&&(t.y=s+(t.seriesIndex||0),delete t.seriesIndex),e.pos=a}),o[a]=e,e.pos=a,e.tickmarkOffset=l+.5,e.collapseStart=n+.5,e.children.forEach(function(e){i(e,n+1,o),n=(e.collapseEnd||0)-.5}),e.collapseEnd=n+.5,o};return i(e["-1"],-1,{})}(a,s),collapsedNodes:r,tree:c}}function y(e){let t=e.target,i=t.axes;i.filter(function(e){return"treegrid"===e.options.type}).forEach(function(t){let i=t.options||{},s=i.labels,o=i.uniqueNames,r=i.max,n=!t.treeGrid.mapOfPosToGridNode||t.series.some(function(e){return!e.hasRendered||e.isDirtyData||e.isDirty}),a=0,d,h;if(n){if(d=t.series.reduce(function(e,t){return t.visible&&((t.options.data||[]).forEach(function(i){t.options.keys&&t.options.keys.length&&(i=t.pointClass.prototype.optionsToObject.call({series:t},i),t.pointClass.setGanttPointAliases(i)),p(i,!0)&&(i.seriesIndex=a,e.push(i))}),!0===o&&a++),e},[]),r&&d.length=0&&t.indexOf(e.x2)>=0&&(t=e)}),p(t,!0)?u(t):t});e.visible&&e.setData(t,!1)}),t.treeGrid.mapOptionsToLevel=l({defaults:s,from:1,levels:s&&s.levels,to:t.treeGrid.tree&&t.treeGrid.tree.height}),"beforeRender"===e.type&&(t.treeGrid.collapsedNodes=h.collapsedNodes)}})}function v(e,t){let i=this.treeGrid.mapOptionsToLevel||{},s="treegrid"===this.options.type,o=this.ticks,r=o[t],l,a,d;s&&this.treeGrid.mapOfPosToGridNode?((l=i[(d=this.treeGrid.mapOfPosToGridNode[t]).depth])&&(a={labels:l}),!r&&n?o[t]=r=new n(this,t,void 0,void 0,{category:d.name,tickmarkOffset:d.tickmarkOffset,options:a}):(r.parameters.category=d.name,r.options=a,r.addLabel())):e.apply(this,Array.prototype.slice.call(arguments,1))}function G(e,t,i,s){let o=this,r="treegrid"===i.type;o.treeGrid||(o.treeGrid=new A(o)),r&&(a(t,"beforeRender",y),a(t,"beforeRedraw",y),a(t,"addSeries",function(e){if(e.options.data){let t=b(e.options.data,i.uniqueNames||!1,1);o.treeGrid.collapsedNodes=(o.treeGrid.collapsedNodes||[]).concat(t.collapsedNodes)}}),a(o,"foundExtremes",function(){o.treeGrid.collapsedNodes&&o.treeGrid.collapsedNodes.forEach(function(e){let t=o.treeGrid.collapse(e);o.brokenAxis&&(o.brokenAxis.setBreaks(t,!1),o.treeGrid.collapsedNodes&&(o.treeGrid.collapsedNodes=o.treeGrid.collapsedNodes.filter(t=>e.collapseStart!==t.collapseStart||e.collapseEnd!==t.collapseEnd)))})}),a(o,"afterBreaks",function(){"yAxis"===o.coll&&!o.staticScale&&o.chart.options.chart.height&&(o.isDirty=!0)}),i=u({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},i,{reversed:!0,grid:{columns:void 0}})),e.apply(o,[t,i,s]),r&&(o.hasNames=!0,o.options.showLastLabel=!0)}function P(e){let t=this.options,i="treegrid"===t.type;i?(this.min=g(this.userMin,t.min,this.dataMin),this.max=g(this.userMax,t.max,this.dataMax),h(this,"foundExtremes"),this.setAxisTranslation(),this.tickmarkOffset=.5,this.tickInterval=1,this.tickPositions=this.treeGrid.mapOfPosToGridNode?this.treeGrid.getTickPositions():[]):e.apply(this,Array.prototype.slice.call(arguments,1))}class A{static compose(o,l,a,d){if(r.pushUnique(k,o)){-1===o.keepProps.indexOf("treeGrid")&&o.keepProps.push("treeGrid");let e=o.prototype;m(e,"generateTick",v),m(e,"init",G),m(e,"setTickInterval",P),e.utils={getNode:i.getNode}}return r.pushUnique(k,d)&&!n&&(n=d),t.compose(o,l,d),e.compose(o,a),s.compose(d),o}constructor(e){this.axis=e}setCollapsedStatus(e){let t=this.axis,i=t.chart;t.series.forEach(function(t){let s=t.options.data;if(e.id&&s){let o=i.get(e.id),r=s[t.data.indexOf(o)];o&&r&&(o.collapsed=e.collapsed,r.collapsed=e.collapsed)}})}collapse(e){let t=this.axis,i=t.options.breaks||[],s=x(e,t.max);return i.push(s),e.collapsed=!0,t.treeGrid.setCollapsedStatus(e),i}expand(e){let t=this.axis,i=t.options.breaks||[],s=x(e,t.max);return e.collapsed=!1,t.treeGrid.setCollapsedStatus(e),i.reduce(function(e,t){return(t.to!==s.to||t.from!==s.from)&&e.push(t),e},[])}getTickPositions(){let e=this.axis,t=Math.floor(e.min/e.tickInterval)*e.tickInterval,i=Math.ceil(e.max/e.tickInterval)*e.tickInterval;return Object.keys(e.treeGrid.mapOfPosToGridNode||{}).reduce(function(s,o){let r=+o;return r>=t&&r<=i&&!(e.brokenAxis&&e.brokenAxis.isInAnyBreak(r))&&s.push(r),s},[])}isCollapsed(e){let t=this.axis,i=t.options.breaks||[],s=x(e,t.max);return i.some(function(e){return e.from===s.from&&e.to===s.to})}toggleCollapse(e){return this.isCollapsed(e)?this.expand(e):this.collapse(e)}}return A}),i(t,"masters/modules/treegrid.src.js",[t["Core/Globals.js"],t["Core/Axis/TreeGrid/TreeGridAxis.js"]],function(e,t){t.compose(e.Axis,e.Chart,e.Series,e.Tick)})});//# sourceMappingURL=treegrid.js.map