heatmap.js-interpolation-woracheth
Advanced tools
Comparing version 2.0.5 to 2.0.7
/* | ||
* heatmap.js-woracheth v2.0.5 | JavaScript Heatmap Library | ||
* heatmap.js-interpolation-woracheth v2.0.5 | JavaScript Heatmap Library | ||
* | ||
@@ -7,3 +7,3 @@ * Copyright 2008-2016 Patrick Wied <heatmapjs@patrick-wied.at> - All rights reserved. | ||
* | ||
* :: 2022-11-23 16:38 | ||
* :: 2022-11-24 09:59 | ||
*/ | ||
@@ -10,0 +10,0 @@ ;(function (name, context, factory) { |
/* | ||
* heatmap.js-woracheth v2.0.5 | JavaScript Heatmap Library | ||
* heatmap.js-interpolation-woracheth v2.0.5 | JavaScript Heatmap Library | ||
* | ||
@@ -7,4 +7,4 @@ * Copyright 2008-2016 Patrick Wied <heatmapjs@patrick-wied.at> - All rights reserved. | ||
* | ||
* :: 2022-11-23 16:38 | ||
* :: 2022-11-24 09:59 | ||
*/ | ||
(function(t,e,a){if(typeof module!=="undefined"&&module.exports){module.exports=a()}else if(typeof define==="function"&&define.amd){define(a)}else{e[t]=a()}})("h337",this,function(){var n={defaultRadius:40,defaultRenderer:"canvas2d",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:{}};var s=function t(){var e=function t(e){this._coordinator={};this._data=[];this._radi=[];this._min=10;this._max=1;this._xField=e["xField"]||e.defaultXField;this._yField=e["yField"]||e.defaultYField;this._valueField=e["valueField"]||e.defaultValueField;this._absolute=e["absolute"]||true;if(e["radius"]){this._cfgRadius=e["radius"]}};var u=n.defaultRadius;e.prototype={_organiseData:function(t,e){var a=t[this._xField];var i=t[this._yField];var r=this._radi;var n=this._data;var s=this._max;var h=this._min;var o=t[this._valueField]||1;var d=t.radius||this._cfgRadius||u;if(!n[a]){n[a]=[];r[a]=[]}if(!n[a][i]){n[a][i]=o;r[a][i]=d}else if(this._absolute){n[a][i]=Math.max(n[a][i],o)}else{n[a][i]+=o}var l=n[a][i];if(l>s){if(!e){this._max=l}else{this.setDataMax(l)}return false}else if(l<h){if(!e){this._min=l}else{this.setDataMin(l)}return false}else{return{x:a,y:i,value:o,radius:d,min:h,max:s}}},_unOrganizeData:function(){var t=[];var e=this._data;var a=this._radi;for(var i in e){for(var r in e[i]){t.push({x:i,y:r,radius:a[i][r],value:e[i][r]})}}return{min:this._min,max:this._max,data:t}},_onExtremaChange:function(){this._coordinator.emit("extremachange",{min:this._min,max:this._max})},addData:function(){if(arguments[0].length>0){var t=arguments[0];var e=t.length;while(e--){this.addData.call(this,t[e])}}else{var a=this._organiseData(arguments[0],true);if(a){if(this._data.length===0){this._min=this._max=a.value}this._coordinator.emit("renderpartial",{min:this._min,max:this._max,data:[a]})}}return this},setData:function(t){var e=t.data;var a=e.length;this._data=[];this._radi=[];for(var i=0;i<a;i++){this._organiseData(e[i],false)}this._max=t.max;this._min=t.min||0;this._onExtremaChange();this._coordinator.emit("renderall",this._getInternalData());return this},removeData:function(){},setDataMax:function(t){this._max=t;this._onExtremaChange();this._coordinator.emit("renderall",this._getInternalData());return this},setDataMin:function(t){this._min=t;this._onExtremaChange();this._coordinator.emit("renderall",this._getInternalData());return this},setCoordinator:function(t){this._coordinator=t},_getInternalData:function(){return{max:this._max,min:this._min,data:this._data,radi:this._radi}},getData:function(){return this._unOrganizeData()}};return e}();var a=function t(){var h=function(t){var e=t.gradient||t.defaultGradient;var a=document.createElement("canvas");var i=a.getContext("2d");a.width=256;a.height=1;var r=i.createLinearGradient(0,0,256,1);for(var n in e){r.addColorStop(n,e[n])}i.fillStyle=r;i.fillRect(0,0,256,1);return i.getImageData(0,0,256,1).data};var m=function(t,e,a){var i=document.createElement("canvas");var r=i.getContext("2d");var n=t;var s=t;i.width=i.height=t*2;if(e==1){r.beginPath();r.arc(n,s,t,0,2*Math.PI,false);r.fillStyle="rgb("+a+",0,0)";r.fill()}else{var h=r.createRadialGradient(n,s,t*e,n,s,t);h.addColorStop(0,"rgb("+a+",0,0)");h.addColorStop(1,"rgb(0,0,0)");r.fillStyle=h;r.fillRect(0,0,2*t,2*t)}return i};var p=function(t,e){var a=document.createElement("canvas");var i=a.getContext("2d");var r=t;var n=t;a.width=a.height=t*2;if(e==1){i.beginPath();i.arc(r,n,t,0,2*Math.PI,false);i.fillStyle="rgba(0,0,0,1)";i.fill()}else{var s=i.createRadialGradient(r,n,t*e,r,n,t);s.addColorStop(0,"rgba(0,0,0,1)");s.addColorStop(1,"rgba(0,0,0,0)");i.fillStyle=s;i.fillRect(0,0,2*t,2*t)}return a};var e=function(t){var e=[];var a=t.min;var i=t.max;var r=t.radi;var t=t.data;var n=Object.keys(t);var s=n.length;while(s--){var h=n[s];var o=Object.keys(t[h]);var d=o.length;while(d--){var l=o[d];var u=t[h][l];var c=r[h][l];e.push({x:h,y:l,value:u,radius:c})}}return{min:a,max:i,data:e}};function a(t){var e=t.container;var a=this.faceCanvas=document.createElement("canvas");var i=this.edgeCanvas=document.createElement("canvas");var r=this.canvas=t.canvas||document.createElement("canvas");var n=this._renderBoundaries=[1e4,1e4,0,0];var s=getComputedStyle(t.container)||{};r.className="heatmap-canvas";this._width=r.width=i.width=a.width=t.width||+s.width.replace(/px/,"");this._height=r.height=i.height=a.height=t.height||+s.height.replace(/px/,"");this.faceCtx=a.getContext("2d");this.edgeCtx=i.getContext("2d");this.ctx=r.getContext("2d");r.style.cssText=i.style.cssText=a.style.cssText="position:absolute;left:0;top:0;";e.style.position="relative";e.appendChild(r);this._palette=h(t);this._templates={};this._setStyles(t)}a.prototype={renderPartial:function(t){if(t.data.length>0){this._drawAlpha(t);this._colorize()}},renderAll:function(t){this._clear();if(t.data.length>0){this._drawAlpha(e(t));this._colorize()}},_updateGradient:function(t){this._palette=h(t)},updateConfig:function(t){if(t["gradient"]){this._updateGradient(t)}this._setStyles(t)},setDimensions:function(t,e){this._width=t;this._height=e;this.canvas.width=this.edgeCanvas.width=this.faceCanvas.width=t;this.canvas.height=this.edgeCanvas.height=this.faceCanvas.height=e},_clear:function(){this.faceCtx.clearRect(0,0,this._width,this._height);this.edgeCtx.clearRect(0,0,this._width,this._height);this.ctx.clearRect(0,0,this._width,this._height)},_setStyles:function(t){this._blur=t.blur==0?0:t.blur||t.defaultBlur;this._radius=t.radius==0?0:t.radius||t.defaultRadius;if(t.backgroundColor){this.canvas.style.backgroundColor=t.backgroundColor}this._width=this.canvas.width=this.edgeCanvas.width=this.faceCanvas.width=t.width||this._width;this._height=this.canvas.height=this.edgeCanvas.height=this.faceCanvas.height=t.height||this._height;this._opacity=(t.opacity||0)*255;this._maxOpacity=(t.maxOpacity||t.defaultMaxOpacity)*255;this._minOpacity=(t.minOpacity||t.defaultMinOpacity)*255;this._useGradientOpacity=!!t.useGradientOpacity;this._absolute=t.absolute==true},_drawAlpha:function(t){var e=this._min=t.min;var a=this._max=t.max;var t=t.data||[];var i=t.length;var r=1-this._blur;while(i--){var n=t[i];var s=n.x;var h=n.y;var o=n.radius;var d=Math.min(n.value,a);var l=s-o;var u=h-o;var c=this.faceCtx;var f=this.edgeCtx;if(!this._templates[o]){this._templates[o]={intensities:[],silhouette:p(o,r)}}var v=this._templates[o].silhouette;var _=(d-e)/(a-e);f.globalAlpha=_<.01?.01:_;if(!this._absolute||!this._useGradientOpacity){f.drawImage(v,l,u)}if(this._absolute){var g=Math.round(_*255);if(!this._templates[o].intensities[g]){this._templates[o].intensities[g]=v=m(o,r,g)}else{v=this._templates[o].intensities[g]}c.globalCompositeOperation="lighten";c.drawImage(v,l,u)}if(l<this._renderBoundaries[0]){this._renderBoundaries[0]=l}if(u<this._renderBoundaries[1]){this._renderBoundaries[1]=u}if(l+2*o>this._renderBoundaries[2]){this._renderBoundaries[2]=l+2*o}if(u+2*o>this._renderBoundaries[3]){this._renderBoundaries[3]=u+2*o}}},_colorize:function(){var t=this._renderBoundaries[0];var e=this._renderBoundaries[1];var a=this._renderBoundaries[2]-t;var i=this._renderBoundaries[3]-e;var r=this._width;var n=this._height;var s=this._opacity;var h=this._maxOpacity;var o=this._minOpacity;var d=this._useGradientOpacity;if(t<0){t=0}if(e<0){e=0}if(t+a>r){a=r-t}if(e+i>n){i=n-e}var l=this.edgeCtx.getImageData(t,e,a,i);var u=l.data;var c=u.length;var f=this._palette;var v=this._blur;var _=this._radius;var g;if(this._absolute){var m;if(v>0){var p=document.createElement("canvas");p.width=this.faceCanvas.width;p.height=this.faceCanvas.height;var x=p.getContext("2d");x.fillStyle="rgba(0,0,0,1)";x.fillRect(0,0,this.faceCanvas.width,this.faceCanvas.height);x.globalCompositeOperation="source-over";x.filter="blur("+_*(1-v)*v+"px)";x.drawImage(this.faceCanvas,0,0);m=x.getImageData(t,e,a,i)}else{m=this.faceCtx.getImageData(t,e,a,i)}g=m.data}for(var y=3;y<c;y+=4){var C=u[y];var w=(this._absolute?g[y-3]:C)*4;if(!w){continue}var D;if(s>0){D=s}else{if(C<h){if(C<o){D=o}else{D=C}}else{D=h}}u[y-3]=f[w];u[y-2]=f[w+1];u[y-1]=f[w+2];u[y]=d?f[w+3]:D}l.data=u;this.ctx.putImageData(l,t,e);this._renderBoundaries=[1e3,1e3,0,0]},getValueAt:function(t){var e,a;if(this._absolute){var i=this.faceCtx;var r=i.getImageData(t.x,t.y,1,1);a=r.data[0]}else{var i=this.edgeCtx;var r=i.getImageData(t.x,t.y,1,1);a=r.data[3]}var n=this._max;var s=this._min;e=Math.abs(n-s)*(a/255)>>0;return e},getDataURL:function(){return this.canvas.toDataURL()}};return a}();var h=function t(){var e=false;if(n["defaultRenderer"]==="canvas2d"){e=a}return e}();var o={merge:function(){var t={};var e=arguments.length;for(var a=0;a<e;a++){var i=arguments[a];for(var r in i){t[r]=i[r]}}return t}};var e=function t(){var i=function t(){function e(){this.cStore={}}e.prototype={on:function(t,e,a){var i=this.cStore;if(!i[t]){i[t]=[]}i[t].push(function(t){return e.call(a,t)})},emit:function(t,e){var a=this.cStore;if(a[t]){var i=a[t].length;for(var r=0;r<i;r++){var n=a[t][r];n(e)}}}};return e}();var r=function(e){var t=e._renderer;var a=e._coordinator;var i=e._store;a.on("renderpartial",t.renderPartial,t);a.on("renderall",t.renderAll,t);a.on("extremachange",function(t){e._config.onExtremaChange&&e._config.onExtremaChange({min:t.min,max:t.max,gradient:e._config["gradient"]||e._config["defaultGradient"]})});i.setCoordinator(a)};function e(){var t=this._config=o.merge(n,arguments[0]||{});this._coordinator=new i;if(t["plugin"]){var e=t["plugin"];if(!n.plugins[e]){throw new Error("Plugin '"+e+"' not found. Maybe it was not registered.")}else{var a=n.plugins[e];this._renderer=new a.renderer(t);this._store=new a.store(t)}}else{this._renderer=new h(t);this._store=new s(t)}r(this)}e.prototype={addData:function(){this._store.addData.apply(this._store,arguments);return this},removeData:function(){this._store.removeData&&this._store.removeData.apply(this._store,arguments);return this},setData:function(){this._store.setData.apply(this._store,arguments);return this},setDataMax:function(){this._store.setDataMax.apply(this._store,arguments);return this},setDataMin:function(){this._store.setDataMin.apply(this._store,arguments);return this},configure:function(t){this._config=o.merge(this._config,t);this._renderer.updateConfig(this._config);this._coordinator.emit("renderall",this._store._getInternalData());return this},repaint:function(){this._coordinator.emit("renderall",this._store._getInternalData());return this},getData:function(){return this._store.getData()},getDataURL:function(){return this._renderer.getDataURL()},getValueAt:function(t){if(this._store.getValueAt){return this._store.getValueAt(t)}else if(this._renderer.getValueAt){return this._renderer.getValueAt(t)}else{return null}}};return e}();var t={create:function(t){return new e(t)},register:function(t,e){n.plugins[t]=e}};return t}); |
{ | ||
"name": "heatmap.js-interpolation-woracheth", | ||
"version": "2.0.5", | ||
"version": "2.0.7", | ||
"description": "heatmap.js fork by woracheth with default value of absolute=true", | ||
@@ -5,0 +5,0 @@ "homepage": "https://www.patrick-wied.at/static/heatmapjs/", |
410621