Socket
Socket
Sign inDemoInstall

heatmap-ts

Package Overview
Dependencies
0
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.0.1 to 0.0.2

21

dist/defaultConfig.d.ts
import { AxisFields, ValueFields } from './interface';
export interface defaultConfig {
export interface DefaultConfig {
defaultRadius: number;

@@ -13,18 +13,3 @@ defaultGradient: Record<number, string>;

}
declare const _default: {
defaultRadius: number;
defaultGradient: {
0.25: string;
0.55: string;
0.85: string;
1: string;
};
defaultMaxOpacity: number;
defaultMinOpacity: number;
defaultBlur: number;
defaultXField: string;
defaultYField: string;
defaultValueField: string;
plugins: {};
};
export default _default;
declare const defaultConfigs: DefaultConfig;
export default defaultConfigs;

@@ -1,15 +0,1 @@

"use strict";
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */var t=function(){return(t=Object.assign||function(t){for(var e,i=1,a=arguments.length;i<a;i++)for(var r in e=arguments[i])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)},e=function(){function t(){this.eStore={}}return t.prototype.on=function(t,e,i){this.eStore[t]||(this.eStore[t]=[]),this.eStore[t].push((function(t){return e.call(i,t)}))},t.prototype.emit=function(t,e){this.eStore[t]&&this.eStore[t].forEach((function(t){return t(e)}))},t}(),i=function(){function t(t){this.coordinator=new e,this.data=[],this.radi=[],this.min=10,this.max=1,this.xField=t.xField||t.defaultXField,this.yField=t.yField||t.defaultYField,this.valueField=t.valueField||t.defaultValueField,this.radius=t.radius||t.defaultRadius}return t.prototype._organiseData=function(t,e){var i=t[this.xField],a=t[this.yField],r=this.radi,n=this.data,s=this.max,h=this.min,o=t[this.valueField]||1,d=t.radius||this.radius;console.log("x",i),r[i]||(n[i]=[],r[i]=[]),r[i][a]?n[i][a]+=o:(n[i][a]=o,r[i][a]=d);var l=n[i][a];return l?l>s?(e?this.setDataMax(l):this.max=l,!1):l<h?(e?this.setDataMin(l):this.min=l,!1):void 0:{x:i,y:a,value:o,radius:d,min:h,max:s}},t.prototype._unOrganizeData=function(){for(var t=[],e=0;e<this.radi.length;e++)for(var i=0;i<this.radi[e].length;i++)t.push({x:e,y:i,radius:this.radi[e][i],value:this.radi[e][i]});return{min:this.min,max:this.max,data:t}},t.prototype._onExtremaChange=function(){this.coordinator.emit("extremachange",{min:this.min,max:this.max})},t.prototype.addData=function(t){var e=this._organiseData(t,!0);e&&(0===this.data.length&&(this.min=e.value,this.max=e.value),this.coordinator.emit("renderpartial",{min:this.min,max:this.max,data:[e]}))},t.prototype.setData=function(t){var e=t.data;this.data=[],this.radi=[];for(var i=0;i<e.length;i++)this._organiseData(e[i],!1);return this.max=t.max,this.min=t.min||0,this._onExtremaChange(),this.coordinator.emit("renderall",this._getInternalData()),this},t.prototype.setDataMax=function(t){return this.max=t,this._onExtremaChange(),this.coordinator.emit("renderall",this._getInternalData()),this},t.prototype.setDataMin=function(t){return this.min=t,this._onExtremaChange(),this.coordinator.emit("renderall",this._getInternalData()),this},t.prototype._getInternalData=function(){return{max:this.max,min:this.min,data:this.data,radi:this.radi}},t.prototype.getData=function(){return this._unOrganizeData()},t}(),a=function(){function t(t){var e=getComputedStyle(t.container),i=t.canvas||document.createElement("canvas"),a=t.shadowCanvas||document.createElement("canvas");this.canvas=i,this.ctx=i.getContext("2d"),this.shadowCanvas=a,this.shadowCtx=a.getContext("2d");var r=t.width||+e.width.replace(/px/,""),n=t.height||+e.height.replace(/px/,"");this.width=i.width=a.width=r,this.height=i.height=a.height=n,this.max=0,this.min=0,this.blur=1,this.opacity=1,this.maxOpacity=1,this.minOpacity=0,this.useGradientOpacity=!1,i.style.cssText=a.style.cssText="position:absolute;left:0;top:0;",t.container.style.position="relative",t.container.appendChild(i),this.renderBoundaries=[1e4,1e4,0,0],this.palette=this._getColorPalette(t),this.templates=[],this._setStyles(t)}return t.prototype.renderPartial=function(t){t.data.length>0&&(this._drawAlpha(t),this._colorize())},t.prototype.renderAll=function(t){this._clear(),t.data.length>0&&(this._drawAlpha(this._prepareData(t)),this._colorize())},t.prototype.updateConfig=function(t){t.gradient&&this._updateGradient(t),this._setStyles(t)},t.prototype.setDimensions=function(t,e){this.width=this.canvas.width=this.shadowCanvas.width=t,this.height=this.canvas.height=this.shadowCanvas.height=e},t.prototype.getValueAt=function(t){if(!this.shadowCtx)return 0;var e=this.shadowCtx.getImageData(t.x,t.y,1,1);return Math.abs(this.max-this.min)*(e.data[3]/255)>>0},t.prototype.getDataURL=function(){return this.canvas.toDataURL()},t.prototype._getColorPalette=function(t){var e=t.gradient||t.defaultGradient,i=document.createElement("canvas"),a=i.getContext("2d");if(i.width=256,i.height=1,!a)return new Uint8ClampedArray(1024);var r=a.createLinearGradient(0,0,256,1);for(var n in e)r.addColorStop(Number(n),e[n]);return a.fillStyle=r,a.fillRect(0,0,256,1),a.getImageData(0,0,256,1).data},t.prototype._getPointTemplate=function(t,e){var i=document.createElement("canvas"),a=i.getContext("2d");if(!a)return i;var r=t,n=t;if(i.width=i.height=2*t,1===e)a.beginPath(),a.arc(r,n,t,0,2*Math.PI,!1),a.fillStyle="rgba(0,0,0,1)",a.fill();else{var s=a.createRadialGradient(r,n,t*e,r,n,t);s.addColorStop(0,"rgba(0,0,0,1)"),s.addColorStop(1,"rgba(0,0,0,0)"),a.fillStyle=s,a.fillRect(0,0,2*t,2*t)}return i},t.prototype._prepareData=function(t){for(var e=[],i=t.min,a=t.max,r=t.radi,n=t.data,s=Object.keys(n),h=s.length;h--;)for(var o=s[h],d=Object.keys(n[o]),l=d.length;l--;){var u=d[l],c=n[o][u],p=r[o][u];e.push({x:Number(o),y:Number(u),value:c,radius:p})}return{min:i,max:a,data:e}},t.prototype._setStyles=function(t){this.blur=0===t.blur?0:t.blur||t.defaultBlur,t.backgroundColor&&(this.canvas.style.backgroundColor=t.backgroundColor),this.width=this.canvas.width=this.shadowCanvas.width=t.width||this.width,this.height=this.canvas.height=this.shadowCanvas.height=t.height||this.height,this.opacity=255*(t.opacity||0),this.maxOpacity=255*(t.maxOpacity||t.defaultMaxOpacity),this.minOpacity=255*(t.minOpacity||t.defaultMinOpacity),this.useGradientOpacity=!!t.useGradientOpacity},t.prototype._updateGradient=function(t){this.palette=this._getColorPalette(t)},t.prototype._drawAlpha=function(t){for(var e=this.min=t.min,i=this.max=t.max,a=t.data||[],r=a.length,n=1-this.blur;r--;){var s=a[r],h=s.x,o=s.y,d=s.radius,l=Math.min(s.value,i),u=h-d,c=o-d;if(!this.shadowCtx)return;var p=void 0;this.templates[d]?p=this.templates[d]:this.templates[d]=p=this._getPointTemplate(d,n);var g=(l-e)/(i-e);this.shadowCtx.globalAlpha=g<.01?.01:g,this.shadowCtx.drawImage(p,u,c),u<this.renderBoundaries[0]&&(this.renderBoundaries[0]=u),c<this.renderBoundaries[1]&&(this.renderBoundaries[1]=c),u+2*d>this.renderBoundaries[2]&&(this.renderBoundaries[2]=u+2*d),c+2*d>this.renderBoundaries[3]&&(this.renderBoundaries[3]=c+2*d)}},t.prototype._colorize=function(){var t=this.renderBoundaries[0],e=this.renderBoundaries[1],i=this.renderBoundaries[2]-t,a=this.renderBoundaries[3]-e,r=this.width,n=this.height;if(t<0&&(t=0),e<0&&(e=0),t+i>r&&(i=r-t),e+a>n&&(a=n-e),this.ctx&&this.shadowCtx){for(var s=this.shadowCtx.getImageData(t,e,i,a),h=3;h<s.data.length;h+=4){var o,d=s.data[h],l=4*d;if(l)o=this.opacity>0?this.opacity:d<this.maxOpacity?d<this.minOpacity?this.minOpacity:d:this.maxOpacity,s.data[h-3]=this.palette[l],s.data[h-2]=this.palette[l+1],s.data[h-1]=this.palette[l+2],s.data[h]=this.useGradientOpacity?this.palette[l+3]:o}this.ctx.putImageData(s,t,e),this.renderBoundaries=[1e3,1e3,0,0]}},t.prototype._clear=function(){this.ctx&&this.shadowCtx&&(this.ctx.clearRect(0,0,this.width,this.height),this.shadowCtx.clearRect(0,0,this.width,this.height))},t}(),r={defaultRadius:40,defaultGradient:{.25:"rgb(0,0,255)",.55:"rgb(0,255,0)",.85:"yellow",1:"rgb(255,0,0)"},defaultMaxOpacity:1,defaultMinOpacity:0,defaultBlur:.85,defaultXField:"x",defaultYField:"y",defaultValueField:"value",plugins:{}},n=function(){function e(e){this.config=t(t({},r),e),this.renderer=new a(this.config),this.store=new i(this.config),this._init()}return e.prototype._init=function(){var t=this;this.store.coordinator.on("renderpartial",this.renderer.renderPartial,this.renderer),this.store.coordinator.on("renderall",this.renderer.renderAll,this.renderer),this.store.coordinator.on("extremachange",(function(e){t.config.onExtremaChange&&t.config.onExtremaChange({min:e.min,max:e.max,gradient:t.config.gradient||t.config.defaultGradient})}))},e.prototype.addData=function(t){return this.store.addData(t),this},e.prototype.setData=function(t){return this.store.setData(t),this},e.prototype.setDataMaxx=function(t){return this.store.setDataMax(t),this},e.prototype.setDataMin=function(t){return this.store.setDataMin(t),this},e.prototype.repaint=function(){return this.store.coordinator.emit("renderall",this.store._getInternalData()),this},e.prototype.getData=function(){return this.store.getData()},e.prototype.getDataURL=function(){return this.renderer.getDataURL()},e.prototype.getValueAt=function(t){return this.renderer.getValueAt(t)},e}();module.exports=n;
"use strict";var t={defaultRadius:40,defaultGradient:{.25:"rgb(0,0,255)",.55:"rgb(0,255,0)",.85:"yellow",1:"rgb(255,0,0)"},defaultMaxOpacity:1,defaultMinOpacity:0,defaultBlur:.85,defaultXField:"x",defaultYField:"y",defaultValueField:"value",plugins:{}},i=function(){function t(){this.eStore={}}return t.prototype.on=function(t,i,a){this.eStore[t]||(this.eStore[t]=[]),this.eStore[t].push((function(t){return i.call(a,t)}))},t.prototype.emit=function(t,i){this.eStore[t]&&this.eStore[t].forEach((function(t){return t(i)}))},t}(),a=function(){function a(a){this.coordinator=new i,this.data=[],this.radi=[],this.min=10,this.max=1,this.xField=a.xField||t.defaultXField,this.yField=a.yField||t.defaultYField,this.valueField=a.valueField||t.defaultValueField,this.radius=a.radius||t.defaultRadius}return a.prototype._organiseData=function(t,i){var a=t[this.xField],e=t[this.yField],r=this.radi,n=this.data,s=this.max,h=this.min,o=t[this.valueField]||1,d=t.radius||this.radius;r[a]||(n[a]=[],r[a]=[]),r[a][e]?n[a][e]+=o:(n[a][e]=o,r[a][e]=d);var u=n[a][e];return u?u>s?(i?this.setDataMax(u):this.max=u,!1):u<h?(i?this.setDataMin(u):this.min=u,!1):void 0:{x:a,y:e,value:o,radius:d,min:h,max:s}},a.prototype._unOrganizeData=function(){for(var t=[],i=0;i<this.radi.length;i++)for(var a=0;a<this.radi[i].length;a++)t.push({x:i,y:a,radius:this.radi[i][a],value:this.radi[i][a]});return{min:this.min,max:this.max,data:t}},a.prototype._onExtremaChange=function(){this.coordinator.emit("extremachange",{min:this.min,max:this.max})},a.prototype.addData=function(t){var i=this._organiseData(t,!0);i&&(0===this.data.length&&(this.min=i.value,this.max=i.value),this.coordinator.emit("renderpartial",{min:this.min,max:this.max,data:[i]}))},a.prototype.setData=function(t){var i=t.data;this.data=[],this.radi=[];for(var a=0;a<i.length;a++)this._organiseData(i[a],!1);return this.max=t.max,this.min=t.min||0,this._onExtremaChange(),this.coordinator.emit("renderall",this._getInternalData()),this},a.prototype.setDataMax=function(t){return this.max=t,this._onExtremaChange(),this.coordinator.emit("renderall",this._getInternalData()),this},a.prototype.setDataMin=function(t){return this.min=t,this._onExtremaChange(),this.coordinator.emit("renderall",this._getInternalData()),this},a.prototype._getInternalData=function(){return{max:this.max,min:this.min,data:this.data,radi:this.radi}},a.prototype.getData=function(){return this._unOrganizeData()},a}(),e=function(){function i(t){this.canvas=t.canvas||document.createElement("canvas"),this.ctx=this.canvas.getContext("2d"),this.shadowCanvas=t.shadowCanvas||document.createElement("canvas"),this.shadowCtx=this.shadowCanvas.getContext("2d"),this.width=t.width||512,this.height=t.height||512,this.max=100,this.min=1,this.blur=1,this.opacity=1,this.maxOpacity=1,this.minOpacity=0,this.useGradientOpacity=!1,this.canvas.style.cssText=this.shadowCanvas.style.cssText="position:absolute;left:0;top:0;",t.container&&(t.container.style.position="relative",t.container.appendChild(this.canvas)),this.renderBoundaries=[1e4,1e4,0,0],this.palette=this._getColorPalette(t),this.templates=[],this._setStyles(t)}return i.prototype.renderPartial=function(t){t.data.length>0&&(this._drawAlpha(t),this._colorize())},i.prototype.renderAll=function(t){this._clear(),t.data.length>0&&(this._drawAlpha(this._prepareData(t)),this._colorize())},i.prototype.updateConfig=function(t){t.gradient&&this._updateGradient(t),this._setStyles(t)},i.prototype.setDimensions=function(t,i){this.width=this.canvas.width=this.shadowCanvas.width=t,this.height=this.canvas.height=this.shadowCanvas.height=i},i.prototype.getValueAt=function(t){if(!this.shadowCtx)return 0;var i=this.shadowCtx.getImageData(t.x,t.y,1,1);return Math.abs(this.max-this.min)*(i.data[3]/255)>>0},i.prototype.getDataURL=function(){return this.canvas.toDataURL()},i.prototype._getColorPalette=function(i){var a=i.gradient||t.defaultGradient,e=document.createElement("canvas"),r=e.getContext("2d");if(e.width=256,e.height=1,!r)return new Uint8ClampedArray(1024);var n=r.createLinearGradient(0,0,256,1);for(var s in a)n.addColorStop(Number(s),a[s]);return r.fillStyle=n,r.fillRect(0,0,256,1),r.getImageData(0,0,256,1).data},i.prototype._getPointTemplate=function(t,i){var a=document.createElement("canvas"),e=a.getContext("2d");if(!e)return a;var r=t,n=t;if(a.width=a.height=2*t,1===i)e.beginPath(),e.arc(r,n,t,0,2*Math.PI,!1),e.fillStyle="rgba(0,0,0,1)",e.fill();else{var s=e.createRadialGradient(r,n,t*i,r,n,t);s.addColorStop(0,"rgba(0,0,0,1)"),s.addColorStop(1,"rgba(0,0,0,0)"),e.fillStyle=s,e.fillRect(0,0,2*t,2*t)}return a},i.prototype._prepareData=function(t){for(var i=[],a=t.min,e=t.max,r=t.radi,n=t.data,s=Object.keys(n),h=s.length;h--;)for(var o=s[h],d=Object.keys(n[o]),u=d.length;u--;){var l=d[u],c=n[o][l],p=r[o][l];i.push({x:Number(o),y:Number(l),value:c,radius:p})}return{min:a,max:e,data:i}},i.prototype._setStyles=function(i){this.blur=0===i.blur?0:i.blur||t.defaultBlur,i.backgroundColor&&(this.canvas.style.backgroundColor=i.backgroundColor),this.width=this.canvas.width=this.shadowCanvas.width=i.width||this.width,this.height=this.canvas.height=this.shadowCanvas.height=i.height||this.height,this.opacity=255*(i.opacity||0),this.maxOpacity=255*(i.maxOpacity||t.defaultMaxOpacity),this.minOpacity=255*(i.minOpacity||t.defaultMinOpacity),this.useGradientOpacity=!!i.useGradientOpacity},i.prototype._updateGradient=function(t){this.palette=this._getColorPalette(t)},i.prototype._drawAlpha=function(t){for(var i=this.min=t.min,a=this.max=t.max,e=t.data||[],r=e.length,n=1-this.blur;r--;){var s=e[r],h=s.x,o=s.y,d=s.radius,u=Math.min(s.value,a),l=h-d,c=o-d;if(!this.shadowCtx)return;var p=void 0;this.templates[d]?p=this.templates[d]:this.templates[d]=p=this._getPointTemplate(d,n);var m=(u-i)/(a-i);this.shadowCtx.globalAlpha=m<.01?.01:m,this.shadowCtx.drawImage(p,l,c),l<this.renderBoundaries[0]&&(this.renderBoundaries[0]=l),c<this.renderBoundaries[1]&&(this.renderBoundaries[1]=c),l+2*d>this.renderBoundaries[2]&&(this.renderBoundaries[2]=l+2*d),c+2*d>this.renderBoundaries[3]&&(this.renderBoundaries[3]=c+2*d)}},i.prototype._colorize=function(){var t=this.renderBoundaries[0],i=this.renderBoundaries[1],a=this.renderBoundaries[2]-t,e=this.renderBoundaries[3]-i,r=this.width,n=this.height;if(t<0&&(t=0),i<0&&(i=0),t+a>r&&(a=r-t),i+e>n&&(e=n-i),this.ctx&&this.shadowCtx){for(var s=this.shadowCtx.getImageData(t,i,a,e),h=3;h<s.data.length;h+=4){var o,d=s.data[h],u=4*d;if(u)o=this.opacity>0?this.opacity:d<this.maxOpacity?d<this.minOpacity?this.minOpacity:d:this.maxOpacity,s.data[h-3]=this.palette[u],s.data[h-2]=this.palette[u+1],s.data[h-1]=this.palette[u+2],s.data[h]=this.useGradientOpacity?this.palette[u+3]:o}this.ctx.putImageData(s,t,i),this.renderBoundaries=[1e3,1e3,0,0]}},i.prototype._clear=function(){this.ctx&&this.shadowCtx&&(this.ctx.clearRect(0,0,this.width,this.height),this.shadowCtx.clearRect(0,0,this.width,this.height))},i}(),r=function(){function i(t){this.config=t,this.renderer=new e(this.config),this.store=new a(this.config),this._init()}return i.prototype._init=function(){var i=this;this.store.coordinator.on("renderpartial",this.renderer.renderPartial,this.renderer),this.store.coordinator.on("renderall",this.renderer.renderAll,this.renderer),this.store.coordinator.on("extremachange",(function(a){i.config.onExtremaChange&&i.config.onExtremaChange({min:a.min,max:a.max,gradient:i.config.gradient||t.defaultGradient})}))},i.prototype.addData=function(t){return this.store.addData(t),this},i.prototype.setData=function(t){return this.store.setData(t),this},i.prototype.setDataMaxx=function(t){return this.store.setDataMax(t),this},i.prototype.setDataMin=function(t){return this.store.setDataMin(t),this},i.prototype.repaint=function(){return this.store.coordinator.emit("renderall",this.store._getInternalData()),this},i.prototype.getData=function(){return this.store.getData()},i.prototype.getDataURL=function(){return this.renderer.getDataURL()},i.prototype.getValueAt=function(t){return this.renderer.getValueAt(t)},i}();module.exports=r;

@@ -1,15 +0,1 @@

/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */
var t=function(){return(t=Object.assign||function(t){for(var e,i=1,a=arguments.length;i<a;i++)for(var r in e=arguments[i])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)},e=function(){function t(){this.eStore={}}return t.prototype.on=function(t,e,i){this.eStore[t]||(this.eStore[t]=[]),this.eStore[t].push((function(t){return e.call(i,t)}))},t.prototype.emit=function(t,e){this.eStore[t]&&this.eStore[t].forEach((function(t){return t(e)}))},t}(),i=function(){function t(t){this.coordinator=new e,this.data=[],this.radi=[],this.min=10,this.max=1,this.xField=t.xField||t.defaultXField,this.yField=t.yField||t.defaultYField,this.valueField=t.valueField||t.defaultValueField,this.radius=t.radius||t.defaultRadius}return t.prototype._organiseData=function(t,e){var i=t[this.xField],a=t[this.yField],r=this.radi,n=this.data,s=this.max,h=this.min,o=t[this.valueField]||1,d=t.radius||this.radius;console.log("x",i),r[i]||(n[i]=[],r[i]=[]),r[i][a]?n[i][a]+=o:(n[i][a]=o,r[i][a]=d);var l=n[i][a];return l?l>s?(e?this.setDataMax(l):this.max=l,!1):l<h?(e?this.setDataMin(l):this.min=l,!1):void 0:{x:i,y:a,value:o,radius:d,min:h,max:s}},t.prototype._unOrganizeData=function(){for(var t=[],e=0;e<this.radi.length;e++)for(var i=0;i<this.radi[e].length;i++)t.push({x:e,y:i,radius:this.radi[e][i],value:this.radi[e][i]});return{min:this.min,max:this.max,data:t}},t.prototype._onExtremaChange=function(){this.coordinator.emit("extremachange",{min:this.min,max:this.max})},t.prototype.addData=function(t){var e=this._organiseData(t,!0);e&&(0===this.data.length&&(this.min=e.value,this.max=e.value),this.coordinator.emit("renderpartial",{min:this.min,max:this.max,data:[e]}))},t.prototype.setData=function(t){var e=t.data;this.data=[],this.radi=[];for(var i=0;i<e.length;i++)this._organiseData(e[i],!1);return this.max=t.max,this.min=t.min||0,this._onExtremaChange(),this.coordinator.emit("renderall",this._getInternalData()),this},t.prototype.setDataMax=function(t){return this.max=t,this._onExtremaChange(),this.coordinator.emit("renderall",this._getInternalData()),this},t.prototype.setDataMin=function(t){return this.min=t,this._onExtremaChange(),this.coordinator.emit("renderall",this._getInternalData()),this},t.prototype._getInternalData=function(){return{max:this.max,min:this.min,data:this.data,radi:this.radi}},t.prototype.getData=function(){return this._unOrganizeData()},t}(),a=function(){function t(t){var e=getComputedStyle(t.container),i=t.canvas||document.createElement("canvas"),a=t.shadowCanvas||document.createElement("canvas");this.canvas=i,this.ctx=i.getContext("2d"),this.shadowCanvas=a,this.shadowCtx=a.getContext("2d");var r=t.width||+e.width.replace(/px/,""),n=t.height||+e.height.replace(/px/,"");this.width=i.width=a.width=r,this.height=i.height=a.height=n,this.max=0,this.min=0,this.blur=1,this.opacity=1,this.maxOpacity=1,this.minOpacity=0,this.useGradientOpacity=!1,i.style.cssText=a.style.cssText="position:absolute;left:0;top:0;",t.container.style.position="relative",t.container.appendChild(i),this.renderBoundaries=[1e4,1e4,0,0],this.palette=this._getColorPalette(t),this.templates=[],this._setStyles(t)}return t.prototype.renderPartial=function(t){t.data.length>0&&(this._drawAlpha(t),this._colorize())},t.prototype.renderAll=function(t){this._clear(),t.data.length>0&&(this._drawAlpha(this._prepareData(t)),this._colorize())},t.prototype.updateConfig=function(t){t.gradient&&this._updateGradient(t),this._setStyles(t)},t.prototype.setDimensions=function(t,e){this.width=this.canvas.width=this.shadowCanvas.width=t,this.height=this.canvas.height=this.shadowCanvas.height=e},t.prototype.getValueAt=function(t){if(!this.shadowCtx)return 0;var e=this.shadowCtx.getImageData(t.x,t.y,1,1);return Math.abs(this.max-this.min)*(e.data[3]/255)>>0},t.prototype.getDataURL=function(){return this.canvas.toDataURL()},t.prototype._getColorPalette=function(t){var e=t.gradient||t.defaultGradient,i=document.createElement("canvas"),a=i.getContext("2d");if(i.width=256,i.height=1,!a)return new Uint8ClampedArray(1024);var r=a.createLinearGradient(0,0,256,1);for(var n in e)r.addColorStop(Number(n),e[n]);return a.fillStyle=r,a.fillRect(0,0,256,1),a.getImageData(0,0,256,1).data},t.prototype._getPointTemplate=function(t,e){var i=document.createElement("canvas"),a=i.getContext("2d");if(!a)return i;var r=t,n=t;if(i.width=i.height=2*t,1===e)a.beginPath(),a.arc(r,n,t,0,2*Math.PI,!1),a.fillStyle="rgba(0,0,0,1)",a.fill();else{var s=a.createRadialGradient(r,n,t*e,r,n,t);s.addColorStop(0,"rgba(0,0,0,1)"),s.addColorStop(1,"rgba(0,0,0,0)"),a.fillStyle=s,a.fillRect(0,0,2*t,2*t)}return i},t.prototype._prepareData=function(t){for(var e=[],i=t.min,a=t.max,r=t.radi,n=t.data,s=Object.keys(n),h=s.length;h--;)for(var o=s[h],d=Object.keys(n[o]),l=d.length;l--;){var u=d[l],c=n[o][u],p=r[o][u];e.push({x:Number(o),y:Number(u),value:c,radius:p})}return{min:i,max:a,data:e}},t.prototype._setStyles=function(t){this.blur=0===t.blur?0:t.blur||t.defaultBlur,t.backgroundColor&&(this.canvas.style.backgroundColor=t.backgroundColor),this.width=this.canvas.width=this.shadowCanvas.width=t.width||this.width,this.height=this.canvas.height=this.shadowCanvas.height=t.height||this.height,this.opacity=255*(t.opacity||0),this.maxOpacity=255*(t.maxOpacity||t.defaultMaxOpacity),this.minOpacity=255*(t.minOpacity||t.defaultMinOpacity),this.useGradientOpacity=!!t.useGradientOpacity},t.prototype._updateGradient=function(t){this.palette=this._getColorPalette(t)},t.prototype._drawAlpha=function(t){for(var e=this.min=t.min,i=this.max=t.max,a=t.data||[],r=a.length,n=1-this.blur;r--;){var s=a[r],h=s.x,o=s.y,d=s.radius,l=Math.min(s.value,i),u=h-d,c=o-d;if(!this.shadowCtx)return;var p=void 0;this.templates[d]?p=this.templates[d]:this.templates[d]=p=this._getPointTemplate(d,n);var g=(l-e)/(i-e);this.shadowCtx.globalAlpha=g<.01?.01:g,this.shadowCtx.drawImage(p,u,c),u<this.renderBoundaries[0]&&(this.renderBoundaries[0]=u),c<this.renderBoundaries[1]&&(this.renderBoundaries[1]=c),u+2*d>this.renderBoundaries[2]&&(this.renderBoundaries[2]=u+2*d),c+2*d>this.renderBoundaries[3]&&(this.renderBoundaries[3]=c+2*d)}},t.prototype._colorize=function(){var t=this.renderBoundaries[0],e=this.renderBoundaries[1],i=this.renderBoundaries[2]-t,a=this.renderBoundaries[3]-e,r=this.width,n=this.height;if(t<0&&(t=0),e<0&&(e=0),t+i>r&&(i=r-t),e+a>n&&(a=n-e),this.ctx&&this.shadowCtx){for(var s=this.shadowCtx.getImageData(t,e,i,a),h=3;h<s.data.length;h+=4){var o,d=s.data[h],l=4*d;if(l)o=this.opacity>0?this.opacity:d<this.maxOpacity?d<this.minOpacity?this.minOpacity:d:this.maxOpacity,s.data[h-3]=this.palette[l],s.data[h-2]=this.palette[l+1],s.data[h-1]=this.palette[l+2],s.data[h]=this.useGradientOpacity?this.palette[l+3]:o}this.ctx.putImageData(s,t,e),this.renderBoundaries=[1e3,1e3,0,0]}},t.prototype._clear=function(){this.ctx&&this.shadowCtx&&(this.ctx.clearRect(0,0,this.width,this.height),this.shadowCtx.clearRect(0,0,this.width,this.height))},t}(),r={defaultRadius:40,defaultGradient:{.25:"rgb(0,0,255)",.55:"rgb(0,255,0)",.85:"yellow",1:"rgb(255,0,0)"},defaultMaxOpacity:1,defaultMinOpacity:0,defaultBlur:.85,defaultXField:"x",defaultYField:"y",defaultValueField:"value",plugins:{}},n=function(){function e(e){this.config=t(t({},r),e),this.renderer=new a(this.config),this.store=new i(this.config),this._init()}return e.prototype._init=function(){var t=this;this.store.coordinator.on("renderpartial",this.renderer.renderPartial,this.renderer),this.store.coordinator.on("renderall",this.renderer.renderAll,this.renderer),this.store.coordinator.on("extremachange",(function(e){t.config.onExtremaChange&&t.config.onExtremaChange({min:e.min,max:e.max,gradient:t.config.gradient||t.config.defaultGradient})}))},e.prototype.addData=function(t){return this.store.addData(t),this},e.prototype.setData=function(t){return this.store.setData(t),this},e.prototype.setDataMaxx=function(t){return this.store.setDataMax(t),this},e.prototype.setDataMin=function(t){return this.store.setDataMin(t),this},e.prototype.repaint=function(){return this.store.coordinator.emit("renderall",this.store._getInternalData()),this},e.prototype.getData=function(){return this.store.getData()},e.prototype.getDataURL=function(){return this.renderer.getDataURL()},e.prototype.getValueAt=function(t){return this.renderer.getValueAt(t)},e}();export default n;
var t={defaultRadius:40,defaultGradient:{.25:"rgb(0,0,255)",.55:"rgb(0,255,0)",.85:"yellow",1:"rgb(255,0,0)"},defaultMaxOpacity:1,defaultMinOpacity:0,defaultBlur:.85,defaultXField:"x",defaultYField:"y",defaultValueField:"value",plugins:{}},i=function(){function t(){this.eStore={}}return t.prototype.on=function(t,i,a){this.eStore[t]||(this.eStore[t]=[]),this.eStore[t].push((function(t){return i.call(a,t)}))},t.prototype.emit=function(t,i){this.eStore[t]&&this.eStore[t].forEach((function(t){return t(i)}))},t}(),a=function(){function a(a){this.coordinator=new i,this.data=[],this.radi=[],this.min=10,this.max=1,this.xField=a.xField||t.defaultXField,this.yField=a.yField||t.defaultYField,this.valueField=a.valueField||t.defaultValueField,this.radius=a.radius||t.defaultRadius}return a.prototype._organiseData=function(t,i){var a=t[this.xField],e=t[this.yField],r=this.radi,n=this.data,s=this.max,h=this.min,o=t[this.valueField]||1,d=t.radius||this.radius;r[a]||(n[a]=[],r[a]=[]),r[a][e]?n[a][e]+=o:(n[a][e]=o,r[a][e]=d);var u=n[a][e];return u?u>s?(i?this.setDataMax(u):this.max=u,!1):u<h?(i?this.setDataMin(u):this.min=u,!1):void 0:{x:a,y:e,value:o,radius:d,min:h,max:s}},a.prototype._unOrganizeData=function(){for(var t=[],i=0;i<this.radi.length;i++)for(var a=0;a<this.radi[i].length;a++)t.push({x:i,y:a,radius:this.radi[i][a],value:this.radi[i][a]});return{min:this.min,max:this.max,data:t}},a.prototype._onExtremaChange=function(){this.coordinator.emit("extremachange",{min:this.min,max:this.max})},a.prototype.addData=function(t){var i=this._organiseData(t,!0);i&&(0===this.data.length&&(this.min=i.value,this.max=i.value),this.coordinator.emit("renderpartial",{min:this.min,max:this.max,data:[i]}))},a.prototype.setData=function(t){var i=t.data;this.data=[],this.radi=[];for(var a=0;a<i.length;a++)this._organiseData(i[a],!1);return this.max=t.max,this.min=t.min||0,this._onExtremaChange(),this.coordinator.emit("renderall",this._getInternalData()),this},a.prototype.setDataMax=function(t){return this.max=t,this._onExtremaChange(),this.coordinator.emit("renderall",this._getInternalData()),this},a.prototype.setDataMin=function(t){return this.min=t,this._onExtremaChange(),this.coordinator.emit("renderall",this._getInternalData()),this},a.prototype._getInternalData=function(){return{max:this.max,min:this.min,data:this.data,radi:this.radi}},a.prototype.getData=function(){return this._unOrganizeData()},a}(),e=function(){function i(t){this.canvas=t.canvas||document.createElement("canvas"),this.ctx=this.canvas.getContext("2d"),this.shadowCanvas=t.shadowCanvas||document.createElement("canvas"),this.shadowCtx=this.shadowCanvas.getContext("2d"),this.width=t.width||512,this.height=t.height||512,this.max=100,this.min=1,this.blur=1,this.opacity=1,this.maxOpacity=1,this.minOpacity=0,this.useGradientOpacity=!1,this.canvas.style.cssText=this.shadowCanvas.style.cssText="position:absolute;left:0;top:0;",t.container&&(t.container.style.position="relative",t.container.appendChild(this.canvas)),this.renderBoundaries=[1e4,1e4,0,0],this.palette=this._getColorPalette(t),this.templates=[],this._setStyles(t)}return i.prototype.renderPartial=function(t){t.data.length>0&&(this._drawAlpha(t),this._colorize())},i.prototype.renderAll=function(t){this._clear(),t.data.length>0&&(this._drawAlpha(this._prepareData(t)),this._colorize())},i.prototype.updateConfig=function(t){t.gradient&&this._updateGradient(t),this._setStyles(t)},i.prototype.setDimensions=function(t,i){this.width=this.canvas.width=this.shadowCanvas.width=t,this.height=this.canvas.height=this.shadowCanvas.height=i},i.prototype.getValueAt=function(t){if(!this.shadowCtx)return 0;var i=this.shadowCtx.getImageData(t.x,t.y,1,1);return Math.abs(this.max-this.min)*(i.data[3]/255)>>0},i.prototype.getDataURL=function(){return this.canvas.toDataURL()},i.prototype._getColorPalette=function(i){var a=i.gradient||t.defaultGradient,e=document.createElement("canvas"),r=e.getContext("2d");if(e.width=256,e.height=1,!r)return new Uint8ClampedArray(1024);var n=r.createLinearGradient(0,0,256,1);for(var s in a)n.addColorStop(Number(s),a[s]);return r.fillStyle=n,r.fillRect(0,0,256,1),r.getImageData(0,0,256,1).data},i.prototype._getPointTemplate=function(t,i){var a=document.createElement("canvas"),e=a.getContext("2d");if(!e)return a;var r=t,n=t;if(a.width=a.height=2*t,1===i)e.beginPath(),e.arc(r,n,t,0,2*Math.PI,!1),e.fillStyle="rgba(0,0,0,1)",e.fill();else{var s=e.createRadialGradient(r,n,t*i,r,n,t);s.addColorStop(0,"rgba(0,0,0,1)"),s.addColorStop(1,"rgba(0,0,0,0)"),e.fillStyle=s,e.fillRect(0,0,2*t,2*t)}return a},i.prototype._prepareData=function(t){for(var i=[],a=t.min,e=t.max,r=t.radi,n=t.data,s=Object.keys(n),h=s.length;h--;)for(var o=s[h],d=Object.keys(n[o]),u=d.length;u--;){var l=d[u],c=n[o][l],p=r[o][l];i.push({x:Number(o),y:Number(l),value:c,radius:p})}return{min:a,max:e,data:i}},i.prototype._setStyles=function(i){this.blur=0===i.blur?0:i.blur||t.defaultBlur,i.backgroundColor&&(this.canvas.style.backgroundColor=i.backgroundColor),this.width=this.canvas.width=this.shadowCanvas.width=i.width||this.width,this.height=this.canvas.height=this.shadowCanvas.height=i.height||this.height,this.opacity=255*(i.opacity||0),this.maxOpacity=255*(i.maxOpacity||t.defaultMaxOpacity),this.minOpacity=255*(i.minOpacity||t.defaultMinOpacity),this.useGradientOpacity=!!i.useGradientOpacity},i.prototype._updateGradient=function(t){this.palette=this._getColorPalette(t)},i.prototype._drawAlpha=function(t){for(var i=this.min=t.min,a=this.max=t.max,e=t.data||[],r=e.length,n=1-this.blur;r--;){var s=e[r],h=s.x,o=s.y,d=s.radius,u=Math.min(s.value,a),l=h-d,c=o-d;if(!this.shadowCtx)return;var p=void 0;this.templates[d]?p=this.templates[d]:this.templates[d]=p=this._getPointTemplate(d,n);var m=(u-i)/(a-i);this.shadowCtx.globalAlpha=m<.01?.01:m,this.shadowCtx.drawImage(p,l,c),l<this.renderBoundaries[0]&&(this.renderBoundaries[0]=l),c<this.renderBoundaries[1]&&(this.renderBoundaries[1]=c),l+2*d>this.renderBoundaries[2]&&(this.renderBoundaries[2]=l+2*d),c+2*d>this.renderBoundaries[3]&&(this.renderBoundaries[3]=c+2*d)}},i.prototype._colorize=function(){var t=this.renderBoundaries[0],i=this.renderBoundaries[1],a=this.renderBoundaries[2]-t,e=this.renderBoundaries[3]-i,r=this.width,n=this.height;if(t<0&&(t=0),i<0&&(i=0),t+a>r&&(a=r-t),i+e>n&&(e=n-i),this.ctx&&this.shadowCtx){for(var s=this.shadowCtx.getImageData(t,i,a,e),h=3;h<s.data.length;h+=4){var o,d=s.data[h],u=4*d;if(u)o=this.opacity>0?this.opacity:d<this.maxOpacity?d<this.minOpacity?this.minOpacity:d:this.maxOpacity,s.data[h-3]=this.palette[u],s.data[h-2]=this.palette[u+1],s.data[h-1]=this.palette[u+2],s.data[h]=this.useGradientOpacity?this.palette[u+3]:o}this.ctx.putImageData(s,t,i),this.renderBoundaries=[1e3,1e3,0,0]}},i.prototype._clear=function(){this.ctx&&this.shadowCtx&&(this.ctx.clearRect(0,0,this.width,this.height),this.shadowCtx.clearRect(0,0,this.width,this.height))},i}(),r=function(){function i(t){this.config=t,this.renderer=new e(this.config),this.store=new a(this.config),this._init()}return i.prototype._init=function(){var i=this;this.store.coordinator.on("renderpartial",this.renderer.renderPartial,this.renderer),this.store.coordinator.on("renderall",this.renderer.renderAll,this.renderer),this.store.coordinator.on("extremachange",(function(a){i.config.onExtremaChange&&i.config.onExtremaChange({min:a.min,max:a.max,gradient:i.config.gradient||t.defaultGradient})}))},i.prototype.addData=function(t){return this.store.addData(t),this},i.prototype.setData=function(t){return this.store.setData(t),this},i.prototype.setDataMaxx=function(t){return this.store.setDataMax(t),this},i.prototype.setDataMin=function(t){return this.store.setDataMin(t),this},i.prototype.repaint=function(){return this.store.coordinator.emit("renderall",this.store._getInternalData()),this},i.prototype.getData=function(){return this.store.getData()},i.prototype.getDataURL=function(){return this.renderer.getDataURL()},i.prototype.getValueAt=function(t){return this.renderer.getValueAt(t)},i}();export default r;

@@ -1,15 +0,1 @@

var HeatMap=function(){"use strict";
/*! *****************************************************************************
Copyright (c) Microsoft Corporation.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
***************************************************************************** */var t=function(){return(t=Object.assign||function(t){for(var e,i=1,a=arguments.length;i<a;i++)for(var r in e=arguments[i])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)},e=function(){function t(){this.eStore={}}return t.prototype.on=function(t,e,i){this.eStore[t]||(this.eStore[t]=[]),this.eStore[t].push((function(t){return e.call(i,t)}))},t.prototype.emit=function(t,e){this.eStore[t]&&this.eStore[t].forEach((function(t){return t(e)}))},t}(),i=function(){function t(t){this.coordinator=new e,this.data=[],this.radi=[],this.min=10,this.max=1,this.xField=t.xField||t.defaultXField,this.yField=t.yField||t.defaultYField,this.valueField=t.valueField||t.defaultValueField,this.radius=t.radius||t.defaultRadius}return t.prototype._organiseData=function(t,e){var i=t[this.xField],a=t[this.yField],r=this.radi,n=this.data,s=this.max,h=this.min,o=t[this.valueField]||1,d=t.radius||this.radius;console.log("x",i),r[i]||(n[i]=[],r[i]=[]),r[i][a]?n[i][a]+=o:(n[i][a]=o,r[i][a]=d);var l=n[i][a];return l?l>s?(e?this.setDataMax(l):this.max=l,!1):l<h?(e?this.setDataMin(l):this.min=l,!1):void 0:{x:i,y:a,value:o,radius:d,min:h,max:s}},t.prototype._unOrganizeData=function(){for(var t=[],e=0;e<this.radi.length;e++)for(var i=0;i<this.radi[e].length;i++)t.push({x:e,y:i,radius:this.radi[e][i],value:this.radi[e][i]});return{min:this.min,max:this.max,data:t}},t.prototype._onExtremaChange=function(){this.coordinator.emit("extremachange",{min:this.min,max:this.max})},t.prototype.addData=function(t){var e=this._organiseData(t,!0);e&&(0===this.data.length&&(this.min=e.value,this.max=e.value),this.coordinator.emit("renderpartial",{min:this.min,max:this.max,data:[e]}))},t.prototype.setData=function(t){var e=t.data;this.data=[],this.radi=[];for(var i=0;i<e.length;i++)this._organiseData(e[i],!1);return this.max=t.max,this.min=t.min||0,this._onExtremaChange(),this.coordinator.emit("renderall",this._getInternalData()),this},t.prototype.setDataMax=function(t){return this.max=t,this._onExtremaChange(),this.coordinator.emit("renderall",this._getInternalData()),this},t.prototype.setDataMin=function(t){return this.min=t,this._onExtremaChange(),this.coordinator.emit("renderall",this._getInternalData()),this},t.prototype._getInternalData=function(){return{max:this.max,min:this.min,data:this.data,radi:this.radi}},t.prototype.getData=function(){return this._unOrganizeData()},t}(),a=function(){function t(t){var e=getComputedStyle(t.container),i=t.canvas||document.createElement("canvas"),a=t.shadowCanvas||document.createElement("canvas");this.canvas=i,this.ctx=i.getContext("2d"),this.shadowCanvas=a,this.shadowCtx=a.getContext("2d");var r=t.width||+e.width.replace(/px/,""),n=t.height||+e.height.replace(/px/,"");this.width=i.width=a.width=r,this.height=i.height=a.height=n,this.max=0,this.min=0,this.blur=1,this.opacity=1,this.maxOpacity=1,this.minOpacity=0,this.useGradientOpacity=!1,i.style.cssText=a.style.cssText="position:absolute;left:0;top:0;",t.container.style.position="relative",t.container.appendChild(i),this.renderBoundaries=[1e4,1e4,0,0],this.palette=this._getColorPalette(t),this.templates=[],this._setStyles(t)}return t.prototype.renderPartial=function(t){t.data.length>0&&(this._drawAlpha(t),this._colorize())},t.prototype.renderAll=function(t){this._clear(),t.data.length>0&&(this._drawAlpha(this._prepareData(t)),this._colorize())},t.prototype.updateConfig=function(t){t.gradient&&this._updateGradient(t),this._setStyles(t)},t.prototype.setDimensions=function(t,e){this.width=this.canvas.width=this.shadowCanvas.width=t,this.height=this.canvas.height=this.shadowCanvas.height=e},t.prototype.getValueAt=function(t){if(!this.shadowCtx)return 0;var e=this.shadowCtx.getImageData(t.x,t.y,1,1);return Math.abs(this.max-this.min)*(e.data[3]/255)>>0},t.prototype.getDataURL=function(){return this.canvas.toDataURL()},t.prototype._getColorPalette=function(t){var e=t.gradient||t.defaultGradient,i=document.createElement("canvas"),a=i.getContext("2d");if(i.width=256,i.height=1,!a)return new Uint8ClampedArray(1024);var r=a.createLinearGradient(0,0,256,1);for(var n in e)r.addColorStop(Number(n),e[n]);return a.fillStyle=r,a.fillRect(0,0,256,1),a.getImageData(0,0,256,1).data},t.prototype._getPointTemplate=function(t,e){var i=document.createElement("canvas"),a=i.getContext("2d");if(!a)return i;var r=t,n=t;if(i.width=i.height=2*t,1===e)a.beginPath(),a.arc(r,n,t,0,2*Math.PI,!1),a.fillStyle="rgba(0,0,0,1)",a.fill();else{var s=a.createRadialGradient(r,n,t*e,r,n,t);s.addColorStop(0,"rgba(0,0,0,1)"),s.addColorStop(1,"rgba(0,0,0,0)"),a.fillStyle=s,a.fillRect(0,0,2*t,2*t)}return i},t.prototype._prepareData=function(t){for(var e=[],i=t.min,a=t.max,r=t.radi,n=t.data,s=Object.keys(n),h=s.length;h--;)for(var o=s[h],d=Object.keys(n[o]),l=d.length;l--;){var u=d[l],c=n[o][u],p=r[o][u];e.push({x:Number(o),y:Number(u),value:c,radius:p})}return{min:i,max:a,data:e}},t.prototype._setStyles=function(t){this.blur=0===t.blur?0:t.blur||t.defaultBlur,t.backgroundColor&&(this.canvas.style.backgroundColor=t.backgroundColor),this.width=this.canvas.width=this.shadowCanvas.width=t.width||this.width,this.height=this.canvas.height=this.shadowCanvas.height=t.height||this.height,this.opacity=255*(t.opacity||0),this.maxOpacity=255*(t.maxOpacity||t.defaultMaxOpacity),this.minOpacity=255*(t.minOpacity||t.defaultMinOpacity),this.useGradientOpacity=!!t.useGradientOpacity},t.prototype._updateGradient=function(t){this.palette=this._getColorPalette(t)},t.prototype._drawAlpha=function(t){for(var e=this.min=t.min,i=this.max=t.max,a=t.data||[],r=a.length,n=1-this.blur;r--;){var s=a[r],h=s.x,o=s.y,d=s.radius,l=Math.min(s.value,i),u=h-d,c=o-d;if(!this.shadowCtx)return;var p=void 0;this.templates[d]?p=this.templates[d]:this.templates[d]=p=this._getPointTemplate(d,n);var g=(l-e)/(i-e);this.shadowCtx.globalAlpha=g<.01?.01:g,this.shadowCtx.drawImage(p,u,c),u<this.renderBoundaries[0]&&(this.renderBoundaries[0]=u),c<this.renderBoundaries[1]&&(this.renderBoundaries[1]=c),u+2*d>this.renderBoundaries[2]&&(this.renderBoundaries[2]=u+2*d),c+2*d>this.renderBoundaries[3]&&(this.renderBoundaries[3]=c+2*d)}},t.prototype._colorize=function(){var t=this.renderBoundaries[0],e=this.renderBoundaries[1],i=this.renderBoundaries[2]-t,a=this.renderBoundaries[3]-e,r=this.width,n=this.height;if(t<0&&(t=0),e<0&&(e=0),t+i>r&&(i=r-t),e+a>n&&(a=n-e),this.ctx&&this.shadowCtx){for(var s=this.shadowCtx.getImageData(t,e,i,a),h=3;h<s.data.length;h+=4){var o,d=s.data[h],l=4*d;if(l)o=this.opacity>0?this.opacity:d<this.maxOpacity?d<this.minOpacity?this.minOpacity:d:this.maxOpacity,s.data[h-3]=this.palette[l],s.data[h-2]=this.palette[l+1],s.data[h-1]=this.palette[l+2],s.data[h]=this.useGradientOpacity?this.palette[l+3]:o}this.ctx.putImageData(s,t,e),this.renderBoundaries=[1e3,1e3,0,0]}},t.prototype._clear=function(){this.ctx&&this.shadowCtx&&(this.ctx.clearRect(0,0,this.width,this.height),this.shadowCtx.clearRect(0,0,this.width,this.height))},t}(),r={defaultRadius:40,defaultGradient:{.25:"rgb(0,0,255)",.55:"rgb(0,255,0)",.85:"yellow",1:"rgb(255,0,0)"},defaultMaxOpacity:1,defaultMinOpacity:0,defaultBlur:.85,defaultXField:"x",defaultYField:"y",defaultValueField:"value",plugins:{}};return function(){function e(e){this.config=t(t({},r),e),this.renderer=new a(this.config),this.store=new i(this.config),this._init()}return e.prototype._init=function(){var t=this;this.store.coordinator.on("renderpartial",this.renderer.renderPartial,this.renderer),this.store.coordinator.on("renderall",this.renderer.renderAll,this.renderer),this.store.coordinator.on("extremachange",(function(e){t.config.onExtremaChange&&t.config.onExtremaChange({min:e.min,max:e.max,gradient:t.config.gradient||t.config.defaultGradient})}))},e.prototype.addData=function(t){return this.store.addData(t),this},e.prototype.setData=function(t){return this.store.setData(t),this},e.prototype.setDataMaxx=function(t){return this.store.setDataMax(t),this},e.prototype.setDataMin=function(t){return this.store.setDataMin(t),this},e.prototype.repaint=function(){return this.store.coordinator.emit("renderall",this.store._getInternalData()),this},e.prototype.getData=function(){return this.store.getData()},e.prototype.getDataURL=function(){return this.renderer.getDataURL()},e.prototype.getValueAt=function(t){return this.renderer.getValueAt(t)},e}()}();
var HeatMap=function(){"use strict";var t={defaultRadius:40,defaultGradient:{.25:"rgb(0,0,255)",.55:"rgb(0,255,0)",.85:"yellow",1:"rgb(255,0,0)"},defaultMaxOpacity:1,defaultMinOpacity:0,defaultBlur:.85,defaultXField:"x",defaultYField:"y",defaultValueField:"value",plugins:{}},i=function(){function t(){this.eStore={}}return t.prototype.on=function(t,i,a){this.eStore[t]||(this.eStore[t]=[]),this.eStore[t].push((function(t){return i.call(a,t)}))},t.prototype.emit=function(t,i){this.eStore[t]&&this.eStore[t].forEach((function(t){return t(i)}))},t}(),a=function(){function a(a){this.coordinator=new i,this.data=[],this.radi=[],this.min=10,this.max=1,this.xField=a.xField||t.defaultXField,this.yField=a.yField||t.defaultYField,this.valueField=a.valueField||t.defaultValueField,this.radius=a.radius||t.defaultRadius}return a.prototype._organiseData=function(t,i){var a=t[this.xField],e=t[this.yField],r=this.radi,n=this.data,s=this.max,h=this.min,o=t[this.valueField]||1,d=t.radius||this.radius;r[a]||(n[a]=[],r[a]=[]),r[a][e]?n[a][e]+=o:(n[a][e]=o,r[a][e]=d);var u=n[a][e];return u?u>s?(i?this.setDataMax(u):this.max=u,!1):u<h?(i?this.setDataMin(u):this.min=u,!1):void 0:{x:a,y:e,value:o,radius:d,min:h,max:s}},a.prototype._unOrganizeData=function(){for(var t=[],i=0;i<this.radi.length;i++)for(var a=0;a<this.radi[i].length;a++)t.push({x:i,y:a,radius:this.radi[i][a],value:this.radi[i][a]});return{min:this.min,max:this.max,data:t}},a.prototype._onExtremaChange=function(){this.coordinator.emit("extremachange",{min:this.min,max:this.max})},a.prototype.addData=function(t){var i=this._organiseData(t,!0);i&&(0===this.data.length&&(this.min=i.value,this.max=i.value),this.coordinator.emit("renderpartial",{min:this.min,max:this.max,data:[i]}))},a.prototype.setData=function(t){var i=t.data;this.data=[],this.radi=[];for(var a=0;a<i.length;a++)this._organiseData(i[a],!1);return this.max=t.max,this.min=t.min||0,this._onExtremaChange(),this.coordinator.emit("renderall",this._getInternalData()),this},a.prototype.setDataMax=function(t){return this.max=t,this._onExtremaChange(),this.coordinator.emit("renderall",this._getInternalData()),this},a.prototype.setDataMin=function(t){return this.min=t,this._onExtremaChange(),this.coordinator.emit("renderall",this._getInternalData()),this},a.prototype._getInternalData=function(){return{max:this.max,min:this.min,data:this.data,radi:this.radi}},a.prototype.getData=function(){return this._unOrganizeData()},a}(),e=function(){function i(t){this.canvas=t.canvas||document.createElement("canvas"),this.ctx=this.canvas.getContext("2d"),this.shadowCanvas=t.shadowCanvas||document.createElement("canvas"),this.shadowCtx=this.shadowCanvas.getContext("2d"),this.width=t.width||512,this.height=t.height||512,this.max=100,this.min=1,this.blur=1,this.opacity=1,this.maxOpacity=1,this.minOpacity=0,this.useGradientOpacity=!1,this.canvas.style.cssText=this.shadowCanvas.style.cssText="position:absolute;left:0;top:0;",t.container&&(t.container.style.position="relative",t.container.appendChild(this.canvas)),this.renderBoundaries=[1e4,1e4,0,0],this.palette=this._getColorPalette(t),this.templates=[],this._setStyles(t)}return i.prototype.renderPartial=function(t){t.data.length>0&&(this._drawAlpha(t),this._colorize())},i.prototype.renderAll=function(t){this._clear(),t.data.length>0&&(this._drawAlpha(this._prepareData(t)),this._colorize())},i.prototype.updateConfig=function(t){t.gradient&&this._updateGradient(t),this._setStyles(t)},i.prototype.setDimensions=function(t,i){this.width=this.canvas.width=this.shadowCanvas.width=t,this.height=this.canvas.height=this.shadowCanvas.height=i},i.prototype.getValueAt=function(t){if(!this.shadowCtx)return 0;var i=this.shadowCtx.getImageData(t.x,t.y,1,1);return Math.abs(this.max-this.min)*(i.data[3]/255)>>0},i.prototype.getDataURL=function(){return this.canvas.toDataURL()},i.prototype._getColorPalette=function(i){var a=i.gradient||t.defaultGradient,e=document.createElement("canvas"),r=e.getContext("2d");if(e.width=256,e.height=1,!r)return new Uint8ClampedArray(1024);var n=r.createLinearGradient(0,0,256,1);for(var s in a)n.addColorStop(Number(s),a[s]);return r.fillStyle=n,r.fillRect(0,0,256,1),r.getImageData(0,0,256,1).data},i.prototype._getPointTemplate=function(t,i){var a=document.createElement("canvas"),e=a.getContext("2d");if(!e)return a;var r=t,n=t;if(a.width=a.height=2*t,1===i)e.beginPath(),e.arc(r,n,t,0,2*Math.PI,!1),e.fillStyle="rgba(0,0,0,1)",e.fill();else{var s=e.createRadialGradient(r,n,t*i,r,n,t);s.addColorStop(0,"rgba(0,0,0,1)"),s.addColorStop(1,"rgba(0,0,0,0)"),e.fillStyle=s,e.fillRect(0,0,2*t,2*t)}return a},i.prototype._prepareData=function(t){for(var i=[],a=t.min,e=t.max,r=t.radi,n=t.data,s=Object.keys(n),h=s.length;h--;)for(var o=s[h],d=Object.keys(n[o]),u=d.length;u--;){var l=d[u],c=n[o][l],p=r[o][l];i.push({x:Number(o),y:Number(l),value:c,radius:p})}return{min:a,max:e,data:i}},i.prototype._setStyles=function(i){this.blur=0===i.blur?0:i.blur||t.defaultBlur,i.backgroundColor&&(this.canvas.style.backgroundColor=i.backgroundColor),this.width=this.canvas.width=this.shadowCanvas.width=i.width||this.width,this.height=this.canvas.height=this.shadowCanvas.height=i.height||this.height,this.opacity=255*(i.opacity||0),this.maxOpacity=255*(i.maxOpacity||t.defaultMaxOpacity),this.minOpacity=255*(i.minOpacity||t.defaultMinOpacity),this.useGradientOpacity=!!i.useGradientOpacity},i.prototype._updateGradient=function(t){this.palette=this._getColorPalette(t)},i.prototype._drawAlpha=function(t){for(var i=this.min=t.min,a=this.max=t.max,e=t.data||[],r=e.length,n=1-this.blur;r--;){var s=e[r],h=s.x,o=s.y,d=s.radius,u=Math.min(s.value,a),l=h-d,c=o-d;if(!this.shadowCtx)return;var p=void 0;this.templates[d]?p=this.templates[d]:this.templates[d]=p=this._getPointTemplate(d,n);var m=(u-i)/(a-i);this.shadowCtx.globalAlpha=m<.01?.01:m,this.shadowCtx.drawImage(p,l,c),l<this.renderBoundaries[0]&&(this.renderBoundaries[0]=l),c<this.renderBoundaries[1]&&(this.renderBoundaries[1]=c),l+2*d>this.renderBoundaries[2]&&(this.renderBoundaries[2]=l+2*d),c+2*d>this.renderBoundaries[3]&&(this.renderBoundaries[3]=c+2*d)}},i.prototype._colorize=function(){var t=this.renderBoundaries[0],i=this.renderBoundaries[1],a=this.renderBoundaries[2]-t,e=this.renderBoundaries[3]-i,r=this.width,n=this.height;if(t<0&&(t=0),i<0&&(i=0),t+a>r&&(a=r-t),i+e>n&&(e=n-i),this.ctx&&this.shadowCtx){for(var s=this.shadowCtx.getImageData(t,i,a,e),h=3;h<s.data.length;h+=4){var o,d=s.data[h],u=4*d;if(u)o=this.opacity>0?this.opacity:d<this.maxOpacity?d<this.minOpacity?this.minOpacity:d:this.maxOpacity,s.data[h-3]=this.palette[u],s.data[h-2]=this.palette[u+1],s.data[h-1]=this.palette[u+2],s.data[h]=this.useGradientOpacity?this.palette[u+3]:o}this.ctx.putImageData(s,t,i),this.renderBoundaries=[1e3,1e3,0,0]}},i.prototype._clear=function(){this.ctx&&this.shadowCtx&&(this.ctx.clearRect(0,0,this.width,this.height),this.shadowCtx.clearRect(0,0,this.width,this.height))},i}();return function(){function i(t){this.config=t,this.renderer=new e(this.config),this.store=new a(this.config),this._init()}return i.prototype._init=function(){var i=this;this.store.coordinator.on("renderpartial",this.renderer.renderPartial,this.renderer),this.store.coordinator.on("renderall",this.renderer.renderAll,this.renderer),this.store.coordinator.on("extremachange",(function(a){i.config.onExtremaChange&&i.config.onExtremaChange({min:a.min,max:a.max,gradient:i.config.gradient||t.defaultGradient})}))},i.prototype.addData=function(t){return this.store.addData(t),this},i.prototype.setData=function(t){return this.store.setData(t),this},i.prototype.setDataMaxx=function(t){return this.store.setDataMax(t),this},i.prototype.setDataMin=function(t){return this.store.setDataMin(t),this},i.prototype.repaint=function(){return this.store.coordinator.emit("renderall",this.store._getInternalData()),this},i.prototype.getData=function(){return this.store.getData()},i.prototype.getDataURL=function(){return this.renderer.getDataURL()},i.prototype.getValueAt=function(t){return this.renderer.getValueAt(t)},i}()}();

10

dist/renderer.d.ts
import { StoreConfig, StoreData } from './store';
import { defaultConfig } from './defaultConfig';
import { DefaultConfig } from './defaultConfig';
import { Point } from './interface';
interface RendererConfig extends StoreConfig, defaultConfig {
container: HTMLElement;
interface RendererConfig extends StoreConfig {
container?: HTMLElement;
canvas?: HTMLCanvasElement;

@@ -10,4 +10,4 @@ shadowCanvas?: HTMLCanvasElement;

height?: number;
gradient?: defaultConfig['defaultGradient'];
blur?: defaultConfig['defaultBlur'];
gradient?: DefaultConfig['defaultGradient'];
blur?: DefaultConfig['defaultBlur'];
backgroundColor?: string;

@@ -14,0 +14,0 @@ opacity?: number;

import { AxisFields, ValueFields, DataPoint } from './interface';
import { defaultConfig } from './defaultConfig';
import Coordinator from './coordinator';
interface StoreConfig extends defaultConfig {
interface StoreConfig {
xField?: AxisFields;

@@ -6,0 +5,0 @@ yField?: AxisFields;

{
"name": "heatmap-ts",
"version": "0.0.1",
"version": "0.0.2",
"description": "Forked from [pa7/heatmap.js](https://github.com/pa7/heatmap.js) for TypeScript.",

@@ -10,3 +10,3 @@ "main": "dist/index.js",

"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "rollup --config ./rollup.config.js --watch",
"build": "rollup --config ./rollup.config.js"

@@ -13,0 +13,0 @@ },

import { AxisFields, ValueFields } from './interface'
export interface defaultConfig {
export interface DefaultConfig {
defaultRadius: number;

@@ -16,4 +16,3 @@ defaultGradient: Record<number, string>;

// Heatmap Config stores default values and will be merged with instance config
export default {
const defaultConfigs: DefaultConfig = {
defaultRadius: 40,

@@ -29,1 +28,4 @@ defaultGradient: { 0.25: "rgb(0,0,255)", 0.55: "rgb(0,255,0)", 0.85: "yellow", 1.0: "rgb(255,0,0)" },

}
// Heatmap Config stores default values and will be merged with instance config
export default defaultConfigs
import Store, { StoreData } from './store'
import Renderer, { RendererConfig } from './renderer'
import DefaultConfig from './defaultConfig'
import DefaultConfigs, { DefaultConfig } from './defaultConfig'
import { Point, DataPoint } from './interface'

@@ -17,3 +17,3 @@

constructor(config: Config) {
this.config = { ...DefaultConfig, ...config }
this.config = config
this.renderer = new Renderer(this.config)

@@ -33,3 +33,3 @@ this.store = new Store(this.config)

max: data.max,
gradient: this.config.gradient || this.config.defaultGradient
gradient: this.config.gradient || DefaultConfigs.defaultGradient
});

@@ -36,0 +36,0 @@ })

import { StoreConfig, StoreData } from './store'
import { defaultConfig } from './defaultConfig'
import DefaultConfigs, { DefaultConfig } from './defaultConfig'
import { Point, DataPoint } from './interface'
interface RendererConfig extends StoreConfig, defaultConfig {
container: HTMLElement;
interface RendererConfig extends StoreConfig {
container?: HTMLElement;
canvas?: HTMLCanvasElement;

@@ -11,4 +11,4 @@ shadowCanvas?: HTMLCanvasElement;

height?: number;
gradient?: defaultConfig['defaultGradient'];
blur?: defaultConfig['defaultBlur'];
gradient?: DefaultConfig['defaultGradient'];
blur?: DefaultConfig['defaultBlur'];
backgroundColor?: string;

@@ -20,3 +20,2 @@ opacity?: number;

}
class Renderer {

@@ -45,20 +44,13 @@

const styles = getComputedStyle(config.container)
const canvas = config.canvas || document.createElement('canvas')
const shadowCanvas = config.shadowCanvas || document.createElement('canvas')
this.canvas = config.canvas || document.createElement('canvas')
this.ctx = this.canvas.getContext('2d')
this.canvas = canvas
this.ctx = canvas.getContext('2d')
this.shadowCanvas = config.shadowCanvas || document.createElement('canvas')
this.shadowCtx = this.shadowCanvas.getContext('2d')
this.shadowCanvas = shadowCanvas
this.shadowCtx = shadowCanvas.getContext('2d')
this.width = config.width || 512
this.height = config.height || 512
const width = config.width || +(styles.width.replace(/px/, ''))
const height = config.height || +(styles.height.replace(/px/, ''))
this.width = canvas.width = shadowCanvas.width = width
this.height = canvas.height = shadowCanvas.height = height
this.max = 0
this.min = 0
this.max = 100
this.min = 1
this.blur = 1

@@ -71,7 +63,11 @@ this.opacity = 1

canvas.style.cssText = shadowCanvas.style.cssText = 'position:absolute;left:0;top:0;'
this.canvas.style.cssText = this.shadowCanvas.style.cssText = 'position:absolute;left:0;top:0;'
config.container.style.position = 'relative'
config.container.appendChild(canvas)
if (config.container) {
config.container.style.position = 'relative'
config.container.appendChild(this.canvas)
}
this.renderBoundaries = [10000, 10000, 0, 0]

@@ -122,3 +118,3 @@ this.palette = this._getColorPalette(config)

_getColorPalette(config: RendererConfig): Uint8ClampedArray {
const gradientConfig = config.gradient || config.defaultGradient
const gradientConfig = config.gradient || DefaultConfigs.defaultGradient
const paletteCanvas = document.createElement('canvas')

@@ -212,3 +208,3 @@ const paletteCtx = paletteCanvas.getContext('2d')

_setStyles(config: RendererConfig): void {
this.blur = config.blur === 0 ? 0 : (config.blur || config.defaultBlur)
this.blur = config.blur === 0 ? 0 : (config.blur || DefaultConfigs.defaultBlur)

@@ -223,4 +219,4 @@ if (config.backgroundColor) {

this.opacity = (config.opacity || 0) * 255
this.maxOpacity = (config.maxOpacity || config.defaultMaxOpacity) * 255
this.minOpacity = (config.minOpacity || config.defaultMinOpacity) * 255
this.maxOpacity = (config.maxOpacity || DefaultConfigs.defaultMaxOpacity) * 255
this.minOpacity = (config.minOpacity || DefaultConfigs.defaultMinOpacity) * 255
this.useGradientOpacity = !!config.useGradientOpacity

@@ -227,0 +223,0 @@ }

import { AxisFields, ValueFields, DataPoint } from './interface'
import { defaultConfig } from './defaultConfig'
import DefaultConfigs, { DefaultConfig } from './defaultConfig'
import Coordinator from './coordinator'
interface StoreConfig extends defaultConfig {
interface StoreConfig {
xField?: AxisFields;

@@ -43,6 +43,6 @@ yField?: AxisFields;

this.max = 1
this.xField = config.xField || config.defaultXField
this.yField = config.yField || config.defaultYField
this.valueField = config.valueField || config.defaultValueField
this.radius = config.radius || config.defaultRadius
this.xField = config.xField || DefaultConfigs.defaultXField
this.yField = config.yField || DefaultConfigs.defaultYField
this.valueField = config.valueField || DefaultConfigs.defaultValueField
this.radius = config.radius || DefaultConfigs.defaultRadius
}

@@ -61,8 +61,6 @@

console.log('x', x)
if (!radi[x]) {
data[x] = [];
radi[x] = []
}
}
if (!radi[x][y]) {

@@ -69,0 +67,0 @@ data[x][y] = value;

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc