|
|
|
|
|
(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.canv
|