UNPKG

igniteui-angular-charts

Version:

Ignite UI Angular charting components for building rich data visualizations for modern web apps.

578 lines (577 loc) 21 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 { ScatterTriangulationSeries } from "./ScatterTriangulationSeries"; import { ColorScale } from "./ColorScale"; import { runOn, delegateRemove, delegateCombine, typeCast, Point_$type, markType, markDep } from "igniteui-angular-core"; import { DependencyProperty } from "igniteui-angular-core"; import { FastItemIntColumn } from "igniteui-angular-core"; import { IFastItemsSource_$type } from "igniteui-angular-core"; import { Rect } from "igniteui-angular-core"; import { SeriesView } from "./SeriesView"; import { TriangleRasterizer } from "./TriangleRasterizer"; import { ScalerParams } from "./ScalerParams"; import { ObservableColorCollection } from "igniteui-angular-core"; import { Color } from "igniteui-angular-core"; import { ColorUtil } from "igniteui-angular-core"; import { List$1 } from "igniteui-angular-core"; import { CustomPaletteColorScale } from "./CustomPaletteColorScale"; import { DataLegendSeriesValueInfo } from "igniteui-angular-core"; import { DataLegendSeriesContext } from "igniteui-angular-core"; import { PropertyMetadata } from "igniteui-angular-core"; import { truncate, intDivide } from "igniteui-angular-core"; import { boxArray$1 } from "igniteui-angular-core"; import { RenderingContext } from "igniteui-angular-core"; import { CanvasViewRenderer } from "igniteui-angular-core"; import { Rectangle } from "igniteui-angular-core"; import { stringIsNullOrEmpty } from "igniteui-angular-core"; /** * @hidden */ var ScatterAreaSeries = /** @class */ /*@__PURE__*/ (function (_super) { __extends(ScatterAreaSeries, _super); function ScatterAreaSeries() { var _this = _super.call(this) || this; _this.ys = null; _this.yx = null; _this.yq = null; _this.yr = null; FastItemIntColumn.m(); _this.ab = ScatterAreaSeries.$; return _this; } ScatterAreaSeries.prototype.bj = function () { return new ScatterAreaSeries(); }; ScatterAreaSeries.prototype.get_eu = function () { return true; }; Object.defineProperty(ScatterAreaSeries.prototype, "yu", { get: function () { return this.ys; }, set: function (a) { var b = this.ys != a; if (b) { var c = this.ys; if (this.ys != null) { var d = this.ys; d.propertyChanged = delegateRemove(d.propertyChanged, runOn(this, this.zb)); } this.ys = a; if (this.ys != null) { var e = this.ys; e.propertyChanged = delegateCombine(e.propertyChanged, runOn(this, this.zb)); } this.raisePropertyChanged("ColorScale", c, this.ys); } }, enumerable: false, configurable: true }); ScatterAreaSeries.prototype.zb = function (a, b) { this.zd(); this.rq(false); }; ScatterAreaSeries.prototype.kp = function (a, b) { var c = this.nc(b); if (c == ScatterAreaSeries.$$p[3]) { return this.kq(a, b, this.y6); } return _super.prototype.kp.call(this, a, b); }; ScatterAreaSeries.prototype.mc = function (a) { var b = this.nc(a); if (b == ScatterAreaSeries.$$p[3]) { return this.y6; } return _super.prototype.mc.call(this, a); }; Object.defineProperty(ScatterAreaSeries.prototype, "yy", { get: function () { return this.yx; }, set: function (a) { var b = this.yy != a; if (b) { var c = this.yy; this.yx = a; this.raisePropertyChanged("ColorColumn", c, this.yy); } }, enumerable: false, configurable: true }); ScatterAreaSeries.prototype.get_g6 = function () { return true; }; ScatterAreaSeries.prototype.set_g6 = function (a) { _super.prototype.set_g6.call(this, a); }; ScatterAreaSeries.prototype.q8 = function (a, b, c, d) { _super.prototype.q8.call(this, a, b, c, d); switch (b) { case ScatterAreaSeries.$$p[1]: case ScatterAreaSeries.$$p[2]: this.qe(); break; case "FastItemsSource": var e = typeCast(IFastItemsSource_$type, c); if (e != null) { e.deregisterColumn(this.yy); this.yy = null; } var f = typeCast(IFastItemsSource_$type, d); if (f != null) { this.yy = this.dk(this.y6); } this.rq(this.gf && c != null); break; case ScatterAreaSeries.$$p[3]: if (this.dn != null) { this.dn.deregisterColumn(this.yy); this.yy = this.dk(this.y6); } this.rq(false); this.qk(); break; case "ColorScale": this.zd(); this.rq(false); this.qk(); break; } }; ScatterAreaSeries.prototype.rr = function (a) { _super.prototype.rr.call(this, a); this.zc(this.cv); }; ScatterAreaSeries.prototype.rp = function (a, b, c, d, e) { _super.prototype.rp.call(this, a, b, c, d, e); var f = this.ba.a$j.item(d); f.a3(c); if (this.d5(f)) { return; } this.zc(f); }; ScatterAreaSeries.prototype.zc = function (a) { if (this.d5(a)) { return; } var b; var c; var d = a.getViewInfo(c, b); c = d.p0; b = d.p1; var e = a; var f = null; var g = null; var h = this.wx; var i = this.wy; var j = this.getEffectiveViewport1(a); var k = new ScalerParams(1, b, c, h.ch); k.c = j; var l = new ScalerParams(1, b, c, i.ch); l.c = j; g = this.yw(a, k, l); if (g != null) { e.cb(g); } else { e.ce(f); } }; ScatterAreaSeries.prototype.y9 = function (a) { var b; var c; var d = a.getViewInfo(b, c); b = d.p0; c = d.p1; var e = truncate(Math.round(b.width)) * truncate(Math.round(b.height)); var f = a.b3; if (f == null || f.length != e) { f = new Array(e); for (var g = 0; g < e; g++) { f[g] = 0; } } else { for (var h = 0; h < e; h++) { f[h] = 0; } } a.b3 = f; }; ScatterAreaSeries.prototype.km = function (a) { var b = truncate(Math.round(this.wr.width)); var c = truncate(Math.round(this.wr.height)); var d = this.cv.b3; if (d == null || d.length != (b * c) || this.w7 == null || this.w7.count < 1 || this.w8 == null || this.w8.count < 1 || this.w9 == null || this.w9.count < 1) { return null; } var e = this.db.wl; var f = (a.x - e.left) / e.width; var g = (a.y - e.top) / e.height; var h = truncate(Math.round(b * f)); var i = truncate(Math.round(c * g)); var j = (b * i) + h; if (j < 0 || j > d.length - 1) { return null; } var k = d[j] - 1; if (k < 0 || k > this.w7.count) { return null; } var l = this.yq.length; var m = this.w7.item(k); var n = this.w8.item(k); var o = this.w9.item(k); if ((m >= l) || (n >= l) || (o >= l)) { return null; } var p = (this.yq[m] - this.wr.left) / this.wr.width; var q = (this.yr[m] - this.wr.top) / this.wr.height; var r = (this.yq[n] - this.wr.left) / this.wr.width; var s = (this.yr[n] - this.wr.top) / this.wr.height; var t = (this.yq[o] - this.wr.left) / this.wr.width; var u = (this.yr[o] - this.wr.top) / this.wr.height; var v = Math.pow(p - f, 2) + Math.pow(q - g, 2); var w = Math.pow(r - f, 2) + Math.pow(s - g, 2); var x = Math.pow(t - f, 2) + Math.pow(u - g, 2); if (v < w && v < x) { return this.dn.item(m); } if (w < v && w < x) { return this.dn.item(n); } if (x < v && x < w) { return this.dn.item(o); } return this.dn.item(m); }; ScatterAreaSeries.prototype.yw = function (a, b, c) { var d; var e; var f = a.getViewInfo(e, d); e = f.p0; d = f.p1; e = new Rect(0, 0, 0, e.width, e.height); b = new ScalerParams(0, b.e, e, b.a, b.c); c = new ScalerParams(0, c.e, e, c.a, c.c); c.b = this.ix(); var g = a; var h = this.wx; var i = this.wy; var j = this.w7.count; var k; var xArr_ = this.xa.asArray(); k = (xArr_.slice(0)); var l; var yArr_ = this.xb.asArray(); l = (yArr_.slice(0)); var m = this.yy.asArray(); var n = this.w7.asArray(); var o = this.w8.asArray(); var p = this.w9.asArray(); this.yq = k; this.yr = l; h.hq(boxArray$1(k), 0, k.length, b); i.hq(boxArray$1(l), 0, l.length, c); var q = this.yt; var r = g.b5(b.d, q, this.yy); var s = e.top; var t = e.left; var u = e.right; var v = e.bottom; var w; var x; var y; var z; this.y9(g); var aa = g.b3; var ab = k.length; for (var ac = 0; ac < j; ac++) { var ad = n[ac]; var ae = o[ac]; var af = p[ac]; if ((ad >= ab) || (ae >= ab) || (af >= ab) || (ad < 0) || (ae < 0) || (af < 0)) { continue; } var ag = k[ad]; var ah = l[ad]; var ai = { $type: Point_$type, x: ag, y: ah }; var aj = k[ae]; var ak = l[ae]; var al = { $type: Point_$type, x: aj, y: ak }; var am = k[af]; var an = l[af]; var ao = { $type: Point_$type, x: am, y: an }; w = al.y < ao.y ? al.y : ao.y; w = ai.y < w ? ai.y : w; x = al.y > ao.y ? al.y : ao.y; x = ai.y > x ? ai.y : x; y = al.x < ao.x ? al.x : ao.x; y = ai.x < y ? ai.x : y; z = al.x > ao.x ? al.x : ao.x; z = ai.x > z ? ai.x : z; if (w < v && x > s && y < u && z > t) { var ap = m[ad]; var aq = m[ae]; var ar = m[af]; r.p(ac, aa, ai, al, ao, ap, aq, ar); } } return r; }; ScatterAreaSeries.prototype.yz = function () { var a = new Color(); var b = this.u8; if (b == null) { a = ColorUtil.u("#000000"); } else { a = ColorUtil.t(b); } var c = new ObservableColorCollection(); c.add(ColorUtil.y(a, -0.5)); c.add(a); return c; }; ScatterAreaSeries.prototype.zd = function () { var _this = this; var a = this.yu; if (a == null) { a = ((function () { var $ret = new CustomPaletteColorScale(); $ret.palette = _this.yz(); $ret.interpolationMode = 2; return $ret; })()); } else if (typeCast(CustomPaletteColorScale.$, a) !== null) { var b = a; if (b.palette == null || b.palette.count == 0) { b.palette = this.yz(); } a = b; } var c = new ObservableColorCollection(); if (typeCast(CustomPaletteColorScale.$, a) !== null) { c = a.palette; } else { c = this.yz(); } this.yt = a; }; ScatterAreaSeries.prototype.sg = function () { _super.prototype.sg.call(this); this.zd(); }; ScatterAreaSeries.prototype.o4 = function (a, b) { _super.prototype.o4.call(this, a, b); var c = b; c.ca(); }; ScatterAreaSeries.prototype.cs = function () { return new ScatterAreaSeriesView(this); }; ScatterAreaSeries.prototype.q0 = function (a) { _super.prototype.q0.call(this, a); this.yv = typeCast(ScatterAreaSeriesView.$, a); }; ScatterAreaSeries.prototype.za = function (a) { if (this.yv != null) { this.yv.b9(a); } }; ScatterAreaSeries.prototype.getDataLegendSeriesContextAt = function (a, b) { var c = { $type: Point_$type, x: a, y: b }; var d = this.km(c); var e = d == null ? NaN : this.iw(d, "XMemberPath"); var f = d == null ? NaN : this.iw(d, "YMemberPath"); var g = d == null ? NaN : this.iw(d, "ColorMemberPath"); var h = new DataLegendSeriesValueInfo(); h.l = e; h.a = 13; h.q = "X"; h.r = this.xz != null ? this.xz : "X"; h.s = this.xv != null ? this.xv : "X:"; h.t = this.xx != null ? this.xx : ""; var i = new DataLegendSeriesValueInfo(); i.l = f; i.a = 14; i.q = "Y"; i.r = this.x7 != null ? this.x7 : "Y"; i.s = this.x3 != null ? this.x3 : "Y:"; i.t = this.x5 != null ? this.x5 : ""; var j = new DataLegendSeriesValueInfo(); j.l = g; j.a = 0; j.q = "Value"; j.r = this.y6 != null ? this.y6 : "Value"; j.s = this.y2 != null ? this.y2 : "V:"; j.t = this.y4 != null ? this.y4 : ""; var k = new DataLegendSeriesContext(); k.e = ((function () { var $ret = new List$1(DataLegendSeriesValueInfo.$, 0); $ret.add(h); $ret.add(i); $ret.add(j); return $ret; })()); k.h = this.mb(); return k; }; ScatterAreaSeries.$t = markType(ScatterAreaSeries, 'ScatterAreaSeries', ScatterTriangulationSeries.$); ScatterAreaSeries.$$p = markDep(DependencyProperty, PropertyMetadata, ScatterAreaSeries, 'raisePropertyChanged', ['ActualColorScale:yt:ze', [ColorScale.$, null], 'ColorMemberAsLegendLabel:y2:zf', [2, null], 'ColorMemberAsLegendUnit:y4:zg', [2, null], 'ColorMemberPath:y6:zh', [2, null]]); return ScatterAreaSeries; }(ScatterTriangulationSeries)); export { ScatterAreaSeries }; /** * @hidden */ var ScatterAreaSeriesView = /** @class */ /*@__PURE__*/ (function (_super) { __extends(ScatterAreaSeriesView, _super); function ScatterAreaSeriesView(a) { var _this = _super.call(this, a) || this; _this.b4 = null; _this.b0 = null; _this.b8 = null; _this.b7 = null; _this.b6 = null; _this.b4 = a; return _this; } Object.defineProperty(ScatterAreaSeriesView.prototype, "b3", { get: function () { return this.b0; }, set: function (a) { this.b0 = a; }, enumerable: false, configurable: true }); ScatterAreaSeriesView.prototype.cd = function (a, b) { }; ScatterAreaSeriesView.prototype.b9 = function (a) { }; ScatterAreaSeriesView.prototype.b1 = function () { return this.b2(true); }; ScatterAreaSeriesView.prototype.b2 = function (a) { this.cc(); var b = truncate(Math.round(this.bx.left)); var c = truncate(Math.round(this.bx.left)); var d = truncate(Math.round(this.bx.width)); var e = truncate(Math.round(this.bx.height)); var f = d.toString(); var g = e.toString(); if (this.b7.getAttribute("width") != f) { this.b7.setAttribute("width", d.toString()); } if (this.b7.getAttribute("height") != g) { this.b7.setAttribute("height", e.toString()); } var h = this.b6.h(); if (a) { h.clearRect(0, 0, d, e); } this.b8 = h.getImageData(0, 0, d, e); var imageDataArray_ = this.b8.data; return imageDataArray_; }; ScatterAreaSeriesView.prototype.cc = function () { if (this.b7 == null) { this.b7 = this.e.jy.createElement("canvas"); var a = this.e.jy.get2DCanvasContext(this.b7); this.b6 = new RenderingContext(new CanvasViewRenderer(), a); } }; ScatterAreaSeriesView.prototype.b5 = function (a, b, c) { var d = truncate(Math.round(this.bx.left)); var e = truncate(Math.round(this.bx.left)); var f = truncate(Math.round(this.bx.width)); var g = truncate(Math.round(this.bx.height)); return new TriangleRasterizer(this.b1(), b, c.minimum, c.maximum, c, f, g); }; ScatterAreaSeriesView.prototype.cb = function (a) { this.ce(null); }; ScatterAreaSeriesView.prototype.ca = function () { if (this.b6 != null) { this.b6.l(this.bx.left, this.bx.top, this.bx.width, this.bx.height); } this.as(); }; ScatterAreaSeriesView.prototype.a8 = function (a, b) { _super.prototype.a8.call(this, a, b); if (this.b7 == null) { return; } if (b) { var c = new Rectangle(); c.n = this.bx.left; c.o = this.bx.top; c.width = this.bx.width; c.height = this.bx.height; c._fill = this.br(); a.w(c); } else { var d = truncate(Math.round(this.bx.left)); var e = truncate(Math.round(this.bx.top)); var f = truncate(Math.round(this.bx.width)); var g = truncate(Math.round(this.bx.height)); a.n(this.b7.getNativeElement(), 1, d, e, f, g); } }; ScatterAreaSeriesView.prototype.ce = function (a) { var b = truncate(Math.round(this.bx.left)); var c = truncate(Math.round(this.bx.left)); var d = truncate(Math.round(this.bx.width)); var e = truncate(Math.round(this.bx.height)); this.cc(); this.b6.h().putImageData(this.b8, 0, 0); this.as(); }; ScatterAreaSeriesView.prototype.an = function (a) { _super.prototype.an.call(this, a); var b = truncate(Math.round(this.bx.width)); var c = truncate(Math.round(this.bx.height)); var d = this.b2(false); if (d == null || d.length == 0) { this.e.bc.exportSeriesPixelsData(a, null, b, c); return; } var e = new Array(intDivide(d.length, 4)); var f; for (var g = 0; g < intDivide(d.length, 4); g++) { f = g * 4; e[g] = d[f + 3] << 24 | d[f] << 16 | d[f + 1] << 8 | d[f + 2]; } this.e.bc.exportSeriesPixelsData(a, e, b, c); }; ScatterAreaSeriesView.prototype.getDefaultTooltipTemplate = function () { var a = "<div class='ui-chart-default-tooltip-content'><span"; var b = this.e.ba.a$u(this.e); if (!stringIsNullOrEmpty(b)) { a += " style='color:" + b + "'"; } a += ">" + this.b4.title + "</span><br/><span>" + "(${item." + this.b4.xz + "}, ${item." + this.b4.x7 + "})</span>"; if (!stringIsNullOrEmpty(this.b4.y6)) { a += "<span>, Value: ${item." + this.b4.y6 + "}</span>"; } a += "</div>"; return a; }; ScatterAreaSeriesView.$t = markType(ScatterAreaSeriesView, 'ScatterAreaSeriesView', SeriesView.$); return ScatterAreaSeriesView; }(SeriesView)); export { ScatterAreaSeriesView };