UNPKG

realchart

Version:

Wooritech charting library

8 lines (6 loc) 2.87 kB
/** * RealChart Heatmap v1.4.29 * Copyright (C) 2023-2026 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:"${detail}",tooltipDetail:"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.PointViewPool(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,d=l.getUnitLen(u,t.yValue)*s;let _,p=a.getPos(h,t.xValue)-i/2,f=c-l.getPos(u,t.yValue)-d/2;if(t.xPos=r?c+l.getPos(u,t.yValue):p+i/2,t.yPos=r?h-a.getPos(h,t.xValue)+i/2:f+d/2,e.setBounds(p,f,i,d),n&&(_=n.get(t,0))){_.layout(o);const e=_.getBBox();r?(f=h-a.getPos(h,t.xValue)-e.height/2,p=c+l.getPos(u,t.yValue)):(p+=i/2,f+=(d-e.height)/2),p-=e.width/2,_.trans(p,f)}}})}}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})});