UNPKG

realchart

Version:

Wooritech charting library

8 lines (6 loc) 2.85 kB
/** * RealChart Heatmap v1.3.17 * Copyright (C) 2023-2025 WooriTech Inc. * All Rights Reserved. */ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("realchart")):"function"==typeof define&&define.amd?define(["exports","realchart"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).RealChartheatmap={},e.RealChart)}(this,(function(e,t){"use strict";function i(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(i){if("default"!==i){var r=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(t,i,r.get?r:{enumerable:!0,get:function(){return e[i]}})}})),t.default=e,Object.freeze(t)}var r=i(t);class s extends t.ZValuePoint{}class n extends t.ConnectableSeries{getColor(e){}canMixWith(e){return!1}canCategorized(){return!0}hasZ(){return!0}defYAxisType(){return"category"}_createPoint(e){return new s(e)}_doPrepareRender(){super._doPrepareRender();let e=Number.MAX_VALUE,i=Number.MIN_VALUE;this._runPoints.forEach((r=>{isNaN(r.zValue)||(e=t.minv(e,r.zValue),i=t.maxv(i,r.zValue))})),this._heatMin=e,this._heatMax=i}}n.type=t.HeatmapSeriesType,n.defaults=t.extend(t.Series.defaults,{tooltipText:"x: <b>${x}</b><br>y: <b>${y}</b><br>heat: <b>${z}</b>"});class o extends t.RectElement{constructor(e){super(e,t.SeriesView.POINT_CLASS)}}class a extends t.SeriesView{constructor(e){super(e,"rct-heatmap-series"),this._cells=new t.ElementPool(this._pointContainer,o)}_getPointPool(){return this._cells}_prepareSeries(e,t){this.$_parepareCells(t,this._visPoints)}_renderSeries(e,t){this._pointContainer.invert(this._inverted,t),this.$_layoutCells(e,t)}_runShowEffect(e){e&&t.SeriesAnimation.grow(this)}_doViewRateChanged(e){this.$_layoutCells(this.width,this.height)}$_parepareCells(e,i){const r=new t.Color(e._calcedColor),s=[{fill:void 0}],n=e._heatMin,o=e._heatMax-n;this._cells.prepare(i.length,((t,a)=>{const l=t.point=i[a];s[0].fill=r.brighten(1-(l.zValue-n)/o).toString(),this._setPointStyle(t,e,l,s)}))}$_layoutCells(e,t){const i=this.model,r=this._inverted,s=this._getGrowRate();i.pointLabel;const n=this._labelViews(),o=this._labelContainer._textAlign,a=i._xAxisObj,l=i._yAxisObj,u=r?e:t,h=r?t:e,c=r?0:t;this._cells.forEach((e=>{const t=e.point;if(e.setVis(!t.isNull)){const i=a.getUnitLen(h,t.xValue)*s,_=l.getUnitLen(u,t.yValue)*s;let d,f=a.getPos(h,t.xValue)-i/2,p=c-l.getPos(u,t.yValue)-_/2;if(t.xPos=r?c+l.getPos(u,t.yValue):f+i/2,t.yPos=r?h-a.getPos(h,t.xValue)+i/2:p+_/2,e.setBounds(f,p,i,_),n&&(d=n.get(t,0))){d.layout(o);const e=d.getBBox();r?(p=h-a.getPos(h,t.xValue)-e.height/2,f=c+l.getPos(u,t.yValue)):(f+=i/2,p+=(_-e.height)/2),f-=e.width/2,d.trans(f,p)}}}))}}function l(e){(function(e){return e.Series&&e.SeriesView})(e)&&(e.Series.register(n),e.SeriesView.register([n,a]))}l(r),e.HeatmapSeries=n,e.default=l,Object.defineProperty(e,"__esModule",{value:!0})}));