highcharts
Version:
JavaScript charting framework
1 lines • 10.4 kB
JavaScript
import*as t from"../highcharts.js";var i,e,s={};s.n=t=>{var i=t&&t.__esModule?()=>t.default:()=>t;return s.d(i,{a:i}),i},s.d=(t,i)=>{for(var e in i)s.o(i,e)&&!s.o(t,e)&&Object.defineProperty(t,e,{enumerable:!0,get:i[e]})},s.o=(t,i)=>Object.prototype.hasOwnProperty.call(t,i);let r=t.default;var o=s.n(r);let n=t.default.Axis;var h=s.n(n);let{dateFormats:l}=o(),{addEvent:a,defined:d,erase:c,find:g,isArray:f,isNumber:p,merge:u,pick:m,timeUnits:k,wrap:x}=o();function b(t){return o().isObject(t,!0)}function P(t,i){let e={width:0,height:0};if(i.forEach(function(i){let s=t[i],r=0,o=0,n;b(s)&&(r=(n=b(s.label)?s.label:{}).getBBox?n.getBBox().height:0,n.textStr&&!p(n.textPxLength)&&(n.textPxLength=n.getBBox().width),o=p(n.textPxLength)?Math.round(n.textPxLength):0,n.textStr&&(o=Math.round(n.getBBox().width)),e.height=Math.max(r,e.height),e.width=Math.max(o,e.width))}),"treegrid"===this.type&&this.treeGrid&&this.treeGrid.mapOfPosToGridNode){let t=this.treeGrid.mapOfPosToGridNode[-1].height||0;e.width+=this.options.labels.indentation*(t-1)}return e}function y(t){let{grid:i}=this,e=3===this.side;if(e||t.apply(this),!i?.isColumn){let t=i?.columns||[];e&&(t=t.slice().reverse()),t.forEach(t=>{t.getOffset()})}e&&t.apply(this)}function w(t){if(!0===(this.options.grid||{}).enabled){let{axisTitle:i,height:s,horiz:r,left:o,offset:n,opposite:h,options:l,top:a,width:d}=this,c=this.tickSize(),g=i?.getBBox().width,f=l.title.x,p=l.title.y,u=m(l.title.margin,r?5:10),k=i?this.chart.renderer.fontMetrics(i).f:0,x=(r?a+s:o)+(r?1:-1)*(h?-1:1)*(c?c[0]/2:0)+(this.side===e.bottom?k:0);t.titlePosition.x=r?o-(g||0)/2-u+f:x+(h?d:0)+n+f,t.titlePosition.y=r?x-(h?s:0)+(h?k:-k)/2+n+p:a-u+p}}function L(){let{chart:t,options:{grid:i={}},userOptions:e}=this;if(i.enabled&&function(t){let i=t.options;i.labels.align=m(i.labels.align,"center"),t.categories||(i.showLastLabel=!1),t.labelRotation=0,i.labels.rotation=0,i.minTickInterval=1}(this),i.columns){let s=this.grid.columns=[],r=this.grid.columnIndex=0;for(;++r<i.columns.length;){let o=u(e,i.columns[r],{isInternal:!0,linkedTo:0,scrollbar:{enabled:!1}},{grid:{columns:void 0}}),n=new(h())(this.chart,o,"yAxis");n.grid.isColumn=!0,n.grid.columnIndex=r,c(t.axes,n),c(t[this.coll]||[],n),s.push(n)}}}function B(){let{axisTitle:t,grid:i,options:s}=this;if(!0===(s.grid||{}).enabled){let r=this.min||0,o=this.max||0,n=this.ticks[this.tickPositions[0]];if(t&&!this.chart.styledMode&&n?.slotWidth&&!this.options.title.style.width&&t.css({width:`${n.slotWidth}px`}),this.maxLabelDimensions=this.getMaxLabelDimensions(this.ticks,this.tickPositions),this.rightWall&&this.rightWall.destroy(),this.grid?.isOuterAxis()&&this.axisLine){let t=s.lineWidth;if(t){let i=this.getLinePath(t),n=i[0],h=i[1],l=(this.tickSize("tick")||[1])[0]*(this.side===e.top||this.side===e.left?-1:1);if("M"===n[0]&&"L"===h[0]&&(this.horiz?(n[2]+=l,h[2]+=l):(n[1]+=l,h[1]+=l)),!this.horiz&&this.chart.marginRight){let t=["L",this.left,n[2]||0],i=[n,t],e=["L",this.chart.chartWidth-this.chart.marginRight,this.toPixels(o+this.tickmarkOffset)],l=[["M",h[1]||0,this.toPixels(o+this.tickmarkOffset)],e];this.grid.upperBorder||r%1==0||(this.grid.upperBorder=this.grid.renderBorder(i)),this.grid.upperBorder&&(this.grid.upperBorder.attr({stroke:s.lineColor,"stroke-width":s.lineWidth}),this.grid.upperBorder.animate({d:i})),this.grid.lowerBorder||o%1==0||(this.grid.lowerBorder=this.grid.renderBorder(l)),this.grid.lowerBorder&&(this.grid.lowerBorder.attr({stroke:s.lineColor,"stroke-width":s.lineWidth}),this.grid.lowerBorder.animate({d:l}))}this.grid.axisLineExtra?(this.grid.axisLineExtra.attr({stroke:s.lineColor,"stroke-width":s.lineWidth}),this.grid.axisLineExtra.animate({d:i})):this.grid.axisLineExtra=this.grid.renderBorder(i),this.axisLine[this.showAxis?"show":"hide"]()}}if((i?.columns||[]).forEach(t=>t.render()),!this.horiz&&this.chart.hasRendered&&(this.scrollbar||this.linkedParent?.scrollbar)&&this.tickPositions.length){let t,i,e=this.tickmarkOffset,s=this.tickPositions[this.tickPositions.length-1],n=this.tickPositions[0];for(;(t=this.hiddenLabels.pop())&&t.element;)t.show();for(;(i=this.hiddenMarks.pop())&&i.element;)i.show();(t=this.ticks[n].label)&&(r-n>e?this.hiddenLabels.push(t.hide()):t.show()),(t=this.ticks[s].label)&&(s-o>e?this.hiddenLabels.push(t.hide()):t.show());let h=this.ticks[s].mark;h&&s-o<e&&s-o>0&&this.ticks[s].isLast&&this.hiddenMarks.push(h.hide())}}}function O(){let t=this.tickPositions?.info,i=this.options,e=i.grid||{},s=this.userOptions.labels||{};e.enabled&&(this.horiz?(this.series.forEach(t=>{t.options.pointRange=0}),t&&i.dateTimeLabelFormats&&i.labels&&!d(s.align)&&(!1===i.dateTimeLabelFormats[t.unitName].range||t.count>1)&&(i.labels.align="left",d(s.x)||(i.labels.x=3))):"treegrid"!==this.type&&this.grid&&this.grid.columns&&(this.minPointOffset=this.tickInterval))}function T(t){let i,e=this.options,s=t.userOptions,r=e&&b(e.grid)?e.grid:{};!0===r.enabled&&(i=u(!0,{className:"highcharts-grid-axis "+(s.className||""),dateTimeLabelFormats:{hour:{list:["%[HM]","%[H]"]},day:{list:["%[AeB]","%[aeb]","%[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,style:{textOverflow:"ellipsis"}},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||(d(s.linkedTo)&&!d(s.tickPixelInterval)&&(i.tickPixelInterval=350),!(!d(s.tickPixelInterval)&&d(s.linkedTo))||d(s.tickPositioner)||d(s.tickInterval)||d(s.units)||(i.tickPositioner=function(t,e){let s=this.linkedParent?.tickPositions?.info;if(s){let r=i.units||[],o,n=1,h="year";for(let t=0;t<r.length;t++){let i=r[t];if(i&&i[0]===s.unitName){o=t;break}}let l=p(o)&&r[o+1];if(l){h=l[0]||"year";let t=l[1];n=t?.[0]||1}else"year"===s.unitName&&(n=10*s.count);let a=k[h];return this.tickInterval=a*n,this.chart.time.getTimeTicks({unitRange:a,count:n,unitName:h},t,e,this.options.startOfWeek)}})),u(!0,this.options,i),this.horiz&&(e.minPadding=m(s.minPadding,0),e.maxPadding=m(s.maxPadding,0)),p(e.grid.borderWidth)&&(e.tickWidth=e.lineWidth=r.borderWidth))}function v(t){let i=t.userOptions,e=i?.grid||{},s=e.columns;e.enabled&&s&&u(!0,this.options,s[0])}function M(){(this.grid.columns||[]).forEach(t=>t.setScale())}function W(t){let{horiz:i,maxLabelDimensions:e,options:{grid:s={}}}=this;if(s.enabled&&e){let r=2*this.options.labels.distance,o=i?s.cellHeight||r+e.height:r+e.width;f(t.tickSize)?t.tickSize[0]=o:t.tickSize=[o,0]}}function S(){this.axes.forEach(t=>{(t.grid?.columns||[]).forEach(t=>{t.setAxisSize(),t.setAxisTranslation()})})}function z(t){let{grid:i}=this;(i.columns||[]).forEach(i=>i.destroy(t.keepEvents)),i.columns=void 0}function A(t){let i=t.userOptions||{},e=i.grid||{};e.enabled&&d(e.borderColor)&&(i.tickColor=i.lineColor=e.borderColor),this.grid||(this.grid=new N(this)),this.hiddenLabels=[],this.hiddenMarks=[]}function E(t){let i=this.label,s=this.axis,r=s.reversed,o=s.chart,n=s.options.grid||{},h=s.options.labels,l=h.align,a=e[s.side],d=t.tickmarkOffset,c=s.tickPositions,g=this.pos-d,f=p(c[t.index+1])?c[t.index+1]-d:(s.max||0)+d,u=s.tickSize("tick"),m=u?u[0]:0,k=u?u[1]/2:0;if(!0===n.enabled){let e,n,d,c;if("top"===a?n=(e=s.top+s.offset)-m:"bottom"===a?e=(n=o.chartHeight-s.bottom+s.offset)+m:(e=s.top+s.len-(s.translate(r?f:g)||0),n=s.top+s.len-(s.translate(r?g:f)||0)),"right"===a?c=(d=o.chartWidth-s.right+s.offset)+m:"left"===a?d=(c=s.left+s.offset)-m:(d=Math.round(s.left+(s.translate(r?f:g)||0))-k,c=Math.min(Math.round(s.left+(s.translate(r?g:f)||0))-k,s.left+s.len)),this.slotWidth=c-d,t.pos.x="left"===l?d:"right"===l?c:d+(c-d)/2,t.pos.y=n+(e-n)/2,i){let e=o.renderer.fontMetrics(i),s=i.getBBox().height;if(h.useHTML)t.pos.y+=e.b+-(s/2);else{let i=Math.round(s/e.h);t.pos.y+=(e.b-(e.h-e.f))/2+-((i-1)*e.h/2)}}t.pos.x+=s.horiz&&h.x||0}}function I(t){let{axis:i,value:e}=t;if(i.options.grid?.enabled){let s,r=i.tickPositions,n=(i.linkedParent||i).series[0],h=e===r[0],l=e===r[r.length-1],a=n&&g(n.options.data,function(t){return t[i.isXAxis?"x":"y"]===e});a&&n.is("gantt")&&(s=u(a),o().seriesTypes.gantt.prototype.pointClass.setGanttPointAliases(s,i.chart)),t.isFirst=h,t.isLast=l,t.point=s}}function C(){let t=this.options,i=t.grid||{},e=this.categories,s=this.tickPositions,r=s[0],o=s[1],n=s[s.length-1],h=s[s.length-2],l=this.linkedParent?.min,a=this.linkedParent?.max,d=l||this.min,c=a||this.max,g=this.tickInterval,f=p(d)&&d>=r+g&&d<o,u=p(d)&&r<d&&r+g>d,m=p(c)&&n>c&&n-g<c,k=p(c)&&c<=n-g&&c>h;!0===i.enabled&&!e&&(this.isXAxis||this.isLinked)&&((u||f)&&!t.startOnTick&&(s[0]=d),(m||k)&&!t.endOnTick&&(s[s.length-1]=c))}function G(t){var i;let{options:{grid:e={}}}=this;return!0===e.enabled&&this.categories?this.tickInterval:t.apply(this,(i=arguments,Array.prototype.slice.call(i,1)))}(i=e||(e={}))[i.top=0]="top",i[i.right=1]="right",i[i.bottom=2]="bottom",i[i.left=3]="left";class N{constructor(t){this.axis=t}isOuterAxis(){let t=this.axis,i=t.chart,e=t.grid.columnIndex,s=t.linkedParent?.grid.columns||t.grid.columns||[],r=e?t.linkedParent:t,o=-1,n=0;return 3===t.side&&!i.inverted&&s.length?!t.linkedParent:((i[t.coll]||[]).forEach((i,e)=>{i.side!==t.side||i.options.isInternal||(n=e,i!==r||(o=e))}),n===o&&(!p(e)||s.length===e))}renderBorder(t){let i=this.axis,e=i.chart.renderer,s=i.options,r=e.path(t).addClass("highcharts-axis-line").add(i.axisGroup);return e.styledMode||r.attr({stroke:s.lineColor,"stroke-width":s.lineWidth,zIndex:7}),r}}l.E=function(t){return this.dateFormat("%a",t,!0).charAt(0)},l.W=function(t){let i=this.toParts(t),e=(i[7]+6)%7,s=i.slice(0);s[2]=i[2]-e+3;let r=this.toParts(this.makeTime(s[0],0,1));return 4!==r[7]&&(i[1]=0,i[2]=1+(11-r[7])%7),(1+Math.floor((this.makeTime(s[0],s[1],s[2])-this.makeTime(r[0],r[1],r[2]))/6048e5)).toString()};let F=o();({compose:function(t,i,e){return t.keepProps.includes("grid")||(t.keepProps.push("grid"),t.prototype.getMaxLabelDimensions=P,x(t.prototype,"unsquish",G),x(t.prototype,"getOffset",y),a(t,"init",A),a(t,"afterGetTitlePosition",w),a(t,"afterInit",L),a(t,"afterRender",B),a(t,"afterSetAxisTranslation",O),a(t,"afterSetOptions",T),a(t,"afterSetOptions",v),a(t,"afterSetScale",M),a(t,"afterTickSize",W),a(t,"trimTicks",C),a(t,"destroy",z),a(i,"afterSetChartSize",S),a(e,"afterGetLabelPosition",E),a(e,"labelFormat",I)),t}}).compose(F.Axis,F.Chart,F.Tick);let R=o();export{R as default};