UNPKG

highcharts

Version:
9 lines 5.68 kB
/** * Highcharts JS v12.3.0 (2025-06-21) * @module highcharts/modules/broken-axis * @requires highcharts * * (c) 2009-2025 Torstein Honsi * * License: www.highcharts.com/license */import*as t from"../highcharts.js";var e,i={};i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var s in e)i.o(e,s)&&!i.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);let s=t.default;var r=i.n(s);let n=t.default.StackItem;var o=i.n(n);let{addEvent:a,find:l,fireEvent:f,isArray:h,isNumber:k,pick:c}=r();!function(t){function e(){void 0!==this.brokenAxis&&this.brokenAxis.setBreaks(this.options.breaks,!1)}function i(){this.brokenAxis?.hasBreaks&&(this.options.ordinal=!1)}function s(){let t=this.brokenAxis;if(t?.hasBreaks){let e=this.tickPositions,i=this.tickPositions.info,s=[];for(let i=0;i<e.length;i++)t.isInAnyBreak(e[i])||s.push(e[i]);this.tickPositions=s,this.tickPositions.info=i}}function r(){this.brokenAxis||(this.brokenAxis=new x(this))}function n(){let{isDirty:t,options:{connectNulls:e},points:i,xAxis:s,yAxis:r}=this;if(t){let t=i.length;for(;t--;){let n=i[t],o=(null!==n.y||!1!==e)&&(s?.brokenAxis?.isInAnyBreak(n.x,!0)||r?.brokenAxis?.isInAnyBreak(n.y,!0));n.visible=!o&&!1!==n.options.visible}}}function u(){this.drawBreaks(this.xAxis,["x"]),this.drawBreaks(this.yAxis,c(this.pointArrayMap,["y"]))}function p(t,e){let i,s,r,n=this,o=n.points;if(t?.brokenAxis?.hasBreaks){let a=t.brokenAxis;e.forEach(function(e){i=a?.breakArray||[],s=t.isXAxis?t.min:c(n.options.threshold,t.min);let l=t?.options?.breaks?.filter(function(t){let e=!0;for(let s=0;s<i.length;s++){let r=i[s];if(r.from===t.from&&r.to===t.to){e=!1;break}}return e});o.forEach(function(n){r=c(n["stack"+e.toUpperCase()],n[e]),i.forEach(function(e){if(k(s)&&k(r)){let i="";s<e.from&&r>e.to||s>e.from&&r<e.from?i="pointBreak":(s<e.from&&r>e.from&&r<e.to||s>e.from&&r>e.to&&r<e.from)&&(i="pointInBreak"),i&&f(t,i,{point:n,brk:e})}}),l?.forEach(function(e){f(t,"pointOutsideOfBreak",{point:n,brk:e})})})})}}function m(){let t=this.currentDataGrouping,e=t?.gapSize,i=this.points.slice(),s=this.yAxis,r=this.options.gapSize,n=i.length-1;if(r&&n>0){let t,a;for("value"!==this.options.gapUnit&&(r*=this.basePointRange),e&&e>r&&e>=this.basePointRange&&(r=e);n--;)if(a&&!1!==a.visible||(a=i[n+1]),t=i[n],!1!==a.visible&&!1!==t.visible){if(a.x-t.x>r){let e=(t.x+a.x)/2;i.splice(n+1,0,{isNull:!0,x:e}),s.stacking&&this.options.stacking&&((s.stacking.stacks[this.stackKey][e]=new(o())(s,s.options.stackLabels,!1,e,this.stack)).total=0)}a=t}}return this.getGraphPath(i)}t.compose=function(t,o){if(!t.keepProps.includes("brokenAxis")){t.keepProps.push("brokenAxis"),a(t,"init",r),a(t,"afterInit",e),a(t,"afterSetTickPositions",s),a(t,"afterSetOptions",i);let l=o.prototype;l.drawBreaks=p,l.gappedPath=m,a(o,"afterGeneratePoints",n),a(o,"afterRender",u)}return t};class x{static isInBreak(t,e){let i,s=t.repeat||1/0,r=t.from,n=t.to-t.from,o=e>=r?(e-r)%s:s-(r-e)%s;return t.inclusive?o<=n:o<n&&0!==o}static lin2Val(t){let e=this.brokenAxis,i=e?.breakArray;if(!i||!k(t))return t;let s=t,r,n;for(n=0;n<i.length&&!((r=i[n]).from>=s);n++)r.to<s?s+=r.len:x.isInBreak(r,s)&&(s+=r.len);return s}static val2Lin(t){let e=this.brokenAxis,i=e?.breakArray;if(!i||!k(t))return t;let s=t,r,n;for(n=0;n<i.length;n++)if((r=i[n]).to<=t)s-=r.len;else if(r.from>=t)break;else if(x.isInBreak(r,t)){s-=t-r.from;break}return s}constructor(t){this.hasBreaks=!1,this.axis=t}findBreakAt(t,e){return l(e,function(e){return e.from<t&&t<e.to})}isInAnyBreak(t,e){let i=this.axis,s=i.options.breaks||[],r=s.length,n,o,a;if(r&&k(t)){for(;r--;)x.isInBreak(s[r],t)&&(n=!0,o||(o=c(s[r].showPoints,!i.isXAxis)));a=n&&e?n&&!o:n}return a}setBreaks(t,e){let i=this,s=i.axis,r=s.chart.time,n=h(t)&&!!t.length&&!!Object.keys(t[0]).length;s.isDirty=i.hasBreaks!==n,i.hasBreaks=n,t?.forEach(t=>{t.from=r.parse(t.from)||0,t.to=r.parse(t.to)||0}),t!==s.options.breaks&&(s.options.breaks=s.userOptions.breaks=t),s.forceRedraw=!0,s.series.forEach(function(t){t.isDirty=!0}),n||s.val2lin!==x.val2Lin||(delete s.val2lin,delete s.lin2val),n&&(s.userOptions.ordinal=!1,s.lin2val=x.lin2Val,s.val2lin=x.val2Lin,s.setExtremes=function(t,e,r,n,o){if(i.hasBreaks){let s,r=this.options.breaks||[];for(;s=i.findBreakAt(t,r);)t=s.to;for(;s=i.findBreakAt(e,r);)e=s.from;e<t&&(e=t)}s.constructor.prototype.setExtremes.call(this,t,e,r,n,o)},s.setAxisTranslation=function(){if(s.constructor.prototype.setAxisTranslation.call(this),i.unitLength=void 0,i.hasBreaks){let t=s.options.breaks||[],e=[],r=[],n=c(s.pointRangePadding,0),o=0,a,l,h=s.userMin||s.min,u=s.userMax||s.max,p,m;t.forEach(function(t){l=t.repeat||1/0,k(h)&&k(u)&&(x.isInBreak(t,h)&&(h+=t.to%l-h%l),x.isInBreak(t,u)&&(u-=u%l-t.from%l))}),t.forEach(function(t){if(p=t.from,l=t.repeat||1/0,k(h)&&k(u)){for(;p-l>h;)p-=l;for(;p<h;)p+=l;for(m=p;m<u;m+=l)e.push({value:m,move:"in"}),e.push({value:m+t.to-t.from,move:"out",size:t.breakSize})}}),e.sort(function(t,e){return t.value===e.value?("in"!==t.move)-("in"!==e.move):t.value-e.value}),a=0,p=h,e.forEach(function(t){1===(a+="in"===t.move?1:-1)&&"in"===t.move&&(p=t.value),0===a&&k(p)&&(r.push({from:p,to:t.value,len:t.value-p-(t.size||0)}),o+=t.value-p-(t.size||0))}),i.breakArray=r,k(h)&&k(u)&&k(s.min)&&(i.unitLength=u-h-o+n,f(s,"afterBreaks"),s.staticScale?s.transA=s.staticScale:i.unitLength&&(s.transA*=(u-s.min+n)/i.unitLength),n&&(s.minPixelPadding=s.transA*(s.minPointOffset||0)),s.min=h,s.max=u)}}),c(e,!0)&&s.chart.redraw()}}t.Additions=x}(e||(e={}));let u=e,p=r();p.BrokenAxis=p.BrokenAxis||u,p.BrokenAxis.compose(p.Axis,p.Series);let m=r();export{m as default};