UNPKG

igniteui-angular-core

Version:

Ignite UI Angular Core logic used in multiple UI components.

667 lines (666 loc) 21.8 kB
/* THIS INFRAGISTICS ULTIMATE SOFTWARE LICENSE AGREEMENT ("AGREEMENT") LOCATED HERE: https://www.infragistics.com/legal/license/igultimate-la https://www.infragistics.com/legal/license/igultimate-eula GOVERNS THE LICENSING, INSTALLATION AND USE OF INFRAGISTICS SOFTWARE. BY DOWNLOADING AND/OR INSTALLING AND USING INFRAGISTICS SOFTWARE: you are indicating that you have read and understand this Agreement, and agree to be legally bound by it on behalf of the yourself and your company. */ import { __extends } from "tslib"; import { Base, String_$type, Number_$type, Delegate_$type, markType } from "./type"; import { ITileGenerator_$type } from "./ITileGenerator"; import { Color } from "./Color"; import { HeatTileScaler } from "./HeatTileScaler"; import { Rect } from "./Rect"; import { HeatTileGeneratorWorkerManager } from "./HeatTileGeneratorWorkerManager"; import { Dictionary$2 } from "./Dictionary$2"; import { Tuple$2 } from "./Tuple$2"; import { List$1 } from "./List$1"; import { TileImageZoomChangingEventArgs } from "./TileImageZoomChangingEventArgs"; import { TileWorkSettings } from "./TileWorkSettings"; import { truncate, isNaN_ } from "./number"; /** * @hidden */ var HeatTileGenerator = /** @class */ /*@__PURE__*/ (function (_super) { __extends(HeatTileGenerator, _super); function HeatTileGenerator() { var _this = _super.call(this) || this; _this.m = new HeatTileScaler(); _this.bz = new Rect(0, 0, 0, 256, 256); _this.l = new HeatTileGeneratorWorkerManager(); _this.e = null; _this.d = null; _this.c = null; _this.bw = new Color(); _this.bv = new Color(); _this.b = null; _this.a = null; _this.ac = 0; _this.am = NaN; _this.p = false; _this.q = false; _this.r = false; _this.ao = NaN; _this.an = NaN; _this.al = 10; _this.s = false; _this.t = true; _this.a0 = null; _this.ax = null; _this.ad = NaN; _this.ag = NaN; _this.aw = {}; _this.au = -1; _this.ay = {}; _this.ak = 0; _this.aj = 0; _this.z = new Dictionary$2(String_$type, Tuple$2.$.specialize(Number_$type, Number_$type), 0); _this.aa = new Dictionary$2(String_$type, List$1.$.specialize(Delegate_$type), 0); _this.ah = 0; _this.ai = 0; _this.ae = 0; _this.af = 0; _this.n = false; _this.ab = new List$1(Delegate_$type, 0); _this.o = false; _this.m = new HeatTileScaler(); return _this; } Object.defineProperty(HeatTileGenerator.prototype, "k", { get: function () { return this.e; }, set: function (a) { var b = this.e; this.e = a; if (this.e != b) { this.br("YValues", b, this.e); } }, enumerable: false, configurable: true }); Object.defineProperty(HeatTileGenerator.prototype, "j", { get: function () { return this.d; }, set: function (a) { var b = this.d; this.d = a; if (this.d != b) { this.br("XValues", b, this.d); } }, enumerable: false, configurable: true }); Object.defineProperty(HeatTileGenerator.prototype, "i", { get: function () { return this.c; }, set: function (a) { var b = this.c; this.c = a; if (this.c != b) { this.br("Values", b, this.c); } }, enumerable: false, configurable: true }); Object.defineProperty(HeatTileGenerator.prototype, "by", { get: function () { return this.bw; }, set: function (a) { var b = this.bw; this.bw = a; if (Color.d(this.bw, b)) { this.br("MinimumColor", b, this.bw); } }, enumerable: false, configurable: true }); Object.defineProperty(HeatTileGenerator.prototype, "bx", { get: function () { return this.bv; }, set: function (a) { var b = this.bv; this.bv = a; if (Color.d(this.bv, b)) { this.br("MaximumColor", b, this.bv); } }, enumerable: false, configurable: true }); Object.defineProperty(HeatTileGenerator.prototype, "scaleColors", { get: function () { return this.b; }, set: function (a) { var b = this.b; this.b = a; if (this.b != b) { this.br("ScaleColors", b, this.b); } }, enumerable: false, configurable: true }); Object.defineProperty(HeatTileGenerator.prototype, "g", { get: function () { return this.a; }, set: function (a) { var b = this.a; this.a = a; if (this.a != b) { this.br("ScaleColorOffsets", b, this.a); } }, enumerable: false, configurable: true }); Object.defineProperty(HeatTileGenerator.prototype, "ap", { get: function () { return this.ac; }, set: function (a) { var b = this.ac; this.ac = a; if (this.ac != b) { this.br("BlurRadius", b, this.ac); } }, enumerable: false, configurable: true }); Object.defineProperty(HeatTileGenerator.prototype, "ar", { get: function () { return this.am; }, set: function (a) { var b = this.am; this.am = a; if (this.am != b) { this.br("MaxBlurRadius", b, this.am); } }, enumerable: false, configurable: true }); Object.defineProperty(HeatTileGenerator.prototype, "u", { get: function () { return this.p; }, set: function (a) { var b = this.p; this.p = a; if (this.p != b) { this.br("UseBlurRadiusAdjustedForZoom", b, this.p); } }, enumerable: false, configurable: true }); Object.defineProperty(HeatTileGenerator.prototype, "v", { get: function () { return this.q; }, set: function (a) { var b = this.q; this.q = a; if (this.q != b) { this.br("UseGlobalMinMax", b, this.q); } }, enumerable: false, configurable: true }); Object.defineProperty(HeatTileGenerator.prototype, "w", { get: function () { return this.r; }, set: function (a) { var b = this.r; this.r = a; if (this.r != b) { this.br("UseGlobalMinMaxAdjustedForZoom", b, this.r); } }, enumerable: false, configurable: true }); Object.defineProperty(HeatTileGenerator.prototype, "at", { get: function () { return this.ao; }, set: function (a) { var b = this.ao; this.ao = a; if (this.ao != b) { this.br("MinimumValue", b, this.ao); } }, enumerable: false, configurable: true }); Object.defineProperty(HeatTileGenerator.prototype, "as", { get: function () { return this.an; }, set: function (a) { var b = this.an; this.an = a; if (this.an != b) { this.br("MaximumValue", b, this.an); } }, enumerable: false, configurable: true }); Object.defineProperty(HeatTileGenerator.prototype, "aq", { get: function () { return this.al; }, set: function (a) { var b = this.al; this.al = a; if (this.al != b) { this.br("LogarithmBase", b, this.al); } }, enumerable: false, configurable: true }); Object.defineProperty(HeatTileGenerator.prototype, "x", { get: function () { return this.s; }, set: function (a) { var b = this.s; this.s = a; if (this.s != b) { this.br("UseLogarithmicScale", b, this.s); } }, enumerable: false, configurable: true }); Object.defineProperty(HeatTileGenerator.prototype, "y", { get: function () { return this.t; }, set: function (a) { var b = this.t; this.t = a; if (this.t != b) { this.br("UseWebWorkers", b, this.t); } }, enumerable: false, configurable: true }); Object.defineProperty(HeatTileGenerator.prototype, "bi", { get: function () { return this.a0; }, set: function (a) { var b = this.a0; this.a0 = a; if (this.a0 != b) { this.br("WebWorkerScriptPath", b, this.a0); } }, enumerable: false, configurable: true }); Object.defineProperty(HeatTileGenerator.prototype, "az", { get: function () { return this.ax; }, set: function (a) { var b = this.ax; this.ax = a; if (this.ax != b) { this.br("WebWorkerInstance", b, this.ax); } }, enumerable: false, configurable: true }); HeatTileGenerator.prototype.bo = function () { this.e = null; this.d = null; this.c = null; this.l.w(); }; HeatTileGenerator.prototype.br = function (a, b, c) { this.bs(a, b, c); }; HeatTileGenerator.prototype.bs = function (a, b, c) { switch (a) { case "XValues": case "YValues": case "Values": this.bq(); break; case "UseWebWorkers": this.l.e = this.y; break; case "WebWorkerScriptPath": this.l.p = this.bi; break; case "WebWorkerInstance": this.l.n = this.az; break; } }; HeatTileGenerator.prototype.getTile = function (a, b, c, d, e, f, g) { this.getTile1(a, b, c, d, e, f, g, false); }; HeatTileGenerator.prototype.getTile1 = function (a, b, c, d, e, f, g, h) { var _this = this; var i = NaN; var j = NaN; if (!h && this.v && (isNaN_(this.ag) || isNaN_(this.ad))) { var k = false; if ((isNaN_(this.ag) || isNaN_(this.ad)) && !this.n) { k = true; this.n = true; } else { this.ab.add(function () { return _this.bm(a, b, c, h, j, i, d, e, f, g); }); return; } if (k) { var l_1 = 1.7976931348623157E+308; var m_1 = -1.7976931348623157E+308; var n_1 = 0; var o_1 = 0; var p_1 = 0; var q_1 = 0; this.getTile1(0, 0, 0, function (r, s) { var t = s; l_1 = t.globalMinimumValue; m_1 = t.globalMaximumValue; n_1 = t.globalMinimumValueLongitude; o_1 = t.globalMinimumValueLatitude; p_1 = t.globalMaximumValueLongitude; q_1 = t.globalMaximumValueLatitude; var u = new Rect(0, 0, 0, 1, 1); var v = _this.bz; i = l_1; j = m_1; var w = new List$1(Delegate_$type, 0); _this.ag = i; _this.ad = j; _this.ah = o_1; _this.ai = n_1; _this.ae = q_1; _this.af = p_1; for (var x = 0; x < _this.ab.count; x++) { w.add(_this.ab._inner[x]); } _this.ab.clear(); _this.bm(a, b, c, h, j, i, d, e, f, g); for (var y = 0; y < w.count; y++) { w._inner[y](); } }, function (r, s) { }, function (r, s) { }, g, true); return; } else { i = this.ag; j = this.ad; } } else { i = this.ag; j = this.ad; } this.bm(a, b, c, h, j, i, d, e, f, g); }; HeatTileGenerator.prototype.cancelTile = function (a, b, c) { this.l.s(a, b, c); }; HeatTileGenerator.prototype.bm = function (a, b, c, d, e, f, g, h, i, j) { var _this = this; this.bn(a, b, c, d, i, function () { if (_this.w && !d) { if (a > 0 && _this.z.containsKey(a.toString())) { var k = _this.z.item(a.toString()); e = k.c; f = k.d; } } var l = _this.b0(a, b, c); var m = new TileWorkSettings(); m.window = l; m.z = a; m.x = b; m.y = c; m.globalMinimum = f; m.globalMaximum = e; m.useGlobalMinMax = _this.v; m.minimumValue = _this.at; m.maximumValue = _this.as; m.useLogarithmicScale = _this.x; m.logarithmBase = _this.aq; if (m.logarithmBase <= 0) { m.logarithmBase = 10; } m.tileViewport = _this.bz; m.maximumColor = _this.bx; m.minimumColor = _this.by; m.scaler = _this.m; m.values = _this.c; m.blurRadius = _this.ap; if (m.blurRadius <= 0) { m.blurRadius = 1; } m.useBlurRadiusAdjustedForZoom = _this.u; m.maxBlurRadius = _this.ar; if (m.maxBlurRadius <= 0) { m.maxBlurRadius = 1; } m.values = _this.i; m.scaleColors = _this.scaleColors; m.scaleColorOffsets = _this.g; m.minimumVisibleLatitude = _this.m.i(l, _this.bz); m.maximumVisibleLatitude = _this.m.g(l, _this.bz); m.minimumVisibleLongitude = _this.m.j(l, _this.bz); m.maximumVisibleLongitude = _this.m.h(l, _this.bz); m.yValues = _this.e; m.xValues = _this.d; if (_this.c == null && _this.e != null) { _this.c = new Array(_this.e.length); for (var n = 0; n < _this.e.length; n++) { _this.c[n] = 1; } m.values = _this.c; } if (!_this.o) { _this.o = true; m.isNewData = true; } m.image = j; m.testRun = d; _this.l.y(m, function (o, p) { p.url = _this.a2(p.imageData); p.imageData = _this.f(p.imageData); g(_this, p); }, h); }); }; HeatTileGenerator.prototype.bn = function (a, b, c, d, e, f) { var g = false; g = this.au != a; if (!g || d) { f(); return; } var h = false; var i = false; if (a != this.au) { if (this.z.containsKey(a.toString()) && !isNaN_(this.z.item(a.toString()).c) && !isNaN_(this.z.item(a.toString()).d)) { this.au = a; e(this, ((function () { var $ret = new TileImageZoomChangingEventArgs(); $ret.z = a; $ret.x = b; $ret.y = c; return $ret; })())); h = true; } else if (this.z.containsKey(a.toString())) { if (a > 0 && this.w) { var j = void 0; if (this.aa.containsKey(a.toString())) { j = this.aa.item(a.toString()); } else { j = new List$1(Delegate_$type, 0); this.aa.addItem(a.toString(), j); } j.add(f); } } else { if (a > 0 && this.w) { this.z.addItem(a.toString(), new Tuple$2(Number_$type, Number_$type, NaN, NaN)); i = true; } } } if (i) { if (a > 0 && this.w) { this.bt(a, f); } } if (h) { f(); } }; HeatTileGenerator.prototype.a2 = function (a) { if (a == null) { return null; } var b = document.createElement("canvas"); b.setAttribute("width", "256"); b.setAttribute("height", "256"); var c = b.getContext("2d"); var d = c.getImageData(0, 0, 256, 256); var e = d.data; var f = e.length / 4; for (var g = 0; g < f; g++) { var h = a[g * 4]; var i = a[g * 4 + 1]; var j = a[g * 4 + 2]; var k = a[g * 4 + 3]; e[g * 4] = i; e[g * 4 + 1] = j; e[g * 4 + 2] = k; e[g * 4 + 3] = h; } c.putImageData(d, 0, 0); var ele_ = b; return (ele_.toDataURL()); }; HeatTileGenerator.prototype.f = function (a) { if (a == null) { return null; } return a; }; HeatTileGenerator.prototype.bt = function (a, b) { var _this = this; var c = 0; var d = 0; var e = 0; var f = 0; var g = new Rect(0, 0, 0, 256 * Math.pow(2, a), 256 * Math.pow(2, a)); var h = new Rect(0, 0, 0, 1, 1); var i = this.m.s(this.af, h, g); var j = this.m.r(this.ae, h, g); var k = this.m.s(this.ai, h, g); var l = this.m.r(this.ah, h, g); c = truncate(Math.floor(k / 256)); d = truncate(Math.floor(l / 256)); e = truncate(Math.floor(i / 256)); f = truncate(Math.floor(j / 256)); var m = 0; var n = 0; this.getTile1(a, c, d, function (o, p) { var q = p; m = q.globalMinimumValue; n = q.globalMaximumValue; if (e != c && f != d) { _this.getTile1(a, e, f, function (r, s) { var t = s; n = t.globalMaximumValue; _this.bu(a, n, m, b); }, function (r, s) { }, function (r, s) { }, null, true); } else { _this.bu(a, n, m, b); } }, function (o, p) { }, function (o, p) { }, null, true); }; HeatTileGenerator.prototype.bu = function (a, b, c, d) { if (b < this.aj) { b = this.aj; } if (isNaN_(c) || c > this.ak) { c = this.ak; } var e = new List$1(Delegate_$type, 0); this.z.item(a.toString(), new Tuple$2(Number_$type, Number_$type, b, c)); if (this.aa.containsKey(a.toString())) { var f = this.aa.item(a.toString()); for (var g = 0; g < f.count; g++) { e.add(f._inner[g]); } } this.aa.removeItem(a.toString()); this.au = a; d(); for (var h = 0; h < e.count; h++) { e._inner[h](); } }; HeatTileGenerator.prototype.b0 = function (a, b, c) { var d = truncate(Math.pow(2, a)) * 256; var e = (b * 256) / d; var f = (c * 256) / d; var g = 256 / d; var h = 256 / d; return new Rect(0, e, f, g, h); }; HeatTileGenerator.prototype.bq = function () { var a = -1.7976931348623157E+308; var b = 1.7976931348623157E+308; if (this.c != null) { for (var c = 0; c < this.c.length; c++) { var d = this.c[c]; a = d > a ? d : a; b = d < b ? d : b; } } var e = this.ak = b * 0.01; this.aj = a; this.o = false; }; HeatTileGenerator.$t = markType(HeatTileGenerator, 'HeatTileGenerator', Base.$, [ITileGenerator_$type]); return HeatTileGenerator; }(Base)); export { HeatTileGenerator };