highcharts
Version:
JavaScript charting framework
13 lines • 2.96 kB
JavaScript
/**
* Highcharts JS v12.6.0 (2026-04-13)
* @module highcharts/modules/dotplot
* @requires highcharts
*
* Dot plot series type for Highcharts
*
* (c) 2010-2026 Highsoft AS
* Author: Torstein Hønsi
*
* A commercial license may be required depending on use.
* See www.highcharts.com/license
*/import*as t from"../highcharts.js";var e={};e.n=t=>{var r=t&&t.__esModule?()=>t.default:()=>t;return e.d(r,{a:r}),r},e.d=(t,r)=>{for(var o in r)e.o(r,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:r[o]})},e.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);let r=t.default;var o=e.n(r);let i=t.default.SeriesRegistry;var s=e.n(i);let{doc:l,win:n}=o();function a(t,e){let r;for(r in t||(t={}),e)t[r]=e[r];return t}function c(t){return p(t)&&"number"==typeof t.nodeType}function p(t,e){let r;return!!t&&"object"==typeof t&&(!e||"[object Array]"!==(r=Object.prototype.toString.call(t))&&"[object Array Iterator]"!==r)}Array.prototype.find;let{column:d}=s().seriesTypes;class h extends d{drawPoints(){var t;let e=this.options,r=this.chart.renderer,o=e.marker,i=this.points.reduce((t,e)=>t+Math.abs(e.y||0),0),s=this.points.reduce((t,e)=>t+(e.shapeArgs?.height||0),0),l=e.itemPadding||0,n=this.points[0]?.shapeArgs?.width||0,c=e.slotsPerBar,p=n;if(!("number"==typeof(t=c)&&!isNaN(t)&&t<1/0&&t>-1/0))for(c=1;c<i&&!(i/c<s/p*1.2);)p=n/++c;let d=s*c/i;for(let t of this.points){let e=t.marker||{},i=e.symbol||o.symbol,s=function(){let t=arguments,e=t.length;for(let r=0;r<e;r++){let e=t[r];if(null!=e)return e}}(e.radius,o.radius),n="rect"!==i?d:p,h=t.shapeArgs||{},f=(h.x||0)+((h.width||0)-c*n)/2,u=Math.abs(t.y??0),y=h.y||0,g=h.height||0,b,m=f,A=t.negative?y:y+g-d,v=0;t.graphics=b=t.graphics||[];let j=t.pointAttr?t.pointAttr[t.selected?"selected":""]||this.pointAttr[""]:this.pointAttribs(t,t.selected&&"select");if(delete j.r,this.chart.styledMode&&(delete j.stroke,delete j["stroke-width"]),"number"==typeof t.y){t.graphic||(t.graphic=r.g("point").add(this.group));for(let e=0;e<u;e++){let o={x:m+n*l,y:A+d*l,width:n*(1-2*l),height:d*(1-2*l),r:s},p=b[e];p?p.animate(o):p=r.symbol(i).attr(a(o,j)).add(t.graphic),p.isActive=!0,b[e]=p,m+=n,++v>=c&&(v=0,m=f,A=t.negative?A+d:A-d)}}let O=-1;for(let t of b)++O,t&&(t.isActive?t.isActive=!1:(t.destroy(),b.splice(O,1)))}}}h.defaultOptions=function(t,...e){let r,o=[t,...e],i={},s=function(t,e){return"object"!=typeof t&&(t={}),function(t,e,r){for(let r in t)Object.hasOwnProperty.call(t,r)&&e.call((0,t[r]),t[r],r,t)}(e,function(r,o){if("__proto__"!==o&&"constructor"!==o){let i;!p(r,!0)||(i=r?.constructor,p(r,!0)&&!c(r)&&i?.name&&"Object"!==i.name)||c(r)?t[o]=e[o]:t[o]=s(t[o]||{},r)}}),t};!0===t&&(i=o[1],o=Array.prototype.slice.call(o,2));let l=o.length;for(r=0;r<l;r++)i=s(i,o[r]);return i}(d.defaultOptions,{itemPadding:.1,marker:{symbol:"circle",states:{hover:{},select:{}}},slotsPerBar:void 0}),a(h.prototype,{markerAttribs:void 0}),s().registerSeriesType("dotplot",h);let f=o();export{f as default};