UNPKG

igniteui-angular-charts

Version:

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

1,644 lines 53 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 { Base, typeCast, markType, Array_$type, Number_$type, Point_$type, enumGetBox, runOn, delegateCombine, fromEnum, markDep } from "igniteui-angular-core"; import { IBucketizer_$type } from "./IBucketizer"; import { ArgumentNullException } from "igniteui-angular-core"; import { Rect } from "igniteui-angular-core"; import { CategoryAxisBase } from "./CategoryAxisBase"; import { ISortingAxis_$type } from "./ISortingAxis"; import { ScalerParams } from "./ScalerParams"; import { Series } from "./Series"; import { truncate, intDivide, isNaN_, isInfinity } from "igniteui-angular-core"; import { FramePreparer } from "./FramePreparer"; import { IIsCategoryBased_$type } from "./IIsCategoryBased"; import { List$1 } from "igniteui-angular-core"; import { ISupportsMarkers_$type } from "./ISupportsMarkers"; import { IProvidesViewport_$type } from "./IProvidesViewport"; import { ISupportsErrorBars_$type } from "./ISupportsErrorBars"; import { CategoryFrame } from "./CategoryFrame"; import { PreparationParams } from "./PreparationParams"; import { IDateTimeAxis_$type } from "./IDateTimeAxis"; import { NumericAxisBase } from "./NumericAxisBase"; import { IHasCategoryTrendline_$type } from "./IHasCategoryTrendline"; import { IHasSingleValueCategory_$type } from "./IHasSingleValueCategory"; import { DefaultCategoryTrendlineHost } from "./DefaultCategoryTrendlineHost"; import { DefaultSingleValueProvider } from "./DefaultSingleValueProvider"; import { SingleValuesHolder } from "./SingleValuesHolder"; import { MarkerSeries } from "./MarkerSeries"; import { IHasCategoryModePreference_$type } from "./IHasCategoryModePreference"; import { ICategorySeriesInteractionManager_$type } from "./ICategorySeriesInteractionManager"; import { DVContainer } from "igniteui-angular-core"; import { DependencyProperty } from "igniteui-angular-core"; import { CategoryCollisionMode_$type } from "./CategoryCollisionMode"; import { CategoryTransitionInMode_$type } from "./CategoryTransitionInMode"; import { HighlightingInfo } from "igniteui-angular-core"; import { CategoryTransitionSourceFramePreparer } from "./CategoryTransitionSourceFramePreparer"; import { SeriesPointOfInterest } from "./SeriesPointOfInterest"; import { Marker } from "./Marker"; import { MarkerSeriesView } from "./MarkerSeriesView"; import { MathUtil } from "igniteui-angular-core"; import { CategorySeriesRenderManager } from "./CategorySeriesRenderManager"; import { Pool$1 } from "igniteui-angular-core"; import { SeriesLayerPropertyOverlay } from "./SeriesLayerPropertyOverlay"; import { DoubleCollection } from "igniteui-angular-core"; import { Clipper } from "igniteui-angular-core"; import { ChartSelection } from "./ChartSelection"; import { PropertyMetadata } from "igniteui-angular-core"; import { round10N } from "igniteui-angular-core"; /** * @hidden */ export class CategoryBucketCalculator extends Base { static { this.$t = markType(CategoryBucketCalculator, 'CategoryBucketCalculator', Base.$, [IBucketizer_$type]); } constructor(a) { super(); this.c = null; this.e = 0; this.f = 0; this.d = 0; if (a == null) { throw new ArgumentNullException(0, "view"); } this.c = a; this.e = -1; this.d = 0; } getBucket(a) { return null; } getBucketWithoutUnknowns(a) { return this.getBucket(a); } getErrorBucket(a, b) { return NaN; } g(a) { let b = this.c.ca; let c = this.c.b9; let d = this.c.db; let e = typeCast(CategoryAxisBase.$, d.fetchXAxis()); let f = d.dp; if (b.isEmpty || c.isEmpty || e == null || f == null || f.count == 0) { this.d = 0; return; } let g = d.getEffectiveViewport1(this.c); let h = d.w6(this.c); let i = typeCast(ISortingAxis_$type, e); if (i == null || i.i$b == null) { let j = new ScalerParams(0, b, c, e.dr, g); let k = Math.floor(e.gf(h.left, j)); let l = Math.ceil(e.gf(h.right, j)); if (e.dr) { l = Math.ceil(e.gf(h.left, j)); k = Math.floor(e.gf(h.right, j)); } l = Math.min(l, e.qq - 1); let m = Math.floor((l - k + 1) * a / h.width); this.d = truncate(Math.max(1, m)); this.e = truncate(Math.max(0, Math.floor(k / this.d) - 1)); this.f = truncate(Math.ceil(l / this.d)); } else { this.e = i.i$e(b, c, g, h); this.f = i.i$g(b, c, g, h); this.d = 1; } } getBucketInfo(a, b, c, d) { a = this.e; b = this.f; c = this.d; d = this.c.db.im; return { p0: a, p1: b, p2: c, p3: d }; } cacheValues() { } unCacheValues() { } } /** * @hidden */ export class CategoryFramePreparerBase extends FramePreparer { static { this.$t = markType(CategoryFramePreparerBase, 'CategoryFramePreparerBase', FramePreparer.$); } constructor(a, ..._rest) { a = (a == void 0) ? 0 : a; switch (a) { case 0: { let c = _rest[0]; let d = [c, typeCast(ISupportsMarkers_$type, c), typeCast(IProvidesViewport_$type, c), typeCast(ISupportsErrorBars_$type, c), typeCast(IBucketizer_$type, c)]; { let f = d[0]; let g = d[1]; let h = d[2]; let i = d[3]; let j = d[4]; super(1, g, h, i); this.g = null; this.h = null; this.m = false; this.o = new List$1(Array_$type, 0); this.p = new List$1(Number_$type, 0); this.n = new List$1(Number_$type, 0); this.h = f; this.g = j; } } break; case 1: { let c = _rest[0]; let d = _rest[1]; let e = _rest[2]; let f = _rest[3]; let g = _rest[4]; super(1, d, e, f); this.g = null; this.h = null; this.m = false; this.o = new List$1(Array_$type, 0); this.p = new List$1(Number_$type, 0); this.n = new List$1(Number_$type, 0); this.h = c; this.g = g; } break; } } i(a) { let b = new PreparationParams(); b.f = this.h.useHighMarkerFidelity; b.b = this.h.scaler; b.c = this.h.yScaler; b.d = typeCast(ISortingAxis_$type, b.b); b.a = typeCast(CategoryFrame.$, a); if (b.a == null || b.b == null || b.c == null) { return null; } let c; let d; let e; let f; let g = this.g.getBucketInfo(c, d, e, f); c = g.p0; d = g.p1; e = g.p2; f = g.p3; b.k = c; b.l = d; b.j = e; b.i = f; if (b.l < b.k) { return null; } let h; let i; let j; let k = this.a.getViewInfo(i, h); i = k.p0; h = k.p1; j = this.a.getEffectiveViewport(); let l = this.a.getMainContentViewport(); b.p = h; b.o = i; b.n = j; b.m = l; if (Rect.l_op_Equality(b.p, Rect.empty) || Rect.l_op_Equality(b.o, Rect.empty)) { return null; } if (this.h != null && (typeCast(Series.$, this.h) !== null && this.h.isFragment) && this.g != null) { b.e = true; } return b; } r(a, b, c, d) { return a.getSeriesOffset(b, c, d, this.h.currentMode2Index, this.h.currentCategoryMode); } s(a) { return this.r(a.b, a.p, a.o, a.n); } d(a, b) { let c = this.i(a); if (c == null || this.g == null) { return; } c.a.k.clear(); c.a.p.clear(); c.a.s.clear(); c.a.v.clear(); c.a.n.clear(); c.a.m.clear(); c.a.l.clear(); if (c.a.r != null) { c.a.r.clear(); } let d = this.c.shouldDisplayMarkers; let e = false; let f = this.s(c); let g = this.j(c); if (c.d != null && c.d.i$b != null && c.d.i$b.count != g.e) { return; } if (c.d != null && c.d.i$a) { c.d.i$h(); } this.g.cacheValues(); if (this.m && c.d != null && c.d.i$b.count > 0) { let h = c.d.i$b._inner[c.k]; this.z(g, h, true, c.e); while ((isNaN_(g.c) || isNaN_(g.d)) && c.k > 0) { c.k = c.k - 1; h = c.d.i$b._inner[c.k]; this.z(g, h, true, c.e); } let i = c.d.i$b._inner[c.l]; this.z(g, i, true, c.e); while ((isNaN_(g.c) || isNaN_(g.d)) && c.l < g.e - 1) { c.l = c.l + 1; i = c.d.i$b._inner[c.l]; this.z(g, i, true, c.e); } } if (this.m && c.d == null) { let j = c.k; let k = this.g.getBucket(j); while ((isNaN_(k[1]) || isNaN_(k[2])) && c.k > 0) { c.k = c.k - 1; j = c.k; k = this.g.getBucket(j); } let l = c.l; k = this.g.getBucket(l); while ((isNaN_(k[1]) || isNaN_(k[2])) && c.l < (intDivide(g.e, c.j))) { c.l = c.l + 1; l = c.l; k = this.g.getBucket(l); } } this.w(c, g, f); let m = this.t(c, g, f, d, e); this.c.updateMarkerCount(m); this.v(typeCast(CategoryFrame.$, a), b, c); this.g.unCacheValues(); return; } v(a, b, c) { } get q() { return this.o; } t(a, b, c, d, e) { let f = 0; let g = false; let h = null; let i = false; let j = a.d != null; let k = a.p; let l = a.o; let m = typeCast(NumericAxisBase.$, a.c) !== null && a.c.qv; let n = a.f; let o = this.h.mayContainUnknowns; let p = this.o; let q = this.n; let r = this.p; p.clear(); q.clear(); r.clear(); let s = this.g; let t = this.h.provideCollisionDetector(); let u = 0; let v = a.n; let w = new ScalerParams(0, k, l, a.b.j$b, v); let x = ((() => { let $ret = new ScalerParams(0, k, l, a.c.j$b, v); $ret.b = typeCast(Series.$, this.h) !== null ? this.h.i7() : NaN; return $ret; })()); if (j) { u = a.b.j$d(2, w) - a.b.j$d(1, w); i = this.k(); } let y = a.k; let z = a.l; let aa = a.a.k; let ab = typeCast(IDateTimeAxis_$type, a.b); if (ab != null) { ab.StartTimeCursor(); } for (let ac = y; ac <= z; ++ac) { let ad; if (!j) { if (!o) { ad = s.getBucketWithoutUnknowns(ac); } else { ad = s.getBucket(ac); } } else { ad = ((() => { let ae = this.f(a, ac, b, u, g, h, c); ac = ae.p1; g = ae.p4; h = ae.p5; return ae.ret; })()); } let ae = !m || (m && ad[1] > 0); let af = ad[0]; if (!j || !isNaN_(ad[0])) { aa.add(ad); if (j) { if (a.a.r == null) { a.a.r = new List$1(Number_$type, 0); } a.a.r.add(ac * a.j); } if (g && i) { if (h != null) { aa.add(h); if (j) { if (a.a.r == null) { a.a.r = new List$1(Number_$type, 0); } a.a.r.add(ac * a.j); } } } if (d && ae) { let ag = ac * a.j; let ah = ag; if (j && a.d.i$b != null && ag >= 0 && ag < a.d.i$b.count) { ag = a.d.i$b._inner[ag]; } let ai = new Array(ad.length); ai[0] = ad[0]; ai[1] = ad[1]; ai[2] = ad[2]; if (n && ag < b.e) { ai = new Array(ad.length); ai[0] = af; this.z(b, ag, true, a.e); ai[1] = b.c; ai[2] = b.d; } p.add(ai); q.add(a.a.k.count - 1); r.add(ag); } } } if (ab != null) { ab.ResetTimeCursor(); } this.y(a, c, j, w, x, e, d); if (d) { let aj = p.count; let ak; for (let al = 0; al < aj; al++) { ak = p._inner[al]; if (this.l(a.a, ak, t, Math.min(r._inner[al], b.e - 1), f, q._inner[al])) { ++f; } } } return f; } k() { if (typeCast(Series.$, this.h) !== null) { return this.h.ey; } return false; } f(a, b, c, d, e, f, g) { let h; f = null; e = false; let i = typeCast(CategorySeries.$, this.h); let j = a.o; let k = a.p; let l = a.n; let m = new ScalerParams(0, k, j, a.b.j$b, l); let n = new ScalerParams(0, k, j, a.c.j$b, l); let o = a.e; if (a.d == null || a.d.i$b == null || a.d.i$b.count == 0) { return { ret: [NaN, NaN, NaN], p1: b, p4: e, p5: f }; } if (i != null && i.dp != null && i.dp.count < a.d.i$b.count) { return { ret: [NaN, NaN, NaN], p1: b, p4: e, p5: f }; } let p = a.d.i$b._inner[b]; let q = a.d.i$d(p); let r = q; this.z(c, p, false, o); while (b < a.l) { p = a.d.i$b._inner[b + 1]; r = a.d.i$d(p); this.z(c, p, true, o); if (r - q >= d || isNaN_(c.c) || isNaN_(c.d)) { if (e) { let s = a.d.i$b._inner[b]; this.z(c, s, true, o); f = [a.b.j$c(q, m), c.c, c.d]; } break; } if (!e && this.k()) { let t = a.d.i$b._inner[b]; this.z(c, t, true, o); let u = [a.b.j$c(q, m), c.c, c.d]; if (!isNaN_(u[0])) { if (!isNaN_(u[1]) && !isNaN_(u[2])) { if (a.d != null) { u[0] = u[0] + g; } a.a.k.add(u); if (a.d != null) { if (a.a.r == null) { a.a.r = new List$1(Number_$type, 0); } a.a.r.add(b); } e = true; } else { break; } } } b++; this.u(c, p, o); } let v = NaN; if (!isNaN_(q)) { v = a.b.j$c(q, m); } h = this.e(v, c); return { ret: h, p1: b, p4: e, p5: f }; } y(a, b, c, d, e, f, g) { let h = a.j; let i = a.a.k.count; let j = a.a.k; let k = this.o; let l = k.count; if (f) { let m = a.c.j$c(a.c.rp, e); a.c.j$f(a.a.p, 0, a.a.p.count, e); let n = a.a.p; let o = n.count; for (let p = 0; p < n.count; p++) { n._inner[p] = Math.abs(n._inner[p] - m); } } } w(a, b, c) { } } /** * @hidden */ export class CategoryFramePreparer extends CategoryFramePreparerBase { static { this.$t = markType(CategoryFramePreparer, 'CategoryFramePreparer', CategoryFramePreparerBase.$); } constructor(a, ..._rest) { a = (a == void 0) ? 0 : a; switch (a) { case 0: { let c = _rest[0]; let d = [c, typeCast(ISupportsMarkers_$type, c), typeCast(IProvidesViewport_$type, c), typeCast(ISupportsErrorBars_$type, c), typeCast(IBucketizer_$type, c)]; { let f = d[0]; let g = d[1]; let h = d[2]; let i = d[3]; let j = d[4]; super(1, f, g, h, i, j); this.aa = new DefaultCategoryTrendlineHost(); this.ab = new DefaultSingleValueProvider(); this.ac = null; this.ad = null; this.ac = this.aa; if (typeCast(IHasCategoryTrendline_$type, f) !== null) { this.ac = typeCast(IHasCategoryTrendline_$type, f); } this.ad = this.ab; if (typeCast(IHasSingleValueCategory_$type, f) !== null) { this.ad = typeCast(IHasSingleValueCategory_$type, f); } } } break; case 1: { let c = _rest[0]; let d = _rest[1]; let e = _rest[2]; let f = _rest[3]; let g = _rest[4]; super(1, c, d, e, f, g); this.aa = new DefaultCategoryTrendlineHost(); this.ab = new DefaultSingleValueProvider(); this.ac = null; this.ad = null; this.ac = this.aa; if (typeCast(IHasCategoryTrendline_$type, c) !== null) { this.ac = typeCast(IHasCategoryTrendline_$type, c); } this.ad = this.ab; if (typeCast(IHasSingleValueCategory_$type, c) !== null) { this.ad = typeCast(IHasSingleValueCategory_$type, c); } } break; } } l(a, b, c, d, e, f) { let g = b[0]; let h = b[1]; let i = new Rect(0, g - 5, h - 5, 11, 11); if (!isNaN_(g) && !isNaN_(h) && !isInfinity(g) && !isInfinity(h) && c.tryAdd(i)) { a.s.add({ $type: Point_$type, x: g, y: h }); this.c.updateMarkerTemplate(e, d, f); return true; } return false; } j(a) { let b = new SingleValuesHolder(); let c = this.ad.valueColumn; b.f = c; return b; } x(a, b, c, d, e, f) { if (d) { b[0] = b[0] + c; } else { b[0] = a.b.j$c(b[0], e) + c; } b[1] = a.c.j$c(b[1], f); if (a.j > 1 || d) { b[2] = a.c.j$c(b[2], f); } else { b[2] = b[1]; } } y(a, b, c, d, e, f, g) { super.y(a, b, c, d, e, f, g); let h = a.j; let i = a.a.k.count; let j = a.a.k; let k = this.q; let l = k.count; let m = new List$1(Number_$type, 0); if (!c) { m.add(0); } let n = new List$1(Number_$type, 0); n.add(1); if (c || h > 1) { n.add(2); } a.b.j$e(j, m, 0, i, d); a.c.j$e(j, n, 0, i, e); for (let o = 0; o < i; o++) { j._inner[o][0] = j._inner[o][0] + b; } if (h == 1 && !c) { for (let p = 0; p < i; p++) { j._inner[p][2] = j._inner[p][1]; } } if (g) { a.b.j$e(k, m, 0, l, d); a.c.j$e(k, n, 0, l, e); for (let q = 0; q < l; q++) { k._inner[q][0] = k._inner[q][0] + b; } if (h == 1 && !c) { for (let r = 0; r < l; r++) { k._inner[r][2] = k._inner[r][1]; } } } } w(a, b, c) { if (this.ac.trendLineType == 0 || this.ac.trendlinePreparer == null || this.ac.trendLinePeriod < 1) { return; } this.ac.trendlinePreparer.prepareLine(this.ac, a, b, c); } z(a, b, c, d) { let e = a; let f = e.f; let g = f.item(b); let h = g; if (d) { let i = this.g.getBucket(b); g = i[1]; h = i[1]; } if (c) { e.c = g; e.d = h; } else { e.a = g; e.b = h; } } u(a, b, c) { let d = a; let e = d.f; if (b < e.count) { let f; if (c) { let g = this.g.getBucket(b); f = g[1]; } else { f = e.item(b); } d.a = Math.min(d.a, f); d.b = Math.max(d.b, f); } } e(a, b) { let c = b; return [a, c.a, c.b]; } } /** * @hidden */ export class CategorySeries extends MarkerSeries { static { this.$t = markType(CategorySeries, 'CategorySeries', MarkerSeries.$, [IHasCategoryModePreference_$type, ISupportsErrorBars_$type]); } ct() { let a = new CategorySeriesView(this); return a; } get aak() { if (this.aaj == null) { this.aaj = DVContainer.instance.createInstance(ICategorySeriesInteractionManager_$type, () => this.ds.n); } return this.aaj; } ed(a, b, c, d, e) { if (!this.hasMarkers) { return false; } let f = this.getEffectiveViewport1(this.cw); let g = this.z4(); let h = new ScalerParams(1, this.dc.yv, this.xf, g.dr); h.c = f; let i = this.aal(); let j = new ScalerParams(1, this.dc.yv, this.xf, i.dr); j.c = f; let k = this.dc.yv; let l = this.xf; let m = this.currentMode2Index; let n = 0; if (g.dm && g.dj) { n = g.getSeriesOffset(k, l, f, m, g.categoryMode); } a.clear(); this.xu.cw((o) => { if (o._visibility == 0) { let p = new SeriesPointOfInterest(); let q = o.n; let r = o.o; if (!e && (q < this.xf.left || q > this.xf.right || r < this.xf.top || r > this.xf.bottom)) { return; } if (this.isVertical) { if (g.di && !g.dm && g.categoryMode != 0) { p.e = o.al; } else { p.e = g.gf(r, h); } p.d = i.gf(q, j); } else { if (g.di && !g.dm && g.categoryMode != 0) { p.d = o.al; } else { p.d = g.gf(q, h); } p.e = i.gf(r, j); } p.b = o.content; if (b) { if (this.isVertical) { if (c) { p.f = this.abb(p.d, d); } else { let s = this.jn(o); if (!isNaN_(s)) { p.f = this.abb(s, d); } else { p.f = this.abb(p.d, d); } } } else { if (c) { p.f = this.abb(p.e, d); } else { let t = this.jn(o); if (!isNaN_(t)) { p.f = this.abb(t, d); } else { p.f = this.abb(p.e, d); } } } } else { let u = this.au(true); if (u != null) { let v = this.k3(o.al, false); if (v != null) { p.f = u.i(v); } else { p.f = null; } } else { p.f = g.jh(o.al); } } p.c = o.al; p.g = this.v2; if (this.hh) { p.g = this.v9(o.al); } a.add(p); } }); return true; } abb(a, b) { let c; if (b >= 0) { c = round10N(a, b); } else { c = a; } let d = this.au(false); if (d != null) { let e = d; return e.i(c); } else { return MathUtil.t(c); } } rj(a) { super.rj(a); this.aaf = a; } preferredCategoryMode(a) { return 0; } get categoryAxis() { return this.z4(); } z4() { return this.fetchXAxis(); } aal() { return this.fetchYAxis(); } get_em() { return true; } get_gc() { return this.aal() != null && this.aal().dr; } get_e1() { return true; } constructor() { super(); this.aab = null; this.aaj = null; this.aas = false; this.aar = false; this.assigningCategoryStyle = null; this.assigningCategoryMarkerStyle = null; this.aap = null; this.aaq = null; this.z8 = new CategoryFrame(3); this.aaa = new CategoryFrame(3); this.z6 = new CategoryFrame(3); this.z9 = new CategoryFrame(3); this.aae = null; this.aai = null; this.aae = new CategorySeriesRenderManager(); this.aai = new CategoryTransitionSourceFramePreparer(); this.aas = false; this.d3 = false; this.aar = false; this.ab = CategorySeries.$; } ac() { super.ac(); this.aaf.c9.g(this.im); } aay() { return (this.assigningCategoryStyle != null && this.aas) || (this.by != 1) || this.d3 || (this.cq != 1) || (this.cp != 1); } aaz() { return (this.assigningCategoryMarkerStyle != null && this.aar) || (this.by != 1) || this.d3 || (this.cq != 1) || (this.cp != 1); } aby(a) { if (this.assigningCategoryStyle != null && this.aas) { this.assigningCategoryStyle(this, a); } } abx(a) { if (this.assigningCategoryMarkerStyle != null && this.aar) { this.assigningCategoryMarkerStyle(this, a); } } zy(a, b) { return null; } pk(a, b) { super.pk(a, b); if (a) { this.abk(b); } } bs() { let a = super.bs(); return a; } qr() { super.qr(); let a = this.fetchXAxis(); if (a != null) { a.l8(false); } let b = this.fetchYAxis(); if (b != null) { b.l8(false); } } tb(a, b) { super.tb(a, b); this.aaf.c9.g(this.im); this.sa(false); } ta(a, b) { if (this.g9 && this.j1 < 0.05 && (this.dc == null || !this.dc.gj())) { this.ha = true; this.hd = false; this.gs = false; } super.ta(a, b); this.aaf.c9.g(this.im); this.sa(false); } rs(a, b, c, d) { super.rs(a, b, c, d); switch (b) { case "SeriesViewer": let e = this.fetchYAxis(); let f = this.fetchXAxis(); if (c != null && d == null) { this.pr(f); this.pr(e); } if (c == null && d != null) { this.r0(f); this.r0(e); } this.aaf.c9.g(this.im); this.sa(false); break; case "SyncLink": if (this.c4 != null && this.dc != null) { this.aaf.c9.g(this.im); } this.sa(false); break; case "TransitionProgress": this.aaa.d(this.j1, this.z8, this.z6); if (this.d7(this.cw)) { return; } if (this.j1 == 1) { this.z6.ab(); this.abz(this.z6, this.aaf); if (this.g9) { this.g9 = false; this.pl(); this.dd.r = truncate(this.jj()); this.dd.b = this.de; } if (this.hc) { this.hc = false; this.pl(); this.dd.r = truncate(this.jj()); this.dd.b = this.de; this.ri(); } this.q5(); } else { this.abz(this.aaa, this.aaf); } if (this.dc != null) { this.dc.sv(this); } break; case "ErrorBarSettings": this.q2(); break; case CategorySeries.$$p[5]: this.sa(false); break; case CategorySeries.$$p[2]: this.aas = this.aau(); this.sa(false); break; case CategorySeries.$$p[1]: this.aar = this.aat(); this.sa(false); break; } } aau() { return this.aaw; } aat() { return this.aav; } aa5(a) { return this.i2(a, this.fetchXAxis()); } get_fw() { return typeCast(ISortingAxis_$type, this.z4()) !== null; } a0() { return this.z4(); } kg(a) { return this.aak.b$d(this, a); } ky(a) { return this.aak.b$f(this, a); } ke(a) { let b = truncate(Math.round(this.i0(a))); return b; } i0(a) { return this.aak.b$c(this, a); } di(a, b, c) { if (this.f3(this.by) && !c) { let d = this.aao(a, b, this.aaq); this.aaq = d; return d; } else { let e = this.aam(a, b, this.aaq); e.d = true; this.aaq = e; return e; } } get_fh() { return true; } pi() { super.pi(); this.aap = null; this.aaq = null; } dh(a, b, c) { if (this.ef && this.f3(this.by) && !c) { let d = this.aan(a, b, this.aap); this.aap = d; return d; } else { let e = this.aam(a, b, this.aap); this.aap = e; return e; } } aa4() { return this.aaf.dc.a; } aao(a, b, c) { if (!this.x4()) { return null; } let d = this.z7(); let e = this.aa4(); return this.aak.b$b(this, e, this.aa8(this.cw), this.aa7(this.cw), d.k, a, b, c); } aan(a, b, c) { let d = this.aa8(this.cw); let e = this.aa9(this.cw); let f = this.aa7(this.cw); let g = this.z7(); return this.aak.b$a(this, g.k, g.r, d, e, f, a, b, c); } aam(a, b, c) { let d = new HighlightingInfo(); d.i = this; d.g = 0; d.f = this.dp != null ? this.dp.count - 1 : 0; d.c = true; if (c != null && c.g == d.g && c.f == d.f) { return c; } return d; } z7() { let a = this.z6; if (this.d4()) { if (this.dd.g) { this.dd.t(); } a = this.aaa; } return a; } abu(a, b, c, d, e, f, g) { let h = this.by != 1; let i = this.d3; let j = this.cq != 1; let k = this.cp != 1; this.aae.a3(this.aae.d, d.d0, a, b, c, d, e, f, true, g); this.aae.aa(this.ik); let l = this.aae.ax; let m = null; let n = this.dp; let o = null; let p = null; let q = null; let r = null; let s = null; if (i && this.dc != null && !l.e) { let t = this.wa(l.z); let u = this.wb(l.z); this.aae.ae = t; this.aae.af = u; l.aa = t; l.ab = u; } if (h && this.dc != null) { m = this.dc.d7.getHighlightingInfo(this, n, l.z, l.y, true); if (this.dc.d7.isCrossContextHighlight(this)) { o = this.dc.d7.getHighlightingInfo(this, n, l.z, l.y, true); } l.c = m; } if (j && this.dc != null) { p = this.dc.d8.getHighlightingInfo(this, n, l.z, l.y, true); if (p == null && this.bo != null) { p = this.dc.d8.getHighlightingInfo(this.bo, this.bo.dp, l.z, l.y, true); } if (this.dc.d8.isCrossContextHighlight(this)) { r = this.dc.d8.getHighlightingInfo(this, n, l.z, l.y, true); } l.d = p; } if (k && this.dc != null) { q = this.dc.d6.getHighlightingInfo(this, n, l.z, l.y, true); if (this.dc.d6.isCrossContextHighlight(this)) { s = this.dc.d6.getHighlightingInfo(this, n, l.z, l.y, true); } l.b = q; } l.h = f; this.abx(l); this.aae.y(this, m, p, q, f, h, j, k, l.v, this.dc.d7.totalHighWaterMark, l.x, this.dc.d8.totalHighWaterMark, l.t, this.dc.d6.totalHighWaterMark); } abv(a, b, c, d, e, f, g) { let h = this.by != 1; let i = this.cq != 1; let j = this.cp != 1; let k = this.d3; this.aae.a3(this.aae.b, d.d0, a, b, c, d, e, f, false, g); this.aae.ab(this.ik); let l = this.aae.ay; let m = null; let n = null; let o = null; let p = this.dp; if (k && this.dc != null && !l.e) { let q = this.v9(l.z); let r = this.wc(l.z); this.aae.ag = q; this.aae.ah = r; l.aa = q; l.ab = r; } if (h && this.dc != null) { m = this.dc.d7.getHighlightingInfo(this, p, l.z, l.y, false); l.c = m; } if (i && this.dc != null) { n = this.dc.d8.getHighlightingInfo(this, p, l.z, l.y, false); if (n == null && this.bo != null) { n = this.dc.d8.getHighlightingInfo(this.bo, this.bo.dp, l.z, l.y, false); } l.d = n; } if (j && this.dc != null) { o = this.dc.d6.getHighlightingInfo(this, p, l.z, l.y, false); if (o == null && this.bo != null) { o = this.dc.d6.getHighlightingInfo(this.bo, this.bo.dp, l.z, l.y, false); } l.b = o; } l.h = f; this.aby(l); this.aae.z(this, m, n, o, f, h, i, j, b < 0); } hm(a, b, c) { let d = super.hm(a, b, c); d = d && this.aa3(this.fetchXAxis()); d = d && this.aa3(this.fetchYAxis()); let e = c; if (!c.r() || b.isEmpty || a.isEmpty || this.dp == null) { d = false; } if (!d) { e.c9.d = 0; } return d; } aa3(a) { if (a == null || a.b7 == null) { return false; } let b = typeCast(CategoryAxisBase.$, a); if (b != null) { if (b.itemsSource == null) { return false; } if (b.qp < 1) { return false; } } else { let c = typeCast(NumericAxisBase.$, a); if (c != null) { return c.ra != c.q9; } } return true; } gv() { return this.aax; } gw() { return true; } aag() { return 12; } pl() { super.pl(); this.z8.ab(); this.z6.ab(); this.aaa.ab(); } sb(a) { super.sb(a); this.aaf.c9.g(this.im); if (this.d7(this.cw)) { this.z6.ae(); this.aaa.ae(); this.z8.ae(); return; } if (this.gz) { if (this.d4()) { if (this.dd.g) { this.dd.t(); } this.abz(this.aaa, this.aaf); } else { this.abz(this.z6, this.aaf); } return; } if (this.gn(a)) { let b = this.z8; if (this.d4()) { if (this.dd.g) { this.dd.t(); } this.z8 = this.aaa; this.aaa = b; } else { this.z8 = this.z6; this.z6 = b; } let c = false; this.abw(this.z6, this.aaf); if (this.hb) { this.dd.w(); this.dd.r = truncate(this.jk()); this.dd.b = this.df != null ? this.df : this.de; if (this.hc) { let d = this.aaa; this.aaa = this.z8; this.z8 = d; c = true; } this.aai.x(this, this.z8, this.z6, this.isVertical, this.fetchXAxis(), this.fetchYAxis(), this.aah, this.aag(), this.c6, this.c5(), runOn(this, this.aa6), this.aaf.b9); if (this.hc) { let e = this.aaa; this.aaa = this.z8; this.z8 = e; } this.hc = false; } if (this.he) { this.dd.w(); this.dd.r = truncate(this.jl()); this.dd.b = this.dg != null ? this.dg : this.de; if (this.g9) { let f = this.aaa; this.aaa = this.z8; this.z8 = f; c = true; } this.aai.x(this, this.z8, this.z6, this.isVertical, this.fetchXAxis(), this.fetchYAxis(), this.aah, this.aag(), this.c6, this.c5(), runOn(this, this.aa6), this.aaf.b9); let g = this.z6; this.z6 = this.z8; this.z8 = g; if (this.g9) { let h = this.aaa; this.aaa = this.z8; this.z8 = h; } this.g9 = false; } this.eb = false; if (!c) { this.pg(); } this.sr(); if (this.hb) { this.ha = false; this.g9 = true; } if (this.he) { this.hd = false; this.hc = true; } } else { this.abw(this.z6, this.aaf); this.abz(this.z6, this.aaf); } } c5() { return 3; } c8() { let a = this.c5(); switch (a) { case 0: return 0; case 1: return 1; case 4: return 4; case 2: return 2; case 3: return 3; } return 3; } aa6() { if (this.isVertical) { return this.xf.left; } return this.xf.bottom; } aa0() { return false; } h1() { let a = super.h1(); if (this.aa0()) { let b = ((() => { let $ret = new SeriesLayerPropertyOverlay(); $ret.r = true; $ret.ad = "DashArray"; $ret.p = true; $ret.x = ((() => { let $ret = new DoubleCollection(); $ret.add(5); $ret.add(5); return $ret; })()); $ret.q = true; return $ret; })()); a.add(b); } if (!this.aa0()) { let c = ((() => { let $ret = new SeriesLayerPropertyOverlay(); $ret.r = true; $ret.ad = "Brush"; $ret.p = true; $ret.y = "ActualBrush"; $ret.q = true; return $ret; })()); c.valueResolving = delegateCombine(c.valueResolving, runOn(this, this.sk)); a.add(c); } if (!this.aa0()) { let d = ((() => { let $ret = new SeriesLayerPropertyOverlay(); $ret.r = true; $ret.ad = "Outline"; $ret.p = true; $ret.y = "ActualOutline"; $ret.q = true; return $ret; })()); d.valueResolving = delegateCombine(d.valueResolving, runOn(this, this.sk)); a.add(d); } let e = ((() => { let $ret = new SeriesLayerPropertyOverlay(); $ret.p = true; $ret.ad = "IsTransitionInEnabled"; $ret.x = true; $ret.q = true; return $ret; })()); a.add(e); let f = ((() => { let $ret = new SeriesLayerPropertyOverlay(); $ret.p = true; $ret.ad = "TransitionInMode"; $ret.x = enumGetBox(CategoryTransitionInMode_$type, 20); $ret.q = true; return $ret; })()); a.add(f); return a; } k6() { if (this.d4()) { return this.bo.aaa; } else { return this.bo.z6; } } aba() { if (this.bo != null) { let a = this.bo; return a.aba(); } let b = 0; let c = this.fetchXAxis(); for (let d of fromEnum(this.dc.b9)) { if (d == this) { return b; } let e = typeCast(CategorySeries.$, d); if (e != null) { let f = typeCast(CategoryAxisBase.$, e.fetchXAxis()); if (f == c && e.preferredCategoryMode(f) == 2) { b++; } } } return -1; } get GetErrorBarsXAxis() { return this.fetchXAxis(); } get GetErrorBarsYAxis() { return this.fetchYAxis(); } abl(a, b) { this.aae.a1(this, this.aaz(), runOn(this, this.zy), this.aa7(a), this.aa8(a)); let c = this.aae.d; let d = c != null; let e = this.z4(); 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.c9.e; let l = i.c9.f; let m = i.c9.d; let n = k * m; for (let o = 0; o < a.dc.count; o++) { let p = a.dc.item(o); let q = p.content; if (d) { let r = p.am; this.abu(j, r, h, e, g, a.t, p.al); } this.aae.ac(p, q); } } abz(a, b) { this.rf(); this.w5 = a.ag; b.a6(); } abw(a, b) { a.aa(); } aa7(a) { return a.c9.d; } aa8(a) { return a.c9.e; } aa9(a) { return a.c9.f; } abk(a) { let b = a; b.dc.count = 0; } sc(a, b) { super.sc(a, b); if (!this.g8) { this.cw.be(b); return; } let c = typeCast(CategorySeriesView.$, this.cv); c.c9.g(this.im); this.cw.be(b); if (this.d7(this.cv)) { return; } this.sd(); this.g8 = false; } sd() { super.sd(); let a = typeCast(CategorySeriesView.$, this.cv); if (!this.g0) { this.abw(this.z9, a); } this.g0 = false; this.abz(this.z9, a); } aac(a) { let b = typeCast(CategorySeriesView.$, a); if (b != null && b.t) { if (b.s) { return new CategoryFramePreparer(1, typeCast(IIsCategoryBased_$type, this), typeCast(ISupportsMarkers_$type, b), b, this, b.c9); } else { return new CategoryFramePreparer(1, typeCast(IIsCategoryBased_$type, this), typeCast(ISupportsMarkers_$type, b), this.dc.dw.o, this, b.c9); } } else { return this.aab; } } aw(a) { if (this.fetchXAxis() == a) { return this.fetchYAxis(); } if (this.fetchYAxis() == a) { return this.fetchXAxis(); } return null; } ai() { return [this.fetchXAxis(), this.fetchYAxis()]; } static zz(a, b, c, d, e) { let f = null; if (b > -1 && !d.isEmpty && !c.isEmpty) { let g = a._inner[0][0] < c.left - 2000 ? c.left - 10 : NaN; let h = c.bottom + 10; let i = a._inner[b][0] > c.right + 2000 ? c.right + 10 : NaN; let j = c.top - 10; f = new Clipper(1, g, h, i, j, e); } return f; } abr(a, b, c, d, e) { let f = this.dc.za(this.dc.y0(a)); let g = this.z4(); let h = this.aal(); let i = this.fetchXAxis(); let j = g == i; let k = this.dc.y3(this.xf, this.getEffectiveViewport(), f); let l, m; let n = this.abn(f, g, j, k, l, m); l = n.p4; m = n.p5; if (d == 0) { this.abt(b, l, m, c); } else { let o, p; let q = this.abm(f, h, j, k, o, p); o = q.p4; p = q.p5; this.abs(e, b, l, m, o, p, c); } } abt(a, b, c, d) { if (b == -1 || c == -1) { return; } if (d == 7 || d == 6) { a.add(((() => { let $ret = new ChartSelection(); $ret.series = this; return $ret; })())); return; } for (let e = b; e <= c; e++) { this.abj(a, e, d); } } abm(a, b, c, d, e, f) { let g = new ScalerParams(0, a, this.dc.zd, b.dr, this.getEffectiveViewport()); let h = c ? (b.dr ? d.top : d.bottom) : (b.dr ? d.right : d.left); let i = c ? (b.dr ? d.bottom : d.top) : (b.dr ? d.left : d.right); e = b.gf(h, g); f = b.gf(i, g); return { p4: e, p5: f }; } abn(a, b, c, d, e, f) { let g = new ScalerParams(0, a, this.dc.zd, b.dr, this.getEffectiveViewport()); let h = c ? (b.dr ? d.right : d.left) : (b.dr ? d.top : d.bottom); let i = c ? (b.dr ? d.left : d.right) : (b.dr ? d.bottom : d.top); let j = b.gf(h, g); let k = b.gf(i, g); let l = this.abo(b, j, k, e, f); e = l.p3; f = l.p4; return { p4: e, p5: f }; } abo(a, b, c, d, e) { let f = this.abq(a, b, c, d, e); d = f.p3; e = f.p4; return { p3: d, p4: e }; } abq(a, b, c, d, e) { let f = a.qe(this.cw.ca, this.cw.b9, this.getEffectiveViewport1(this.cw)); let g = a.getCategorySize(this.cw.ca, this.c