UNPKG

igniteui-angular-charts

Version:

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

1,078 lines (1,077 loc) 35 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 { RadialBucketCalculator } from "./RadialBucketCalculator"; import { markType, typeCast, Point_$type, runOn, delegateCombine, enumGetBox, fromEnum, markDep } from "igniteui-angular-core"; import { isNaN_, intDivide, isInfinity } from "igniteui-angular-core"; import { RadialBase } from "./RadialBase"; import { CategoryLineRasterizer } from "./CategoryLineRasterizer"; import { DependencyProperty } from "igniteui-angular-core"; import { TrendLineType_$type } from "igniteui-angular-core"; import { Brush } from "igniteui-angular-core"; import { PenLineCap_$type } from "igniteui-angular-core"; import { DoubleCollection } from "igniteui-angular-core"; import { RadialFrame } from "./RadialFrame"; import { ProportionalCategoryAngleAxis } from "./ProportionalCategoryAngleAxis"; import { ScalerParams } from "./ScalerParams"; import { Rect } from "igniteui-angular-core"; import { FastItemCoalescingColumn } from "./FastItemCoalescingColumn"; import { List$1 } from "igniteui-angular-core"; import { SeriesLayerPropertyOverlay } from "./SeriesLayerPropertyOverlay"; import { DataLegendSeriesValueInfo } from "igniteui-angular-core"; import { DataLegendSeriesContext } from "igniteui-angular-core"; import { AxisRange } from "./AxisRange"; import { IFastItemsSource_$type } from "igniteui-angular-core"; import { NumericAxisBase } from "./NumericAxisBase"; import { RadialBaseView } from "./RadialBaseView"; import { ChartSelection } from "./ChartSelection"; import { CollisionRect } from "igniteui-angular-core"; import { CollisionAvoider } from "./CollisionAvoider"; import { Clipper } from "igniteui-angular-core"; import { TrendResolutionParams } from "./TrendResolutionParams"; import { RadialTrendLineManager } from "./RadialTrendLineManager"; import { CategoryMarkerManager } from "./CategoryMarkerManager"; import { PropertyMetadata } from "igniteui-angular-core"; import { stringIsNullOrEmpty } from "igniteui-angular-core"; /** * @hidden */ export class AnchoredRadialBucketCalculator extends RadialBucketCalculator { static { this.$t = markType(AnchoredRadialBucketCalculator, 'AnchoredRadialBucketCalculator', RadialBucketCalculator.$); } constructor(a) { super(a); this.f = null; this.f = a; } getBucket(a) { let b = this.f.de.adp; let c = Math.min(a * this.b, b.count - 1); let d = Math.min(c + this.b - 1, b.count - 1); let e = NaN; let f = NaN; for (let g = c; g <= d; ++g) { let h = b.item(g); if (!isNaN_(e)) { if (!isNaN_(h)) { e = Math.min(e, h); f = Math.max(f, h); } } else { e = h; f = h; } } if (!isNaN_(e)) { return [0.5 * (c + d), e, f, 0]; } return [0.5 * (c + d), NaN, NaN, 0]; } } /** * @hidden */ export class AnchoredRadialSeries extends RadialBase { static { this.$t = markType(AnchoredRadialSeries, 'AnchoredRadialSeries', RadialBase.$); } ct() { return new AnchoredRadialSeriesView(this); } ph() { super.ph(); this.aab = null; this.aah = null; } mr() { return AnchoredRadialSeries.$$p[4]; } k1(a, b) { let c = this.nq(b); if (c == AnchoredRadialSeries.$$p[4]) { if (this.aab != null && this.aab.dw && this.aab.tq(a)) { return this.adp.item(this.adp.count - 1); } return this.k2(a, b, this.aee); } if (c == AnchoredRadialSeries.$$p[0]) { return this.k2(a, b, this.ad6); } return super.k1(a, b); } mq(a) { let b = this.nq(a); if (b == AnchoredRadialSeries.$$p[4]) { return this.aee; } if (b == AnchoredRadialSeries.$$p[0]) { return this.ad6; } return super.mq(a); } jm(a) { if (this.aab.dw && this.aab.tq(a)) { return this.abk(this.adp.count - 1, this.adp.item(this.adp.count - 1)); } return super.jm(a); } k4(a) { if (this.aab != null && this.aab.dw) { if (a == this.aab.othersIndex) { return this.aab.t3(true); } } return super.k4(a); } rj(a) { super.rj(a); this.adj = a; } constructor() { super(); this.adk = null; this.adu = false; this.ado = null; this.ae5 = { $type: Point_$type, x: 0, y: 0 }; this.adm = null; this.adl = null; this.adq = false; this.adm = new RadialFrame(3); this.adk = new CategoryLineRasterizer(); } kl(a, b) { return this.km(a, b, this.aab, null, this.adp); } kj(a, b) { return this.kk(a, b, this.aab, null, this.adp); } iy(a, b, c, d, e) { if (this.adp == null) { return Number.POSITIVE_INFINITY; } return this.iz(a, b, this.aab, d, e, this.adp.count, null); } jf(a, b, c) { let d = this.getEffectiveViewport1(this.cw); let e = this.ad0(this.aab, this.cw.ca, this.cw.b9, d); let f = new ScalerParams(0, this.cw.ca, this.cw.b9, this.aab.dr, d); f.c = this.dc.zd; let g = this.adp; if (this.adu && typeCast(FastItemCoalescingColumn.$, g) !== null && this.aab.dw) { g = new FastItemCoalescingColumn(this.aab, g.c, false); } return this.jh(g, a, this.aab, f, e, null, b, c); } wy(a, b, c) { if (this.aah == null || this.aab == null || this.cw == null || this.cw.ca.isEmpty || this.cw.b9.isEmpty) { return { $type: Point_$type, x: NaN, y: NaN }; } let d = this.getEffectiveViewport1(this.cw); let e = new ScalerParams(0, this.cw.ca, this.cw.b9, this.aah.dr, d); e.c = this.getEffectiveViewport1(this.cw); let f = this.jf(a, b, c); f = this.aah.gc(f, e); let g = this.aai.c(a, this.cw.ca, this.cw.b9, d); if (!b && this.aab != null) { let h = this.kl(a, c); let i = this.kj(a, c); let j = this.ad0(this.aab, this.cw.ca, this.cw.b9, d); let k = new ScalerParams(0, this.cw.ca, this.cw.b9, this.aab.dr, d); k.c = this.dc.zd; let l = this.iy(a, h, this.aab, k, j); let m = this.iy(a, i, this.aab, k, j); if (this.aab.dw) { if (m <= l) { j = this.adz(i, this.aab, this.cw.ca, this.cw.b9, d); if (isNaN_(j)) { j = 0; } g = this.aab.gc(i, k) + j; } else { j = this.adz(h, this.aab, this.cw.ca, this.cw.b9, d); if (isNaN_(j)) { j = 0; } g = this.aab.gc(h, k) + j; } } else { if (m <= l) { g = this.aab.gc(i, k) + j; } else { g = this.aab.gc(h, k) + j; } } } let n = this.aai.d(g, f, this.cw.ca, this.cw.b9, this.cw.getEffectiveViewport()); let o = this.aai.e(g, f, this.cw.ca, this.cw.b9, this.cw.getEffectiveViewport()); return { $type: Point_$type, x: n, y: o }; } gj() { return this.highlightedItemsSource != null || this.ad6 != null; } h1() { let a = super.h1(); { let b = ((() => { let $ret = new SeriesLayerPropertyOverlay(); $ret.ad = "ValueMemberPath"; $ret.p = true; $ret.y = "HighlightedValueMemberPath"; $ret.q = true; return $ret; })()); b.valueResolving = delegateCombine(b.valueResolving, runOn(this, this.aek)); a.add(b); } return a; } aek(a, b) { if (this.ad6 != null) { b.value = this.ad6; return; } b.value = this.aee; } get adp() { return this.ado; } set adp(a) { if (this.ado != a) { let b = this.ado; this.ado = a; this.raisePropertyChanged("ValueColumn", b, this.ado); } } getDataLegendSeriesContextAt(a, b) { let c = new DataLegendSeriesValueInfo(); c.a = 0; this.adu = true; c.l = this.jf({ $type: Point_$type, x: a, y: b }, false, false); this.adu = false; c.q = "Value"; c.r = this.aee != null ? this.aee : "Value"; c.s = this.aea != null ? this.aea : "V:"; c.t = this.aec != null ? this.aec : ""; let d = new DataLegendSeriesContext(); d.e = ((() => { let $ret = new List$1(DataLegendSeriesValueInfo.$, 0); $ret.add(c); return $ret; })()); d.h = this.mp(); return d; } get ae1() { return this.c(AnchoredRadialSeries.aeo); } set ae1(a) { this.h(AnchoredRadialSeries.aeo, a); } static { this.aeo = DependencyProperty.i("ActualTrendLineBrush", Brush.$, AnchoredRadialSeries.$, new PropertyMetadata(2, null, (a, b) => a.raisePropertyChanged("ActualTrendLineBrush", b.oldValue, b.newValue))); } ay(a) { if (a != null && a == this.aab && this.adp != null && this.adp.count > 0) { return new AxisRange(0, this.adp.count - 1); } if (a != null && a == this.aah && this.adp != null && this.adp.count > 0) { return new AxisRange(this.adp.minimum, this.adp.maximum); } return null; } abk(a, b) { if (this.ady) { let c = this.adp.c; if (a < 0) { return super.abk(a, b); } if (a > c.count - 1) { if (typeCast(ProportionalCategoryAngleAxis.$, this.aab) !== null) { let d = this.adp; return d.f; } return super.abk(a, b); } return c.item(a); } else { return super.abk(a, b); } } dl(a) { let b = super.dl(a); this.adq = false; if (this.aab != null && this.aab.dw) { this.adq = true; b = new FastItemCoalescingColumn(this.aab, b, this.ady); } return b; } aei(a, b) { if (this.adq) { let c = b; let d = c.c; a.deregisterColumn(d); } else { a.deregisterColumn(b); } } rs(a, b, c, d) { super.rs(a, b, c, d); if (this.adj.df.g$e(a, b, c, d)) { this.sa(false); this.q2(); } let e = typeCast(NumericAxisBase.$, this.aah); switch (b) { case AnchoredRadialSeries.$$p[2]: case AnchoredRadialSeries.$$p[3]: this.qw(); break; case AnchoredRadialSeries.$$p[1]: case RadialBase.$$p[0]: if (this.adp != null) { this.aei(this.dp, this.adp); this.adp = this.dl(this.aee); } break; case "FastItemsSource": if (typeCast(IFastItemsSource_$type, c) !== null) { this.aei(c, this.adp); this.adp = null; } if (typeCast(IFastItemsSource_$type, d) !== null) { this.adp = this.dl(this.aee); this.adj.da.e(this.im); } if (e != null && !e.ei()) { this.adj.da.e(this.im); this.sa(this.go && c != null); } break; case AnchoredRadialSeries.$$p[4]: if (this.dp != null) { this.aei(this.dp, this.adp); this.adp = this.dl(this.aee); } break; case "ValueColumn": if (e != null && !e.ei()) { this.adj.da.e(this.im); this.sa(this.go && this.d9); } break; case "TrendLineBrush": this.ry(b); break; case "TrendLineType": this.q2(); break; } } pq(a, b, c, d) { super.pq(a, b, c, d); switch (a) { case 4: case 1: case 0: this.adj.da.e(this.im); break; } this.adj.df.g$i(a, b, c, d); if (this.adj.aa.count > 0) { for (let e of fromEnum(this.adj.aa)) { e.g$i(a, b, c, d); } } switch (a) { case 4: if (this.aah != null && !this.aah.ei()) { this.sa(true); } break; case 1: if (this.aah != null && !this.aah.ei()) { this.sa(true); } break; case 0: if (this.aah != null && !this.aah.ei()) { this.sa(true); } break; case 2: if (this.aee != null && this.adj.da.b > 0 && this.aah != null && !this.aah.ei()) { this.sa(true); } break; case 3: if (d == this.aee) { if (this.aah != null && !this.aah.ei()) { this.sa(true); } } break; } } hm(a, b, c) { let d = super.hm(a, b, c); let e = c; if (this.dp == null || this.dp.count == 0 || this.aab == null || this.adp == null || this.aab.qp == 0 || this.aah == null || isInfinity(this.aah.ra) || isInfinity(this.aah.q9) || e.da.b < 1) { d = false; } return d; } getOffsetValue() { return this.ad0(this.aab, this.cw.ca, this.cw.b9, this.getEffectiveViewport1(this.cw)); } getCategoryWidth() { return this.aab.getCategorySize(this.cw.ca, this.cw.b9, this.getEffectiveViewport1(this.cw)); } get_adv() { return false; } get adv() { return this.get_adv(); } get_em() { return true; } get_gc() { return this.aah != null && this.aah.dr; } ad0(a, b, c, d) { let e = 0; let f = this.preferredCategoryMode(a); if (f == 0 && a.categoryMode != 0) { f = 1; } switch (f) { case 0: e = 0; break; case 1: e = 0.5 * a.getCategorySize(b, c, d); break; case 2: e = a.getGroupCenter(this.abj(), b, c, d); break; } if (a.dr) { e = -e; } return e; } adz(a, b, c, d, e) { let f = 0; let g = this.preferredCategoryMode(b); if (g == 0 && b.categoryMode != 0) { g = 1; } switch (g) { case 0: f = 0; break; case 1: f = 0.5 * b.sj(a, c, d, e); break; case 2: f = b.si(a, this.abj(), c, d, e); break; } if (b.dr) { f = -f; } return f; } aej(a, b, c, d) { if (d == 0) { this.qk(a, b, c); return; } let e = this.cw.ca; let f = this.cw.b9; let g = this.getEffectiveViewport1(this.cw); let h = this.dc.y3(this.xf, this.getEffectiveViewport(), e); let i = this.aah.qb(f, e, g, h); let j = this.aab != null && this.aab.dw; let k = new CollisionRect(0, this.dc.y0(a)); for (let l = 0; l < this.dp.count; l++) { let m = typeCast(RadialBaseView.$, this.cw); let n = m.da.getBucket(l); let o = this.ad0(this.aab, e, f, g); if (j) { o = this.adz(l, this.aab, e, f, g); if (isNaN_(o)) { o = 0; } } n[0] = this.aab.getScaledAngle(n[0]) + o; let p = Math.min(this.aai.b.t1(n[2]), i.maxLength); let q = this.aai.d(n[0], p, e, f, g); let r = this.aai.e(n[0], p, e, f, g); if (k.containsLocation(q, r)) { if (c == 7 || c == 6) { b.add(((() => { let $ret = new ChartSelection(); $ret.series = this; return $ret; })())); return; } else if (c == 2 || c == 1) { b.add(((() => { let $ret = new ChartSelection(); $ret.item = this.dp.item(l); return $ret; })())); } else { b.add(((() => { let $ret = new ChartSelection(); $ret.item = this.dp.item(l); $ret.series = this; return $ret; })())); } } } } get_adx() { return false; } get adx() { return this.get_adx(); } get_adr() { return false; } get adr() { return this.get_adr(); } acm(a, b) { let c = b.ca; let d = b.b9; let e = this.getEffectiveViewport1(b); let f = this.aab; let g = this.aah; let h = g.ra; let i = g.q9; a.k.clear(); a.s.clear(); a.v.clear(); let j = this.x4(); let k = 0; let l = b; let m = f.dw; let n = new CollisionAvoider(); let o = 0; let p = 0; let q = b.da.d; o = this.ad0(f, c, d, e); l.df.k = this.aah.tu; l.df.j = this.aah.tt; l.df.l = (r, s) => this.ad1(r, s, c, d, e); l.df.m = (r, s) => this.ad2(r, s, c, d, e); let r = ((() => { let $ret = new Clipper(0, d, false); $ret.i = a.v; return $ret; })()); let s = ((() => { let $ret = new TrendResolutionParams(); $ret.e = b.da.b; $ret.f = b.da.c; $ret.g = q; $ret.a = o; $ret.d = this.im; $ret.i = d; $ret.h = e; $ret.j = c; return $ret; })()); l.df.n(a.v, this.adn, this.adp, this.ad4, (t) => this.aab.getScaledAngle(t), (t) => this.aah.t1(t), s, r); a.i.clear(); for (let t = 0; t < b.aa.count; t++) { a.i.add(new List$1(Point_$type, 0)); let u = b.aa._inner[t]; u.k = this.aah.tu; u.j = this.aah.tt; u.l = (v, w) => this.ad1(v, w, c, d, e); u.m = (v, w) => this.ad2(v, w, c, d, e); u.n(a.i._inner[t], u.g$b, this.adp, u.g$f, (v) => this.aab.getScaledAngle(v), (v) => this.aah.t1(v), s, r); } let v = true; if (this.adw(b)) { q--; } for (let w = b.da.c; w <= q; ++w) { let x = w; if (x * b.da.b >= this.aab.qp) { x -= intDivide((this.aab.qp), b.da.b); } let y = b.da.getBucket(x); p = 0; if (m) { p = this.abb(x, c, d, e); } y[3] = p; if (!isNaN_(y[0])) { let z = false; if (m) { o = this.adz(x, f, c, d, e); if (isNaN_(o)) { o = 0; z = true; } } y[0] = f.getScaledAngle(y[0]) + o; if (y[1] < h || y[1] > i) { if (this.adx) { if (y[1] > i && this.adr) { } else { z = true; } } else { if (y[1] > i && this.adr) { } else { continue; } } } if (z) { y[1] = NaN; y[2] = NaN; } y[1] = g.t1(y[1]); if (b.da.b > 1) { if (y[2] < h || y[2] > i) { continue; } y[2] = g.t1(y[2]); } else { y[2] = y[1]; } if ((isNaN_(y[1]) || isNaN_(y[2])) && v && this.adv && this.adt()) { q++; } else { v = false; } a.k.add(y); if (j) { let aa = Math.min(x * b.da.b, this.dp.count - 1); let ab = false; if (this.aab.dw) { let ac = this.aab; let ad = ac.hasOthersCategory && (x * b.da.b) == this.aab.qp - 1; ab = ad; } let ae = this.aai.d(y[0], y[1], c, d, e); let af = this.aai.e(y[0], y[1], c, d, e); let ag = new Rect(0, ae - 5, af - 5, 11, 11); if (!isNaN_(ae) && !isNaN_(af) && !isInfinity(ae) && !isInfinity(af) && n.tryAdd(ag)) { a.s.add({ $type: Point_$type, x: y[0], y: y[1] }); let ah = b.db.item(k); ah.am = x; ah.al = aa; ah.content.item = this.dp.item(aa); if (ab) { ah.al = this.dp.count; let ai = this.aab; ah.content.item = this.aab.t3(true); } ++k; } } } else { if (v && this.adv && this.adt()) { q++; } } } b.db.count = k; return; } ad1(a, b, c, d, e) { return this.aai.d(a, b, c, d, e); } ad2(a, b, c, d, e) { return this.aai.e(a, b, c, d, e); } adw(a) { let b = a; return !this.adv && b.da.c == 0 && b.da.d == this.aab.qp; } adi(a, b, c) { let d = null; let e = c.ca; let f = c.b9; if (b > -1 && !e.isEmpty && !f.isEmpty) { let g = a._inner[0][0] < f.left - 2000 ? f.left - 10 : NaN; let h = f.bottom + 10; let i = a._inner[b][0] > f.right + 2000 ? f.right + 10 : NaN; let j = f.top - 10; d = new Clipper(1, g, h, i, j, false); } return d; } aen(a, b, c, d, e) { if (a.count > 0 && d.count > 0) { if (!e || this.ads()) { a.add(this.ae5); a.add(a._inner[0]); d.add(this.ae5); d.add(d._inner[0]); } } } adt() { return !this.ads(); } ads() { let a = this.cw.ca; return !a.containsPoint({ $type: Point_$type, x: 0.5, y: 0.5 }); } pk(a, b) { super.pk(a, b); let c = b; if (a) { c.db.clear(); } c.df.g$h(); } acp(a, b) { this.rf(); let c = b.ca; let d = b.b9; let e = this.getEffectiveViewport1(b); let f = this.w6(b); let g = b; g.df.g$l(a.v); for (let h = 0; h < b.aa.count; h++) { let i = b.aa._inner[h]; i.g$l(a.i._inner[h]); } let j = new List$1(Point_$type, 0); for (let k = 0; k < a.s.count; k++) { let l = a.s._inner[k]; let m = this.aai.d(l.x, l.y, c, d, e); let n = this.aai.e(l.x, l.y, c, d, e); let o = { $type: Point_$type, x: m, y: n }; j.add(o); } CategoryMarkerManager.e(this, j, g.db, this.x6); this.aeh(b, a); g.c4(); this.aeg(d, c, e, f, g); } adh(a, b, c) { if (b < a || a < 0 || a > this.adp.count || b < 0 || b > this.adp.count || c == null) { return null; } let d = new Array((b - a) + 1); let e = c.d0; let f = null; if (e) { f = c.i$b; } for (let g = a; g <= b; g++) { let h = g; if (e) { h = f._inner[h]; } d[g - a] = this.dp.item(g); } return d; } ael(a, b, c, d, e, f) { let g = this.by != 1; let h = this.cq != 1; let i = this.cp != 1; let j = this.d3; this.aaq.a3(this.aaq.d, d.d0, a, b, c, d, e, f, true); this.aaq.aa(this.ik); let k = this.aaq.ax; let l = null; let m = null; let n = null; let o = this.dp; let p = null; let q = null; let r = null; if (j && this.dc != null && !k.e) { let s = this.wa(k.z); let t = this.wb(k.z); this.aaq.ag = s; this.aaq.ah = t; k.aa = s; k.ab = t; } if (g && this.dc != null) { l = this.dc.d7.getHighlightingInfo(this, o, k.z, k.y, true); if (this.dc.d7.isCrossContextHighlight(this)) { p = this.dc.d7.getHighlightingInfo(this, o, k.z, k.y, true); } k.c = l; } if (h && this.dc != null) { m = this.dc.d8.getHighlightingInfo(this, o, k.z, k.y, true); if (m == null && this.bo != null) { m = this.dc.d8.getHighlightingInfo(this.bo, this.bo.dp, k.z, k.y, true); } if (this.dc.d8.isCrossContextHighlight(this)) { q = this.dc.d8.getHighlightingInfo(this, o, k.z, k.y, true); } k.d = m; } if (i && this.dc != null) { n = this.dc.d6.getHighlightingInfo(this, o, k.z, k.y, true); if (this.dc.d6.isCrossContextHighlight(this)) { r = this.dc.d6.getHighlightingInfo(this, o, k.z, k.y, true); } k.b = n; } k.h = f; this.acn(k); this.aaq.y(this, l, m, n, f, g, h, i, k.v, this.dc.d7.totalHighWaterMark, k.x, this.dc.d8.totalHighWaterMark, k.t, this.dc.d6.totalHighWaterMark); } aem(a, b, c, d, e, f) { let g = this.by != 1; let h = this.cq != 1; let i = this.cq != 1; let j = this.d3; this.aaq.a3(this.aaq.b, d.d0, a, b, c, d, e, f, false); this.aaq.ab(this.ik); let k = this.aaq.ay; let l = null; let m = null; let n = null; let o = this.dp; if (j && this.dc != null && !k.e) { let p = this.v9(k.z); let q = this.wc(k.z); this.aaq.ag = p; this.aaq.ah = q; k.aa = p; k.ab = q; } if (g && this.dc != null) { l = this.dc.d7.getHighlightingInfo(this, o, k.z, k.y, false); k.c = l; } if (h && this.dc != null) { m = this.dc.d8.getHighlightingInfo(this, o, k.z, k.y, false); if (m == null && this.bo != null) { m = this.dc.d8.getHighlightingInfo(this.bo, this.bo.dp, k.z, k.y, false); } k.d = m; } k.h = f; this.aco(k); this.aaq.z(this, l, m, n, f, g, h, i, b < 0); } aeh(a, b) { a.ck = true; this.aaq.a1(this, this.aa6(), runOn(this, this.zz), this.abh(a), this.abi(a)); let c = this.aaq.d; let d = c != null; let e = this.aab; if (e == null) { return; } let f = this.getEffectiveViewport1(a); let g = new ScalerParams(0, a.ca, a.b9, e.dr, f); let h = this.dp == null ? 0 : this.dp.count; let i = a; let j = b.k; let k = i.da.c; let l = i.da.d; let m = i.da.b; let n = k * m; for (let o = 0; o < a.db.count; o++) { let p = a.db.item(o); let q = p.content; if (d) { let r = p.am; this.ael(j, r, h, e, g, a.t); } this.aaq.ac(p, q); } } aeg(a, b, c, d, e) { e.dg(a, b, c, d); } s1() { super.s1(); if (this.index < 0) { return; } this.adj.dh(); } k8(a, b) { if (a == this.adj.df.g$n) { return null; } return super.k8(a, b); } gl(a) { let b = this.cw.ca; b = b.copy(); let c = this.cw.b9; let d = !b.isEmpty && !c.isEmpty && this.dp != null ? this.dp.indexOf(a) : -1; if (this.aab == null || this.adp == null || this.aah == null) { return false; } if (d < 0 || d > this.adp.count - 1) { return false; } let e = this.aab.getScaledAngle(d); let f = this.aah.t1(this.adp.item(d)); if (isNaN_(f)) { f = (this.aah.tt + this.aah.tu) / 2; } let g = 0.5 + (Math.cos(e) * f); let h = 0.5 + (Math.sin(e) * f); if (!isNaN_(g)) { if (g < b.left + 0.1 * b.width) { g = g + 0.4 * b.width; b.x = g - 0.5 * b.width; } if (g > b.right - 0.1 * b.width) { g = g - 0.4 * b.width; b.x = g - 0.5 * b.width; } } if (!isNaN_(h)) { if (h < b.top + 0.1 * b.height) { h = h + 0.4 * b.height; b.y = h - 0.5 * b.height; } if (h > b.bottom - 0.1 * b.height) { h = h - 0.4 * b.height; b.y = h - 0.5 * b.height; } } if (this.c4 != null) { this.c4.at(this.dc, b, true); } return d >= 0; } sc(a, b) { super.sc(a, b); if (!this.g8) { this.cw.be(b); return; } this.cw.be(b); let c = typeCast(AnchoredRadialSeriesView.$, this.cv); c.da.e(this.im); if (this.d7(this.cv)) { return; } this.sd(); this.g8 = false; } sd() { super.sd(); let a = typeCast(AnchoredRadialSeriesView.$, this.cv); if (!this.g0) { this.adm = new RadialFrame(3); this.acm(this.adm, a); } this.g0 = false; this.acp(this.adm, a); } r9(a, b, c, d, e) { super.r9(a, b, c, d, e); let f = this.ba.a$k.item(d); let g = f; g.da.e(this.im); f.bd(c); if (this.d7(g)) { return; } if (this.adl == null) { this.adl = new RadialFrame(3); } this.adl.aa(); this.acm(this.adl, g); this.acp(this.adl, g); } qf(a) { super.qf(a); this.bc.exportTrendlineData(this, a, this.adj.df.g$n); } fm(a) { if (this.aab.dw && this.aab.hasOthersCategory && this.aab.othersIndex == a) { return true; } return super.fm(a); } bd() { return new RadialTrendLineManager(); } static { this.$$p = markDep(DependencyProperty, PropertyMetadata, AnchoredRadialSeries, 'raisePropertyChanged', ['HighlightedValueMemberPath:ad6:aep', [2, null], 'UseCategoryNormalizedValues:ady:aex', [0, false], 'ValueMemberAsLegendLabel:aea:aey', [2, null], 'ValueMemberAsLegendUnit:aec:aez', [2, null], 'ValueMemberPath:aee:ae0', [2, null], 'TrendLineType:adn:aev', [TrendLineType_$type, enumGetBox(TrendLineType_$type, 0)], 'TrendLineThickness:ad3:aeu', [1, 1.5], 'TrendLinePeriod:ad4:aet', [1, 7], 'TrendLineZIndex:ad5:aew', [1, 1], 'TrendLineBrush:ae2:aeq', [Brush.$, null], 'TrendLineDashArray:ae3:aer', [DoubleCollection.$], 'TrendLineDashCap:ae4:aes', [PenLineCap_$type, enumGetBox(PenLineCap_$type, 0)]]); } } /** * @hidden */ export class AnchoredRadialSeriesView extends RadialBaseView { static { this.$t = markType(AnchoredRadialSeriesView, 'AnchoredRadialSeriesView', RadialBaseView.$); } constructor(a) { super(a); this.de = null; this.df = null; this.da = new AnchoredRadialBucketCalculator(this); this.de = a; this.df = new RadialTrendLineManager(); } dg(a, b, c, d) { } dh() { this.de.ae1 = null; if (this.de.ae2 != null) { this.de.ae1 = this.de.ae2; } else { this.de.ae1 = this.de.vv; } } bi(a, b) { if (a.d) { if (!b) { } if (this.de.adn != 0 && !b) { let c = this.df.g$n; c.ad = this.de.ad3; c._stroke = this.de.ae1; c.ai = this.de.ae3; c.aj = this.de.ae4; a.v(c); } } super.bi(a, b); } getDefaultTooltipTemplate() { let a = "<div class='ui-chart-default-tooltip-content'>"; if (this.de.aab.h3 != null) { a += "<span>${item." + this.de.aab.h3 + "}</span><br/>"; } a += "<span"; let b = this.f.ba.a$v(this.f); if (!stringIsNullOrEmpty(b)) { a += " style='color:" + b + "'"; } a += ">" + this.de.title + ": </span><span class='ui-priority-primary'>" + "${item." + this.de.aee + "}</span></div>"; return a; } }