UNPKG

highcharts

Version:
12 lines 5.3 kB
!/** * Highcharts JS v12.1.2 (2024-12-21) * @module highcharts/modules/series-on-point * @requires highcharts * * Series on point module * * (c) 2010-2024 Highsoft AS * Author: Rafal Sebestjanski and Piotr Madej * * License: www.highcharts.com/license */function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e(t._Highcharts,t._Highcharts.Point,t._Highcharts.Series,t._Highcharts.SeriesRegistry,t._Highcharts.SVGRenderer):"function"==typeof define&&define.amd?define("highcharts/modules/series-on-point",["highcharts/highcharts"],function(t){return e(t,t.Point,t.Series,t.SeriesRegistry,t.SVGRenderer)}):"object"==typeof exports?exports["highcharts/modules/series-on-point"]=e(t._Highcharts,t._Highcharts.Point,t._Highcharts.Series,t._Highcharts.SeriesRegistry,t._Highcharts.SVGRenderer):t.Highcharts=e(t.Highcharts,t.Highcharts.Point,t.Highcharts.Series,t.Highcharts.SeriesRegistry,t.Highcharts.SVGRenderer)}("undefined"==typeof window?this:window,(t,e,s,i,o)=>(()=>{"use strict";var r,n={260:t=>{t.exports=e},540:t=>{t.exports=o},820:t=>{t.exports=s},512:t=>{t.exports=i},944:e=>{e.exports=t}},h={};function a(t){var e=h[t];if(void 0!==e)return e.exports;var s=h[t]={exports:{}};return n[t](s,s.exports,a),s.exports}a.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return a.d(e,{a:e}),e},a.d=(t,e)=>{for(var s in e)a.o(e,s)&&!a.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:e[s]})},a.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var l={};a.d(l,{default:()=>T});var c=a(944),p=a.n(c);let{fireEvent:d,isArray:u,objectEach:f,uniqueKey:g}=p(),m=class{constructor(t={}){this.autoId=!t.id,this.columns={},this.id=t.id||g(),this.modified=this,this.rowCount=0,this.versionTag=g();let e=0;f(t.columns||{},(t,s)=>{this.columns[s]=t.slice(),e=Math.max(e,t.length)}),this.applyRowCount(e)}applyRowCount(t){this.rowCount=t,f(this.columns,e=>{u(e)&&(e.length=t)})}getColumn(t,e){return this.columns[t]}getColumns(t,e){return(t||Object.keys(this.columns)).reduce((t,e)=>(t[e]=this.columns[e],t),{})}getRow(t,e){return(e||Object.keys(this.columns)).map(e=>this.columns[e]?.[t])}setColumn(t,e=[],s=0,i){this.setColumns({[t]:e},s,i)}setColumns(t,e,s){let i=this.rowCount;f(t,(t,e)=>{this.columns[e]=t.slice(),i=t.length}),this.applyRowCount(i),s?.silent||(d(this,"afterSetColumns"),this.versionTag=g())}setRow(t,e=this.rowCount,s,i){let{columns:o}=this,r=s?this.rowCount+1:e+1;f(t,(t,n)=>{let h=o[n]||i?.addColumns!==!1&&Array(r);h&&(s?h.splice(e,0,t):h[e]=t,o[n]=h)}),r>this.rowCount&&this.applyRowCount(r),i?.silent||(d(this,"afterSetRows"),this.versionTag=g())}};var y=a(260),w=a.n(y);a(820);var x=a(512),C=a.n(x),P=a(540),R=a.n(P);let{composed:b}=p(),{bubble:S}=C().seriesTypes,{addEvent:H,defined:v,find:_,isNumber:G,pushUnique:E}=p();!function(t){t.compose=function(t,s){if(E(b,"SeriesOnPoint")){let{chartGetZData:i,seriesAfterInit:o,seriesAfterRender:r,seriesGetCenter:n,seriesShowOrHide:h,seriesTranslate:a}=e.prototype;t.types.pie.prototype.onPointSupported=!0,H(t,"afterInit",o),H(t,"afterRender",r),H(t,"afterGetCenter",n),H(t,"hide",h),H(t,"show",h),H(t,"translate",a),H(s,"beforeRender",i),H(s,"beforeRedraw",i)}return t};class e{constructor(t){this.getColumn=S.prototype.getColumn,this.getRadii=S.prototype.getRadii,this.getRadius=S.prototype.getRadius,this.getPxExtremes=S.prototype.getPxExtremes,this.getZExtremes=S.prototype.getZExtremes,this.chart=t.chart,this.series=t,this.options=t.options.onPoint}drawConnector(){this.connector||(this.connector=this.series.chart.renderer.path().addClass("highcharts-connector-seriesonpoint").attr({zIndex:-1}).add(this.series.markerGroup));let t=this.getConnectorAttributes();t&&this.connector.animate(t)}getConnectorAttributes(){let t=this.series.chart,e=this.options;if(!e)return;let s=e.connectorOptions||{},i=e.position,o=t.get(e.id);if(!(o instanceof w())||!i||!v(o.plotX)||!v(o.plotY))return;let r=v(i.x)?i.x:o.plotX,n=v(i.y)?i.y:o.plotY,h=r+(i.offsetX||0),a=n+(i.offsetY||0),l=s.width||1,c=s.stroke||this.series.color,p=s.dashstyle,d={d:R().prototype.crispLine([["M",r,n],["L",h,a]],l),"stroke-width":l};return t.styledMode||(d.stroke=c,d.dashstyle=p),d}seriesAfterInit(){this.onPointSupported&&this.options.onPoint&&(this.bubblePadding=!0,this.useMapGeometry=!0,this.onPoint=new e(this))}seriesAfterRender(){delete this.chart.bubbleZExtremes,this.onPoint&&this.onPoint.drawConnector()}seriesGetCenter(t){let e=this.options.onPoint,s=t.positions;if(e){let t=this.chart.get(e.id);t instanceof w()&&v(t.plotX)&&v(t.plotY)&&(s[0]=t.plotX,s[1]=t.plotY);let i=e.position;i&&(v(i.x)&&(s[0]=i.x),v(i.y)&&(s[1]=i.y),i.offsetX&&(s[0]+=i.offsetX),i.offsetY&&(s[1]+=i.offsetY))}let i=this.radii&&this.radii[this.index];G(i)&&(s[2]=2*i),t.positions=s}seriesShowOrHide(){let t=this.chart.series;this.points?.forEach(e=>{let s=_(t,t=>{let s=((t.onPoint||{}).options||{}).id;return!!s&&s===e.id});s&&s.setVisible(!s.visible,!1)})}seriesTranslate(){this.onPoint&&(this.onPoint.getRadii(),this.radii=this.onPoint.radii)}chartGetZData(){let t=[];this.series.forEach(e=>{let s=e.options.onPoint;t.push(s?.z??null)});let e=new m({columns:{z:t}});this.series.forEach(t=>{t.onPoint&&(t.onPoint.dataTable=t.dataTable=e)})}}t.Additions=e}(r||(r={}));let O=r,j=p();O.compose(j.Series,j.Chart);let T=p();return l.default})());