treegrid.js 20 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /*
  2. Highcharts JS v7.0.2 (2019-01-17)
  3. Tree Grid
  4. (c) 2016-2019 Jon Arild Nygard
  5. License: www.highcharts.com/license
  6. */
  7. (function(w){"object"===typeof module&&module.exports?(w["default"]=w,module.exports=w):"function"===typeof define&&define.amd?define(function(){return w}):w("undefined"!==typeof Highcharts?Highcharts:void 0)})(function(w){(function(a){var p=a.addEvent,u=a.dateFormat,n=a.defined,y=a.isArray,x=a.isNumber,q=function(d){return a.isObject(d,!0)},m=a.merge,k=a.pick,c=a.wrap,h=a.Axis,l=a.Tick,g={top:0,right:1,bottom:2,left:3,0:"top",1:"right",2:"bottom",3:"left"};h.prototype.isNavigatorAxis=function(){return/highcharts-navigator-[xy]axis/.test(this.options.className)};
  8. h.prototype.isOuterAxis=function(){var d=this,b=-1,e=!0;d.chart.axes.forEach(function(f,g){f.side!==d.side||f.isNavigatorAxis()||(f===d?b=g:0<=b&&g>b&&(e=!1))});return e};h.prototype.getMaxLabelDimensions=function(d,b){var e={width:0,height:0};b.forEach(function(b){b=d[b];var f;q(b)&&(f=q(b.label)?b.label:{},b=f.getBBox?f.getBBox().height:0,f=x(f.textPxLength)?f.textPxLength:0,e.height=Math.max(b,e.height),e.width=Math.max(f,e.width))});return e};a.dateFormats={W:function(d){d=new Date(d);var b;d.setHours(0,
  9. 0,0,0);d.setDate(d.getDate()-(d.getDay()||7));b=new Date(d.getFullYear(),0,1);return Math.ceil(((d-b)/864E5+1)/7)},E:function(d){return u("%a",d,!0).charAt(0)}};p(l,"afterGetLabelPosition",function(d){var b=this.label,e=this.axis,f=e.reversed,c=e.chart,k=e.options,h=k&&q(k.grid)?k.grid:{},k=e.options.labels,l=k.align,a=g[e.side],m=d.tickmarkOffset,z=e.tickPositions,r=this.pos-m,z=x(z[d.index+1])?z[d.index+1]-m:e.max+m,t=e.tickSize("tick",!0),m=y(t)?t[0]:0,t=t&&t[1]/2,A;!0===h.enabled&&("top"===a?
  10. (h=e.top+e.offset,A=h-m):"bottom"===a?(A=c.chartHeight-e.bottom+e.offset,h=A+m):(h=e.top+e.len-e.translate(f?z:r),A=e.top+e.len-e.translate(f?r:z)),"right"===a?(a=c.chartWidth-e.right+e.offset,f=a+m):"left"===a?(f=e.left+e.offset,a=f-m):(a=Math.round(e.left+e.translate(f?z:r))-t,f=Math.round(e.left+e.translate(f?r:z))-t),this.slotWidth=f-a,d.pos.x="left"===l?a:"right"===l?f:a+(f-a)/2,d.pos.y=A+(h-A)/2,c=c.renderer.fontMetrics(k.style.fontSize,b.element),b=b.getBBox().height,k.useHTML?d.pos.y+=c.b+
  11. -(b/2):(b=Math.round(b/c.h),d.pos.y+=(c.b-(c.h-c.f))/2+-((b-1)*c.h/2)),d.pos.x+=e.horiz&&k.x||0)});p(h,"afterTickSize",function(d){var b=this.maxLabelDimensions,e=this.options;!0===(e&&q(e.grid)?e.grid:{}).enabled&&(e=2*Math.abs(this.defaultLeftAxisOptions.labels.x),b=e+(this.horiz?b.height:b.width),y(d.tickSize)?d.tickSize[0]=b:d.tickSize=[b])});p(h,"afterGetTitlePosition",function(d){var b=this.options;if(!0===(b&&q(b.grid)?b.grid:{}).enabled){var e=this.axisTitle,f=e&&e.getBBox().width,c=this.horiz,
  12. h=this.left,a=this.top,l=this.width,m=this.height,n=b.title,b=this.opposite,z=this.offset,r=this.tickSize()||[0],t=n.x||0,A=n.y||0,F=k(n.margin,c?5:10),e=this.chart.renderer.fontMetrics(n.style&&n.style.fontSize,e).f,r=(c?a+m:h)+r[0]/2*(b?-1:1)*(c?1:-1)+(this.side===g.bottom?e:0);d.titlePosition.x=c?h-f/2-F+t:r+(b?l:0)+z+t;d.titlePosition.y=c?r-(b?m:0)+(b?e:-e)/2+z+A:a-F+A}});c(h.prototype,"unsquish",function(d){var b=this.options;return!0===(b&&q(b.grid)?b.grid:{}).enabled&&this.categories?this.tickInterval:
  13. d.apply(this,Array.prototype.slice.call(arguments,1))});p(h,"afterSetOptions",function(d){var b=this.options;d=d.userOptions;var e,f=b&&q(b.grid)?b.grid:{};!0===f.enabled&&(e=m(!0,{className:"highcharts-grid-axis "+(d.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:"13px"}},title:{text:null,reserveSpace:!1,rotation:0},units:[["millisecond",
  14. [1,10,100]],["second",[1,10]],["minute",[1,5,15]],["hour",[1,6]],["day",[1]],["week",[1]],["month",[1]],["year",null]]},d),"xAxis"===this.coll&&(n(d.linkedTo)&&!n(d.tickPixelInterval)&&(e.tickPixelInterval=350),n(d.tickPixelInterval)||!n(d.linkedTo)||n(d.tickPositioner)||n(d.tickInterval)||(e.tickPositioner=function(b,d){var f=this.linkedParent&&this.linkedParent.tickPositions&&this.linkedParent.tickPositions.info;if(f){var c,g,k,h,r=e.units;for(h=0;h<r.length;h++)if(r[h][0]===f.unitName){c=h;break}if(r[c][1])return r[c+
  15. 1]&&(k=r[c+1][0],g=(r[c+1][1]||[1])[0]),f=a.timeUnits[k],this.tickInterval=f*g,this.getTimeTicks({unitRange:f,count:g,unitName:k},b,d,this.options.startOfWeek)}})),m(!0,this.options,e),this.horiz&&(b.minPadding=k(d.minPadding,0),b.maxPadding=k(d.maxPadding,0)),x(b.grid.borderWidth)&&(b.tickWidth=b.lineWidth=f.borderWidth))});p(h,"afterSetAxisTranslation",function(){var d=this.options,b=d&&q(d.grid)?d.grid:{},e=this.tickPositions&&this.tickPositions.info,f=this.userOptions.labels||{};this.horiz&&(!0===
  16. b.enabled&&this.series.forEach(function(b){b.options.pointRange=0}),e&&(!1===d.dateTimeLabelFormats[e.unitName].range||1<e.count)&&!n(f.align)&&(d.labels.align="left",n(f.x)||(d.labels.x=3)))});p(h,"trimTicks",function(){var d=this.options,b=d&&q(d.grid)?d.grid:{},e=this.categories,f=this.tickPositions,c=f[0],g=f[f.length-1],h=this.linkedParent&&this.linkedParent.min||this.min,k=this.linkedParent&&this.linkedParent.max||this.max,a=this.tickInterval;!0!==b.enabled||e||!this.horiz&&!this.isLinked||
  17. ((c>h||c<h&&c+a>h)&&!d.startOnTick&&(f[0]=h),(g<k||g>k&&g-a<k)&&!d.endOnTick&&(f[f.length-1]=k))});p(h,"afterRender",function(){var d=this.options,b=d&&q(d.grid)?d.grid:{},e,f,c,h,k,a,l=this.chart.renderer,m=this.horiz;if(!0===b.enabled&&(b=2*Math.abs(this.defaultLeftAxisOptions.labels.x),this.maxLabelDimensions=this.getMaxLabelDimensions(this.ticks,this.tickPositions),b=this.maxLabelDimensions.width+b,e=d.lineWidth,this.rightWall&&this.rightWall.destroy(),f=this.axisGroup.getBBox(),this.isOuterAxis()&&
  18. this.axisLine&&(m&&(b=f.height-1),e))){f=this.getLinePath(e);k=f.indexOf("M")+1;a=f.indexOf("L")+1;c=f.indexOf("M")+2;h=f.indexOf("L")+2;if(this.side===g.top||this.side===g.left)b=-b;m?(f[c]+=b,f[h]+=b):(f[k]+=b,f[a]+=b);this.axisLineExtra?this.axisLineExtra.animate({d:f}):this.axisLineExtra=l.path(f).attr({stroke:d.lineColor,"stroke-width":e,zIndex:7}).addClass("highcharts-axis-line").add(this.axisGroup);this.axisLine[this.showAxis?"show":"hide"](!0)}});p(h,"init",function(d){function b(){var b=
  19. e.options,d=25/11,f=e.chart.renderer.fontMetrics(b.labels.style.fontSize);b.labels||(b.labels={});b.labels.align=k(b.labels.align,"center");e.categories||(b.showLastLabel=!1);e.horiz&&(b.tickLength=g.cellHeight||f.h*d);e.labelRotation=0;b.labels.rotation=0}var e=this,f=e.chart,g=(d=d.userOptions)&&q(d.grid)?d.grid:{},l,B,v;if(g.enabled)if(n(g.borderColor)&&(d.tickColor=d.lineColor=g.borderColor),y(g.columns)){B=0;for(v=g.columns.length;v--;)l=m(d,g.columns[v],{type:"category"}),delete l.grid.columns,
  20. l=new h(e.chart,l),l.isColumn=!0,l.columnIndex=B,c(l,"labelFormatter",function(b){var d=this.axis,e=d.tickPositions,f=this.value,t=f===e[0],e=f===e[e.length-1],c=a.find(d.series[0].options.data,function(b){return b[d.isXAxis?"x":"y"]===f});this.isFirst=t;this.isLast=e;this.point=c;return b.call(this)}),B++;p(this,"afterInit",function(){a.erase(f.axes,this);a.erase(f[e.coll],this)})}else p(this,"afterInit",b)})})(w);var D=function(a){var p=a.extend,u=a.isNumber,n=a.pick,y=function(a,m){var k=a.reduce(function(c,
  21. h){var k=n(h.parent,"");void 0===c[k]&&(c[k]=[]);c[k].push(h);return c},{});Object.keys(k).forEach(function(c,h){var a=k[c];""!==c&&-1===m.indexOf(c)&&(a.forEach(function(c){h[""].push(c)}),delete h[c])});return k},x=function(a,m,k,c,h,l){var g=0,d=0,b=l&&l.after,e=l&&l.before;m={data:c,depth:k-1,id:a,level:k,parent:m};var f,q;"function"===typeof e&&e(m,l);e=(h[a]||[]).map(function(b){var e=x(b.id,a,k+1,b,h,l),c=b.start;b=!0===b.milestone?c:b.end;f=!u(f)||c<f?c:f;q=!u(q)||b>q?b:q;g=g+1+e.descendants;
  22. d=Math.max(e.height+1,d);return e});c&&(c.start=n(c.start,f),c.end=n(c.end,q));p(m,{children:e,descendants:g,height:d});"function"===typeof b&&b(m,l);return m};return{getListOfParents:y,getNode:x,getTree:function(a,m){var k=a.map(function(c){return c.id});a=y(a,k);return x("",null,1,null,a,m)}}}(w),G=function(a){var p=a.extend,u=a.isArray,n=a.isObject,y=a.isNumber,x=a.merge,q=a.pick;return{getColor:function(m,k){var c=k.index,h=k.mapOptionsToLevel,l=k.parentColor,g=k.parentColorIndex,d=k.series,b=
  23. k.colors,e=k.siblings,f=d.points,n=d.chart.options.chart,C,p,v,u;if(m){f=f[m.i];m=h[m.level]||{};if(h=f&&m.colorByPoint)p=f.index%(b?b.length:n.colorCount),C=b&&b[p];if(!d.chart.styledMode){b=f&&f.options.color;n=m&&m.color;if(v=l)v=(v=m&&m.colorVariation)&&"brightness"===v.key?a.color(l).brighten(c/e*v.to).get():l;v=q(b,n,C,v,d.color)}u=q(f&&f.options.colorIndex,m&&m.colorIndex,p,g,k.colorIndex)}return{color:v,colorIndex:u}},getLevelOptions:function(a){var k=null,c,h,l,g;if(n(a))for(k={},l=y(a.from)?
  24. a.from:1,g=a.levels,h={},c=n(a.defaults)?a.defaults:{},u(g)&&(h=g.reduce(function(d,b){var e,f;n(b)&&y(b.level)&&(f=x({},b),e="boolean"===typeof f.levelIsConstant?f.levelIsConstant:c.levelIsConstant,delete f.levelIsConstant,delete f.level,b=b.level+(e?0:l-1),n(d[b])?p(d[b],f):d[b]=f);return d},{})),g=y(a.to)?a.to:1,a=0;a<=g;a++)k[a]=x({},c,n(h[a])?h[a]:{});return k},setTreeValues:function k(c,a){var h=a.before,g=a.idRoot,d=a.mapIdToNode[g],b=a.points[c.i],e=b&&b.options||{},f=0,n=[];p(c,{levelDynamic:c.level-
  25. (("boolean"===typeof a.levelIsConstant?a.levelIsConstant:1)?0:d.level),name:q(b&&b.name,""),visible:g===c.id||("boolean"===typeof a.visible?a.visible:!1)});"function"===typeof h&&(c=h(c,a));c.children.forEach(function(b,e){var d=p({},a);p(d,{index:e,siblings:c.children.length,visible:c.visible});b=k(b,d);n.push(b);b.visible&&(f+=b.val)});c.visible=0<f||c.visible;h=q(e.value,f);p(c,{children:n,childrenTotal:f,isLeaf:c.visible&&!f,val:h});return c},updateRootId:function(a){var c;n(a)&&(c=n(a.options)?
  26. a.options:{},c=q(a.rootNode,c.rootId,""),n(a.userOptions)&&(a.userOptions.rootId=c),a.rootNode=c);return c}}}(w);(function(a){var p=a.addEvent,u=a.pick,n=a.extend,y=a.isArray,x=a.fireEvent,q=a.Axis,m=a.Series;n(q.prototype,{isInBreak:function(a,c){var h=a.repeat||Infinity,k=a.from,g=a.to-a.from;c=c>=k?(c-k)%h:h-(k-c)%h;return a.inclusive?c<=g:c<g&&0!==c},isInAnyBreak:function(a,c){var h=this.options.breaks,k=h&&h.length,g,d,b;if(k){for(;k--;)this.isInBreak(h[k],a)&&(g=!0,d||(d=u(h[k].showPoints,!this.isXAxis)));
  27. b=g&&c?g&&!d:g}return b}});p(q,"afterInit",function(){"function"===typeof this.setBreaks&&this.setBreaks(this.options.breaks,!1)});p(q,"afterSetTickPositions",function(){if(this.isBroken){var a=this.tickPositions,c=this.tickPositions.info,h=[],l;for(l=0;l<a.length;l++)this.isInAnyBreak(a[l])||h.push(a[l]);this.tickPositions=h;this.tickPositions.info=c}});p(q,"afterSetOptions",function(){this.isBroken&&(this.options.ordinal=!1)});q.prototype.setBreaks=function(a,c){function h(b){var a=b,d,c;for(c=
  28. 0;c<g.breakArray.length;c++)if(d=g.breakArray[c],d.to<=b)a-=d.len;else if(d.from>=b)break;else if(g.isInBreak(d,b)){a-=b-d.from;break}return a}function k(b){var a,d;for(d=0;d<g.breakArray.length&&!(a=g.breakArray[d],a.from>=b);d++)a.to<b?b+=a.len:g.isInBreak(a,b)&&(b+=a.len);return b}var g=this,d=y(a)&&!!a.length;g.isDirty=g.isBroken!==d;g.isBroken=d;g.options.breaks=g.userOptions.breaks=a;g.forceRedraw=!0;d||g.val2lin!==h||(delete g.val2lin,delete g.lin2val);d&&(g.userOptions.ordinal=!1,g.val2lin=
  29. h,g.lin2val=k,g.setExtremes=function(b,a,d,c,g){if(this.isBroken){for(;this.isInAnyBreak(b);)b-=this.closestPointRange;for(;this.isInAnyBreak(a);)a-=this.closestPointRange}q.prototype.setExtremes.call(this,b,a,d,c,g)},g.setAxisTranslation=function(b){q.prototype.setAxisTranslation.call(this,b);this.unitLength=null;if(this.isBroken){b=g.options.breaks;var a=[],d=[],c=0,h,k,l=g.userMin||g.min,m=g.userMax||g.max,n=u(g.pointRangePadding,0),p,r;b.forEach(function(a){k=a.repeat||Infinity;g.isInBreak(a,
  30. l)&&(l+=a.to%k-l%k);g.isInBreak(a,m)&&(m-=m%k-a.from%k)});b.forEach(function(b){p=b.from;for(k=b.repeat||Infinity;p-k>l;)p-=k;for(;p<l;)p+=k;for(r=p;r<m;r+=k)a.push({value:r,move:"in"}),a.push({value:r+(b.to-b.from),move:"out",size:b.breakSize})});a.sort(function(a,b){return a.value===b.value?("in"===a.move?0:1)-("in"===b.move?0:1):a.value-b.value});h=0;p=l;a.forEach(function(a){h+="in"===a.move?1:-1;1===h&&"in"===a.move&&(p=a.value);0===h&&(d.push({from:p,to:a.value,len:a.value-p-(a.size||0)}),c+=
  31. a.value-p-(a.size||0))});g.breakArray=d;g.unitLength=m-l-c+n;x(g,"afterBreaks");g.staticScale?g.transA=g.staticScale:g.unitLength&&(g.transA*=(m-g.min+n)/g.unitLength);n&&(g.minPixelPadding=g.transA*g.minPointOffset);g.min=l;g.max=m}});u(c,!0)&&this.chart.redraw()};p(m,"afterGeneratePoints",function(){var a=this.xAxis,c=this.yAxis,h=this.points,l,g=h.length,d=this.options.connectNulls,b;if(a&&c&&(a.options.breaks||c.options.breaks))for(;g--;)l=h[g],b=null===l.y&&!1===d,b||!a.isInAnyBreak(l.x,!0)&&
  32. !c.isInAnyBreak(l.y,!0)||(h.splice(g,1),this.data[g]&&this.data[g].destroyElements())});p(m,"afterRender",function(){this.drawBreaks(this.xAxis,["x"]);this.drawBreaks(this.yAxis,u(this.pointArrayMap,["y"]))});a.Series.prototype.drawBreaks=function(a,c){var h=this,k=h.points,g,d,b,e;a&&c.forEach(function(c){g=a.breakArray||[];d=a.isXAxis?a.min:u(h.options.threshold,a.min);k.forEach(function(f){e=u(f["stack"+c.toUpperCase()],f[c]);g.forEach(function(c){b=!1;if(d<c.from&&e>c.to||d>c.from&&e<c.from)b=
  33. "pointBreak";else if(d<c.from&&e>c.from&&e<c.to||d>c.from&&e>c.to&&e<c.from)b="pointInBreak";b&&x(a,b,{point:f,brk:c})})})})};a.Series.prototype.gappedPath=function(){var k=this.currentDataGrouping,c=k&&k.totalRange,k=this.options.gapSize,h=this.points.slice(),l=h.length-1,g=this.yAxis;if(k&&0<l)for("value"!==this.options.gapUnit&&(k*=this.closestPointRange),c&&c>k&&(k=c);l--;)h[l+1].x-h[l].x>k&&(c=(h[l].x+h[l+1].x)/2,h.splice(l+1,0,{isNull:!0,x:c}),this.options.stacking&&(c=g.stacks[this.stackKey][c]=
  34. new a.StackItem(g,g.options.stackLabels,!1,c,this.stack),c.total=0));return this.getGraphPath(h)}})(w);(function(a,p,u){var n=function(a){return Array.prototype.slice.call(a,1)},y=a.defined,x=a.extend,q=a.find,m=a.fireEvent,k=u.getLevelOptions,c=a.merge,h=a.isNumber,l=function(b){return a.isObject(b,!0)},g=a.isString,d=a.pick,b=a.wrap;u=a.Axis;var e=a.Tick,f=function(a,d){var c,e;for(c in d)d.hasOwnProperty(c)&&(e=d[c],b(a,c,e))},w=function(a,b){var d=a.collapseStart;a=a.collapseEnd;a>=b&&(d-=.5);
  35. return{from:d,to:a,showPoints:!1}},C=function(a){return Object.keys(a.mapOfPosToGridNode).reduce(function(b,d){d=+d;a.min<=d&&a.max>=d&&!a.isInAnyBreak(d)&&b.push(d);return b},[])},B=function(a,b){var d=a.options.breaks||[],c=w(b,a.max);return d.some(function(a){return a.from===c.from&&a.to===c.to})},v=function(a,b){var d=a.options.breaks||[];a=w(b,a.max);d.push(a);return d},E=function(a,b){var d=a.options.breaks||[],c=w(b,a.max);return d.reduce(function(a,b){b.to===c.to&&b.from===c.from||a.push(b);
  36. return a},[])},D=function(b,c){var e=b.labelIcon,g=!e,f=c.renderer,h=c.xy,k=c.options,r=k.width,l=k.height,t=h.x-r/2-k.padding,h=h.y-l/2,m=c.collapsed?90:180,n=c.show&&a.isNumber(h);g&&(b.labelIcon=e=f.path(f.symbols[k.type](k.x,k.y,r,l)).addClass("highcharts-label-icon").add(c.group));n||e.attr({y:-9999});f.styledMode||e.attr({"stroke-width":1,fill:d(c.color,"#666666")}).css({cursor:"pointer",stroke:k.lineColor,strokeWidth:k.lineWidth});e[g?"attr":"animate"]({translateX:t,translateY:h,rotation:m})},
  37. z=function(a,b,d){var c=[],e=[],f={},h={},k=-1,r="boolean"===typeof b?b:!1;a=p.getTree(a,{after:function(a){a=h[a.pos];var b=0,d=0;a.children.forEach(function(a){d+=a.descendants+1;b=Math.max(a.height+1,b)});a.descendants=d;a.height=b;a.collapsed&&e.push(a)},before:function(a){var b=l(a.data)?a.data:{},d=g(b.name)?b.name:"",e=f[a.parent],e=l(e)?h[e.pos]:null,t=function(a){return a.name===d},m;r&&l(e)&&(m=q(e.children,t))?(t=m.pos,m.nodes.push(a)):t=k++;h[t]||(h[t]=m={depth:e?e.depth+1:0,name:d,nodes:[a],
  38. children:[],pos:t},-1!==t&&c.push(d),l(e)&&e.children.push(m));g(a.id)&&(f[a.id]=a);!0===b.collapsed&&(m.collapsed=!0);a.pos=t}});h=function(a,b){var d=function(a,c,e){var f=c+(-1===c?0:b-1),g=(f-c)/2,h=c+g;a.nodes.forEach(function(a){var b=a.data;l(b)&&(b.y=c+b.seriesIndex,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){d(a,f+1,e);f=a.collapseEnd-.5});a.collapseEnd=f+.5;return e};return d(a["-1"],-1,{})}(h,d);return{categories:c,
  39. mapOfIdToNode:f,mapOfPosToGridNode:h,collapsedNodes:e,tree:a}};a.addEvent(a.Chart,"beforeRender",function(){this.axes.forEach(function(b){if("treegrid"===b.userOptions.type){var d=b.options&&b.options.labels,c;b.updateYNames();b.series.forEach(function(a){a.yData=a.options.data.map(function(a){return a.y})});b.mapOptionsToLevel=k({defaults:d,from:1,levels:d.levels,to:b.tree.height});c=a.addEvent(b,"foundExtremes",function(){b.collapsedNodes.forEach(function(a){a=v(b,a);b.setBreaks(a,!1)});c()})}})});
  40. f(u.prototype,{init:function(a,b,d){var e="treegrid"===d.type;e&&(d=c({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}}));a.apply(this,[b,d]);e&&(this.hasNames=!0,this.options.showLastLabel=!0)},getMaxLabelDimensions:function(a){var b=this.options,d=b&&b.labels,b=d&&h(d.indentation)?b.labels.indentation:0,d=a.apply(this,n(arguments)),
  41. c;"treegrid"===this.options.type&&this.mapOfPosToGridNode&&(c=this.mapOfPosToGridNode[-1].height,d.width+=b*(c-1));return d},generateTick:function(a,b){var d=l(this.mapOptionsToLevel)?this.mapOptionsToLevel:{},c=this.ticks,f=c[b],h,g;"treegrid"===this.options.type?(g=this.mapOfPosToGridNode[b],(d=d[g.depth])&&(h={labels:d}),f?(f.parameters.category=g.name,f.options=h,f.addLabel()):c[b]=new e(this,b,null,void 0,{category:g.name,tickmarkOffset:g.tickmarkOffset,options:h})):a.apply(this,n(arguments))},
  42. setTickInterval:function(a){var b=this.options;"treegrid"===b.type&&this.mapOfPosToGridNode?(this.min=d(this.userMin,b.min,this.dataMin),this.max=d(this.userMax,b.max,this.dataMax),m(this,"foundExtremes"),this.setAxisTranslation(!0),this.tickmarkOffset=.5,this.tickInterval=1,this.tickPositions=C(this)):a.apply(this,n(arguments))}});f(e.prototype,{getLabelPosition:function(a,b,c,e,f,g,k,m,n){var t=d(this.options&&this.options.labels,g);g=this.pos;var r=this.axis,p="treegrid"===r.options.type;a=a.apply(this,
  43. [b,c,e,f,t,k,m,n]);p&&(b=t&&l(t.symbol)?t.symbol:{},t=t&&h(t.indentation)?t.indentation:0,g=(g=(r=r.mapOfPosToGridNode)&&r[g])&&g.depth||1,a.x+=b.width+2*b.padding+(g-1)*t);return a},renderLabel:function(b){var c=this,e=c.pos,g=c.axis,f=c.label,h=g.mapOfPosToGridNode,k=g.options,m=d(c.options&&c.options.labels,k&&k.labels),r=m&&l(m.symbol)?m.symbol:{},p=(h=h&&h[e])&&h.depth,k="treegrid"===k.type,q=!(!f||!f.element),u=-1<g.tickPositions.indexOf(e),e=g.chart.styledMode;k&&h&&q&&f.addClass("highcharts-treegrid-node-level-"+
  44. p);b.apply(c,n(arguments));k&&h&&q&&0<h.descendants&&(g=B(g,h),D(c,{color:!e&&f.styles.color,collapsed:g,group:f.parentGroup,options:r,renderer:f.renderer,show:u,xy:f.xy}),r="highcharts-treegrid-node-"+(g?"expanded":"collapsed"),f.addClass("highcharts-treegrid-node-"+(g?"collapsed":"expanded")).removeClass(r),e||f.css({cursor:"pointer"}),[f,c.labelIcon].forEach(function(b){b.attachedTreeGridEvents||(a.addEvent(b.element,"mouseover",function(){var a=f;a.addClass("highcharts-treegrid-node-active");
  45. a.renderer.styledMode||a.css({textDecoration:"underline"})}),a.addEvent(b.element,"mouseout",function(){var a=f,b=m,b=y(b.style)?b.style:{};a.removeClass("highcharts-treegrid-node-active");a.renderer.styledMode||a.css({textDecoration:b.textDecoration})}),a.addEvent(b.element,"click",function(){c.toggleCollapse()}),b.attachedTreeGridEvents=!0)}))}});x(e.prototype,{collapse:function(a){var b=this.axis,c=v(b,b.mapOfPosToGridNode[this.pos]);b.setBreaks(c,d(a,!0))},expand:function(a){var b=this.axis,c=
  46. E(b,b.mapOfPosToGridNode[this.pos]);b.setBreaks(c,d(a,!0))},toggleCollapse:function(a){var b=this.axis,c;c=b.mapOfPosToGridNode[this.pos];c=B(b,c)?E(b,c):v(b,c);b.setBreaks(c,d(a,!0))}});u.prototype.updateYNames=function(){var a=this.options,b=a.uniqueNames,c=!this.isXAxis,d=this.series,e=0;"treegrid"===a.type&&c&&(a=d.reduce(function(a,c){c.visible&&(c.options.data.forEach(function(b){l(b)&&(b.seriesIndex=e,a.push(b))}),!0===b&&e++);return a},[]),a=z(a,b,!0===b?e:1),this.categories=a.categories,
  47. this.mapOfPosToGridNode=a.mapOfPosToGridNode,this.collapsedNodes=a.collapsedNodes,this.hasNames=!0,this.tree=a.tree)};u.prototype.utils={getNode:p.getNode}})(w,D,G)});
  48. //# sourceMappingURL=treegrid.js.map