intelligent_monitoring_fron.../Code/frontend/public/static/Heatmap_min.js

1 line
12 KiB
JavaScript
Raw Normal View History

2024-10-17 15:05:15 +08:00
(function(b,c,a){c[b]=a()})("h337",this,function(){var c={defaultRadius:40,defaultRenderer:"canvas2d",defaultGradient:{0.45:"rgb(0,0,255)",0.55:"rgb(0,255,255)",0.65:"rgb(0,255,0)",0.95:"yellow",1:"rgb(255,0,0)"},defaultMaxOpacity:1,defaultMinOpacity:0,defaultBlur:0.85,defaultXField:"x",defaultYField:"y",defaultValueField:"value",plugins:{}};var g=(function l(){var n=function n(o){this._coordinator={};this._data=[];this._radi=[];this._min=0;this._max=1;this._xField=o.xField||o.defaultXField;this._yField=o.yField||o.defaultYField;this._valueField=o.valueField||o.defaultValueField;if(o.radius){this._cfgRadius=o.radius}};var m=c.defaultRadius;n.prototype={_organiseData:function(o,q){var u=o[this._xField];var s=o[this._yField];var z=this._radi;var w=this._data;var t=this._max;var p=this._min;var v=o[this._valueField]||1;var r=o.radius||this._cfgRadius||m;if(!w[u]){w[u]=[];z[u]=[]}if(!w[u][s]){w[u][s]=v;z[u][s]=r}else{w[u][s]+=v}if(w[u][s]>t){if(!q){this._max=w[u][s]}else{this.setDataMax(w[u][s])}return false}else{return{x:u,y:s,value:v,radius:r,min:p,max:t}}},_unOrganizeData:function(){var r=[];var q=this._data;var p=this._radi;for(var o in q){for(var s in q[o]){r.push({x:o,y:s,radius:p[o][s],value:q[o][s]})}}return{min:this._min,max:this._max,data:r}},_onExtremaChange:function(){this._coordinator.emit("extremachange",{min:this._min,max:this._max})},addData:function(){if(arguments[0].length>0){var p=arguments[0];var o=p.length;while(o--){this.addData.call(this,p[o])}}else{var q=this._organiseData(arguments[0],true);if(q){this._coordinator.emit("renderpartial",{min:this._min,max:this._max,data:[q]})}}return this},setData:function(q){var p=q.data;var r=p.length;this._data=[];this._radi=[];for(var o=0;o<r;o++){this._organiseData(p[o],false)}this._max=q.max;this._min=q.min||0;this._onExtremaChange();this._coordinator.emit("renderall",this._getInternalData());return this},removeData:function(){},setDataMax:function(o){this._max=o;this._onExtremaChange();this._coordinator.emit("renderall",this._getInternalData());return this},setDataMin:function(o){this._min=o;this._onExtremaChange();this._coordinator.emit("renderall",this._getInternalData());return this},setCoordinator:function(o){this._coordinator=o},_getInternalData:function(){return{max:this._max,min:this._min,data:this._data,radi:this._radi}},getData:function(){return this._unOrganizeData()}};return n})();var h=(function j(){var p=function(q){var s=q.gradient||q.defaultGradient;var v=document.createElement("canvas");var u=v.getContext("2d");v.width=256;v.height=1;var t=u.createLinearGradient(0,0,256,1);for(var r in s){t.addColorStop(r,s[r])}u.fillStyle=t;u.fillRect(0,0,256,1);return u.getImageData(0,0,256,1).data};var o=function(s,t){var v=document.createElement("canvas");var r=v.getContext("2d");var q=s;var w=s;v.width=v.height=s*2;if(t==1){r.beginPath();r.arc(q,w,s,0,2*Math.PI,false);r.fillStyle="rgba(0,0,0,1)";r.fill()}else{var u=r.createRadialGradient(q,w,s*t,q,w,s);u.addColorStop(0,"rgba(0,0,0,1)");u.addColorStop(1,"rgba(0,0,0,0)");r.fillStyle=u;r.fillRect(0,0,2*s,2*s)}return v};var n=function(u){var B=[];var t=u.min;var x=u.max;var C=u.radi;var u=u.data;var q=Object.keys(u);var r=q.length;while(r--){var s=q[r];var y=Object.keys(u[s]);var A=y.length;while(A--){var w=y[A];var z=u[s][w];var v=C[s][w];B.push({x:s,y:w,value:z,radius:v})}}return{min:t,max:x,data:B}};function m(t){var q=t.element;var u=this.shadowCanvas=document.createElement("canvas");var s=this.canvas=t.canvas||document.createElement("canvas");var r=this._renderBoundaries=[10000,10000,0,0];var v=getComputedStyle(t.element)||{};s.className="heatmap-canvas";this._width=s.width=u.width=+(v.width.replace(/px/,""));this._height=s.height=u.height=+(v.height.replace(/px/,""));this.shadowCtx=u.getContext("2d");this.ctx=s.getContext("2d");s.style.cssText=u.style.cssText="position:absolute;left:0;top:0;";q.style.position="relative";q.appendChild(s);this._palette=p(t);this._templates={};this._setStyles(t)}m.prototype={renderPartial:function(q){this._drawAlpha(q);this._colorize()},renderAll:function(q){this._clear();th