UNPKG

igniteui-angular-charts

Version:

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

844 lines (843 loc) 29.5 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 { ShapeSeriesBase } from "./ShapeSeriesBase"; import { ShapeAxisInfoCache } from "./ShapeAxisInfoCache"; import { StyleSelector } from "./StyleSelector"; import { DependencyProperty } from "igniteui-angular-core"; import { Style } from "igniteui-angular-core"; import { MarkerType_$type } from "./MarkerType"; import { DataTemplate } from "igniteui-angular-core"; import { Brush } from "igniteui-angular-core"; import { CollisionAvoidanceType_$type } from "./CollisionAvoidanceType"; import { MarkerOutlineMode_$type } from "./MarkerOutlineMode"; import { MarkerFillMode_$type } from "./MarkerFillMode"; import { Rect } from "igniteui-angular-core"; import { ScalerParams } from "./ScalerParams"; import { Base, runOn, enumGetBox, Number_$type, typeCast, fromEnum, markType, markDep, PointUtil } from "igniteui-angular-core"; import { Dictionary$2 } from "igniteui-angular-core"; import { OwnedPoint } from "./OwnedPoint"; import { ShapeSeriesViewBase } from "./ShapeSeriesViewBase"; import { Marker } from "./Marker"; import { MarkerSeries } from "./MarkerSeries"; import { BrushUtil } from "igniteui-angular-core"; import { DataContext } from "igniteui-angular-core"; import { HashPool$2 } from "igniteui-angular-core"; import { List$1 } from "igniteui-angular-core"; import { SeriesPointOfInterest } from "./SeriesPointOfInterest"; import { RectUtil } from "igniteui-angular-core"; import { ChartSelection } from "./ChartSelection"; import { PropertyMetadata } from "igniteui-angular-core"; import { DeviceUtils } from "igniteui-angular-core"; import { isNaN_, isInfinity } from "igniteui-angular-core"; import { NumericMarkerManager } from "./NumericMarkerManager"; import { DataTemplateMeasureInfo } from "igniteui-angular-core"; import { Size } from "igniteui-angular-core"; import { Defaults } from "./Defaults"; import { DataTemplatePassInfo } from "igniteui-angular-core"; import { DataTemplateRenderInfo } from "igniteui-angular-core"; import { MarkerVisualData } from "./MarkerVisualData"; import { stringIsNullOrEmpty } from "igniteui-angular-core"; /** * @hidden */ export let ScatterPolygonSeries = /*@__PURE__*/ (() => { class ScatterPolygonSeries extends ShapeSeriesBase { constructor() { super(); this.aak = null; this.aah = new ScalerParams(1, ScatterPolygonSeries.abq, ScatterPolygonSeries.abq, false); this.aai = new ScalerParams(1, ScatterPolygonSeries.abq, ScatterPolygonSeries.abq, false); this.aa6 = null; this.aac = 1; this.z8 = 1; this.ab = ScatterPolygonSeries.$; } bj() { return new ScatterPolygonSeries(); } get_fp() { return true; } get_fk() { return true; } ye() { return this.aam(); } zm(a) { let b = a; b.cy(this.abs); b.cz(this.aal); super.zm(a); if (this.d5(a)) { return; } let c, d; let e = a.getViewInfo(c, d); c = e.p0; d = e.p1; let f = this.getEffectiveViewport1(a); this.aah = new ScalerParams(1, d, c, this.xd.ch); this.aah.c = f; this.aai = new ScalerParams(1, d, c, this.xf.ch); this.aai.c = f; if (c.width < 1 || c.height < 1) { return; } this.aak = ((() => { let $ret = new ShapeAxisInfoCache(); $ret.a = this.xd; $ret.b = this.xf; $ret.e = this.xd.ch; $ret.f = this.xf.ch; $ret.d = this.dn; $ret.c = this.xv; return $ret; })()); if (this.aam()) { let g = new Dictionary$2(Base.$, OwnedPoint.$, 0); b.dg.l(g, 400, d, c, this.ic); b.dg.j(g, false); if (this.yc()) { this.aa3(a); } } } aa3(a) { a.dk = true; this.xk.ay(this, this.yc(), runOn(this, this.w3)); let b = this.xk.d; let c = b != null; let d = this.getEffectiveViewport1(a); let e = this.dn == null ? 0 : this.dn.count; a.dw((f) => { if (f._visibility == 0) { let g = f.ak; let h = f.content; if (h == null) { h = new DataContext(); f.content = h; } if (c) { this.zh(g, e, a.q); } this.xk.ac(f, h); } }); } aam() { return this.aa6 != null && ((this.aag != 1 && this.aag != 0) || this.aa7 != null); } cs() { return new ScatterPolygonSeriesView(this); } q0(a) { super.q0(a); this.aaj = a; } get_hasMarkers() { return true; } get_el() { return this.aag != 13 && this.aag != 1; } vk() { return this.abm; } vl() { return this.abn; } sy() { return this.aa5; } l9() { return this.ma(this, this.aa6); } im() { return this.aao; } get aad() { return this.aac; } set aad(a) { this.aac = a; } aaf() { if (this.aae == 0) { return 1; } return this.aae; } sk(a) { super.sk(a); this.aae = a; } get z9() { return this.z8; } set z9(a) { this.z8 = a; } aab() { if (this.aaa == 0) { return 2; } return this.aaa; } sj(a) { super.sj(a); this.aaa = a; } sl(a) { super.sl(a); this.aao = a; } sg() { super.sg(); if (this.index < 0) { return; } if (this.aa7 != null) { this.aaj.dv(); this.aaj.ds(); } else { let a = MarkerSeries.xa(this, this.aag); let b = MarkerSeries.xn(a); if (b == null) { this.aa5 = MarkerSeries.x2; } else { this.aaj.dp(b); } } if (this.abo != null && this.aag != 13) { this.r7("ActualMarkerBrush"); let c = this.abm; this.aaj.dt(); this.aaj.dq(); let d = this.abm; let e = this.fg("ActualMarkerBrush", this.hu.f > 0 ? this.hu.d() : null, c, d); this.r9("ActualMarkerBrush", e); } else { if (this.aag == 13) { this.abm = this.cv.bt(); } else { if (this.z9 != 2) { if (this.db != null) { let f = this.db.ve(this.index); if (!isNaN_(this.ib) && this.ib != 1) { f = BrushUtil.q(f, this.ib); } this.abm = f; } else { this.abm = null; } } } } if (this.abp != null) { this.aaj.du(); this.aaj.dr(); } else { if (this.aag == 13) { this.abn = this.cv.bt(); } else { if (this.aae == 2) { this.abn = this.abm; } else { this.abn = this.db == null ? null : this.db.vf(this.index); } } } if (this.z9 == 2 && this.abo == null && this.aag != 13) { if (this.abn != null) { let g = this.abn; if (!isNaN_(this.ib) && this.ib != 1) { g = BrushUtil.q(g, this.ib); } this.abm = g; } else { this.abm = null; } } } qr() { super.qr(); this.aad = this.aaf(); this.z9 = this.aab(); } q8(a, b, c, d) { super.q8(a, b, c, d); switch (b) { case ScatterPolygonSeries.$$p[3]: case ScatterPolygonSeries.$$p[11]: case ScatterPolygonSeries.$$p[7]: case ScatterPolygonSeries.$$p[9]: case ScatterPolygonSeries.$$p[10]: this.re(b); this.q2(); break; case ScatterPolygonSeries.$$p[6]: this.aad = this.aaf(); this.re(null); this.q2(); break; case ScatterPolygonSeries.$$p[5]: this.z9 = this.aab(); this.re(null); this.q2(); break; case ScatterPolygonSeries.$$p[2]: this.aa6 = d; if (c == MarkerSeries.x2 || d == MarkerSeries.x2 || (c == null || d != null)) { this.aaj.dx(); this.rq(false); } this.cv.bl(); if (this.toolTip != null && this.fh) { this.ba.a$as(this, this.toolTip); } this.rq(false); this.qk(); break; case ScatterPolygonSeries.$$p[12]: this.aaj.cy(this.abs); this.rq(false); this.qk(); break; case ScatterPolygonSeries.$$p[13]: this.aaj.cz(this.aal); this.rq(false); this.qk(); break; case ScatterPolygonSeries.$$p[4]: this.rq(false); this.qk(); break; case ScatterPolygonSeries.$$p[0]: case ScatterPolygonSeries.$$p[1]: if (this.aam()) { this.rq(false); } break; } } a2(a, b) { let c = this.aaj.b4(a); let d = null; if (c != null) { d = c.content; } if (d != null) { return d; } return super.a2(a, b); } aa4(a, b) { let c = new List$1(Base.$, 0); for (let d of fromEnum(b.c)) { if (!a.containsKey(d)) { c.add1(d); } } for (let e of fromEnum(c)) { b.h(e); } } eb(a, b, c, d, e) { if (!this.hasMarkers) { return false; } let f = this.xd; let g = new ScalerParams(1, this.db.v4, this.wr, f.ch); g.c = this.getEffectiveViewport1(this.cv); let h = this.xf; let i = new ScalerParams(1, this.db.v4, this.wr, h.ch); i.c = this.getEffectiveViewport1(this.cv); a.clear(); this.aaj.dw((j) => { if (j._visibility == 0) { let k = new SeriesPointOfInterest(); let l = j.n; let m = j.o; if (l < this.wr.left || l > this.wr.right || m < this.wr.top || m > this.wr.bottom) { return; } k.d = f.eo(l, g); k.e = h.eo(m, i); k.b = j.content; k.g = this.vf; k.c = j.ak; if (this.g8) { k.g = this.vm(j.ak); } a.add(k); } }); return true; } z6(a, b, c, d, e) { if (c == null || c.length != this.aak.d.count) { c = new Array(this.aak.d.count); for (let f = 0; f < this.aak.d.count; f++) { c[f] = PointUtil.create(); } } let g = ((() => { let $ret = new ScalerParams(1, d, e, this.xd.ch); $ret.c = this.getEffectiveViewport1(a); return $ret; })()); let h = ((() => { let $ret = new ScalerParams(1, d, e, this.xf.ch); $ret.c = this.getEffectiveViewport1(a); return $ret; })()); let i = this.wi(a); let j = this.aak.a.eo(i.left, g); let k = this.aak.a.eo(i.right, g); let l = this.aak.b.eo(i.bottom, h); let m = this.aak.b.eo(i.top, h); if (this.aak.e) { let n = j; j = k; k = n; } if (this.aak.f) { let o = l; l = m; m = o; } let p = this.aak; let q = p.a; let r = p.b; let s; let t; let u = g.d.left; let v = g.d.right; let w = h.d.top; let x = h.d.bottom; for (let y = 0; y < this.aak.d.count; y++) { s = 0; t = 0; let z = null; let aa = a.cc.tryGetValue(y, z); z = aa.p1; if (z == null) { c[y].x = NaN; c[y].y = NaN; } else { let ab = z.c; let ac = RectUtil.l(ab); s = ac.x; t = ac.y; if (s >= u && s <= v && t >= w && t <= x) { c[y].x = s; c[y].y = t; } else { c[y].x = NaN; c[y].y = NaN; } } } return c; } aan(a, b) { if (b == null) { b = new List$1(Number_$type, 2, a.e); } else { b.clear(); } let c = 0; let d = this.dn; for (let e of fromEnum(a.c)) { b.add(d.indexOf(e)); c++; } return b; } ak(a, b) { let c = new List$1(ChartSelection.$, 0); this.p3(a, c, b); return c.toArray(); } p3(a, b, c) { this.ze(a, b, c); } } ScatterPolygonSeries.$t = markType(ScatterPolygonSeries, 'ScatterPolygonSeries', ShapeSeriesBase.$); ScatterPolygonSeries.abq = new Rect(0, 0, 0, 1, 1); ScatterPolygonSeries.$$p = markDep(DependencyProperty, PropertyMetadata, ScatterPolygonSeries, 'raisePropertyChanged', ['ActualMarkerBrush:abm:aa8', [Brush.$], 'ActualMarkerOutline:abn:aa9', [Brush.$], 'ActualMarkerTemplate:aa5:aba', [DataTemplate.$, null], 'MarkerBrush:abo:abb', [Brush.$], 'MarkerCollisionAvoidance:z7:abc', [CollisionAvoidanceType_$type, enumGetBox(CollisionAvoidanceType_$type, 0)], 'MarkerFillMode:aaa:abd', [MarkerFillMode_$type, enumGetBox(MarkerFillMode_$type, 0)], 'MarkerOutlineMode:aae:abe', [MarkerOutlineMode_$type, enumGetBox(MarkerOutlineMode_$type, 0)], 'MarkerOutline:abp:abf', [Brush.$], 'MarkerStyle:abr:abg', [Style.$], 'MarkerTemplate:aa7:abh', [DataTemplate.$, null], 'MarkerThickness:aao:abi', [1, DeviceUtils.g(2)], 'MarkerType:aag:abj', [MarkerType_$type, enumGetBox(MarkerType_$type, 1)], 'ShapeStyle:abs:abk', [Style.$, null], 'ShapeStyleSelector:aal:abl', [StyleSelector.$, null]]); return ScatterPolygonSeries; })(); /** * @hidden */ export let ScatterPolygonSeriesView = /*@__PURE__*/ (() => { class ScatterPolygonSeriesView extends ShapeSeriesViewBase { constructor(a) { super(a); this.dk = false; this.db = null; this.dm = null; this.dh = null; this.df = null; this.dj = false; this.di = null; this.dn = null; this.dc = new Marker(); this.d4 = null; this.dc = new Marker(); this.dc.content = new DataContext(); this.dh = a; this.di = new HashPool$2(Base.$, Marker.$); this.dn = new List$1(Marker.$, 0); this.dy(this.di); this.df = new NumericMarkerManager(1, (b) => this.di.item(b), (b) => this.dh.aak.d.item(b), runOn(this, this.d2), runOn(this, this.da), runOn(this, this.dl), () => this.dh.z7); this.df.q = runOn(this, this.d5); } au() { super.au(); if (!this.q) { this.dh.abp = Defaults.am; this.dh.jo = Defaults.z; this.dh.aao = Defaults.y; this.dh.aag = Defaults.f; this.dh.aaa = Defaults.b; } } get dg() { return this.df; } d2(a) { this.dh.aa4(a, this.di); } da() { this.db = this.dh.z6(this, this.di, this.db, this.by, this.bx); return this.db; } dl() { this.dm = this.dh.aan(this.di, this.dm); return this.dm; } c5(a, b) { return this.c6(a, b, true); } cm(a, b, c) { super.cm(a, b, c); ShapeSeriesViewBase.cl(this, a, b); } ck(a, b) { let c = a; if (c == null) { return; } c.an = b; } dw(a) { this.di.f(a); } dy(a) { a.create = runOn(this, this.de); a.destroy = runOn(this, this.d0); a.activate = runOn(this, this.dz); a.disactivate = runOn(this, this.d1); } de() { let a = new Marker(); if (!this.dj) { a.content = ((() => { let $ret = new DataContext(); $ret.series = this.e; return $ret; })()); } a.ah = this.e.aa5; this.dn.add(a); return a; } b4(a) { let b = this.dd(a, 0); if (b == null) { b = this.dd(a, 3); } return b; } dd(a, b) { let c; let d; let e; let f; for (let g = this.dn.count - 1; g >= 0; g--) { let h = this.dn._inner[g]; if (h._visibility == 1 || h._opacity == 0) { continue; } c = (h.m / 2) + b; d = (h.l / 2) + b; e = h.ai; f = h.aj; if ((h.n + e) - c <= a.x && (h.n + e) + c >= a.x && (h.o + f) - d <= a.y && (h.o + f) + d >= a.y) { return h; } } return null; } d0(a) { a.content = null; this.dn.remove(a); } dz(a) { a._visibility = 0; } d1(a) { if (a.content != null) { (typeCast(DataContext.$, a.content)).item = null; } a._visibility = 1; } d3(a) { this.dj = a; } bj(a, b) { super.bj(a, b); if (!this.dk) { let c = a; let d = c.content; if (d != null) { if (this.dh.abm != null) { d.actualItemBrush = this.dh.abm; } else { d.actualItemBrush = this.b6.u8; } if (this.dh.abm != null) { d.outline = this.dh.abn; } else { d.outline = this.b6.vc; } d.thickness = this.dh.aao; } } } bk(a, b) { super.bk(a, b); let c = a; this.dc._visibility = c._visibility; this.dc.ah = c.ah; this.dc.width = c.width; this.dc.height = c.height; this.dc.m = c.m; this.dc.l = c.l; this.dc.n = c.n; this.dc.o = c.o; let d = this.bs(b); let e = this.dc.content; let f = c.content; e.item = f.item; e.series = f.series; e.thickness = f.thickness; if (e != null) { e.actualItemBrush = d; e.outline = d; e.thickness = this.dh.aao + 3; } } a7(a, b) { super.a7(a, b); let c = new DataTemplatePassInfo(); c.isHitTestRender = b; c.context = a.h(); c.viewportTop = this.bx.top; c.viewportLeft = this.bx.left; c.viewportWidth = this.bx.width; c.viewportHeight = this.bx.height; c.passID = "Markers"; let d = new DataTemplateRenderInfo(); d.passInfo = c; d.isHitTestRender = b; let e = new DataTemplateMeasureInfo(); e.passInfo = c; let f = false; let g = a.h(); e.context = g; d.context = g; let h = 0; let i = 0; if (this.dh.aa5 != null && this.dh.aa5.passStarting != null) { this.dh.aa5.passStarting(c); } for (let j = 0; j < this.dn.count; j++) { let k = this.dn._inner[j]; if (k._visibility == 1) { continue; } this.bi(k, j, b); if (b) { k = this.dc; } if (!f) { e.width = k.width; e.height = k.height; e.renderOffsetX = 0; e.renderOffsetY = 0; e.renderContext = a; let l = k.ah; if (l.measure != null) { e.data = k.content; l.measure(e); f = e.isConstant; if (f) { h = e.width; i = e.height; } } d.availableWidth = e.width; d.availableHeight = e.height; d.renderOffsetX = e.renderOffsetX; d.renderOffsetY = e.renderOffsetY; d.renderContext = a; } else { d.availableWidth = h; d.availableHeight = i; } if (!isNaN_(k.width) && !isInfinity(k.width)) { d.availableWidth = k.width; } if (!isNaN_(k.height) && !isInfinity(k.height)) { d.availableHeight = k.height; } a.q(d, k); k.m = d.availableWidth; k.l = d.availableHeight; k.ai = d.renderOffsetX; k.aj = d.renderOffsetY; } if (this.dh.aa5 != null && this.dh.aa5.passCompleted != null) { this.dh.aa5.passCompleted(c); } } dv() { this.dh.aa5 = null; } ds() { this.dh.aa5 = null; this.dh.aa5 = this.dh.aa7; } dt() { this.dh.abm = null; } dq() { this.dh.abm = null; if (!isNaN_(this.e.ib) && this.e.ib != 1) { let a = BrushUtil.q(this.dh.abo, this.e.ib); this.dh.abm = a; } else { this.dh.abm = this.dh.abo; } } du() { this.dh.abn = null; } dr() { this.dh.abn = null; this.dh.abn = this.dh.abp; } dp(a) { switch (a) { case "CircleMarkerTemplate": this.dh.aa5 = this.dh.db.r1; break; case "TriangleMarkerTemplate": this.dh.aa5 = this.dh.db.sa; break; case "PyramidMarkerTemplate": this.dh.aa5 = this.dh.db.r7; break; case "SquareMarkerTemplate": this.dh.aa5 = this.dh.db.r8; break; case "DiamondMarkerTemplate": this.dh.aa5 = this.dh.db.r2; break; case "PentagonMarkerTemplate": this.dh.aa5 = this.dh.db.r5; break; case "HexagonMarkerTemplate": this.dh.aa5 = this.dh.db.r3; break; case "TetragramMarkerTemplate": this.dh.aa5 = this.dh.db.r5; break; case "PentagramMarkerTemplate": this.dh.aa5 = this.dh.db.r6; break; case "HexagramMarkerTemplate": this.dh.aa5 = this.dh.db.r4; break; } } dx() { for (let a of fromEnum(this.dn)) { a.ah = this.dh.aa5; } this.as(); } d5(a) { if (this.d4 == null) { this.d4 = new DataTemplateMeasureInfo(); this.d4.context = this.k.h(); } this.d4.width = a.width; this.d4.height = a.height; this.d4.data = a.content; let b = a.ah; if (b.measure != null) { b.measure(this.d4); } return new Size(1, this.d4.width, this.d4.height); } an(a) { let b = a; super.an(b); for (let c of fromEnum(this.di.c)) { let d = this.di.item(c); if (d._visibility != 1) { let e = typeCast(ScatterPolygonSeries.$, this.e); let f = this.e.bc.getMarkerVisualData(e, d, e.aa5); b.markerShapes.add(typeCast(MarkerVisualData.$, f)); } } } getDefaultTooltipTemplate() { let a = "<div class='ui-chart-default-tooltip-content'><span"; let b = this.e.ba.a$u(this.e); if (!stringIsNullOrEmpty(b)) { a += " style='color:" + b + "'"; } a += ">" + this.dh.title + "</span><br/>"; a += "</div>"; return a; } } ScatterPolygonSeriesView.$t = markType(ScatterPolygonSeriesView, 'ScatterPolygonSeriesView', ShapeSeriesViewBase.$); return ScatterPolygonSeriesView; })();