UNPKG

igniteui-react-charts

Version:

Ignite UI React charting components for building rich data visualizations using TypeScript APIs.

1,449 lines 62.4 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 { Series } from "./Series"; import { ISupportsFillScale_$type } from "./ISupportsFillScale"; import { DependencyProperty } from "igniteui-react-core"; import { BrushScale } from "./BrushScale"; import { HighlightingInfo } from "igniteui-react-core"; import { ShapeItemSearchMode_$type } from "./ShapeItemSearchMode"; import { IEnumerable$1_$type, String_$type, enumGetBox, Number_$type, Point_$type, typeCast, runOn, delegateCombine, fromEnum, Array_$type, markType, markDep } from "igniteui-react-core"; import { NumericXAxis } from "./NumericXAxis"; import { NumericYAxis } from "./NumericYAxis"; import { List$1 } from "igniteui-react-core"; import { Rect } from "igniteui-react-core"; import { StyleShapeEventArgs } from "./StyleShapeEventArgs"; import { FrameworkElement } from "igniteui-react-core"; import { IFastItemsSource_$type } from "igniteui-react-core"; import { DataContext } from "igniteui-react-core"; import { Tuple$2 } from "igniteui-react-core"; import { ShapeHitRegion } from "./ShapeHitRegion"; import { RectUtil } from "igniteui-react-core"; import { Tuple$3 } from "igniteui-react-core"; import { CoreGeometryUtil } from "igniteui-react-core"; import { GeometryUtil } from "igniteui-react-core"; import { AssigningShapeStyleEventArgs } from "./AssigningShapeStyleEventArgs"; import { AssigningShapeMarkerStyleEventArgs } from "./AssigningShapeMarkerStyleEventArgs"; import { SeriesLayerPropertyOverlay } from "./SeriesLayerPropertyOverlay"; import { CustomPaletteBrushScale } from "./CustomPaletteBrushScale"; import { ValueBrushScale } from "./ValueBrushScale"; import { PointCollectionUtil } from "igniteui-react-core"; import { FlattenedShape } from "./FlattenedShape"; import { SeriesView } from "./SeriesView"; import { Clipper } from "igniteui-react-core"; import { ScalerParams } from "./ScalerParams"; import { Dictionary$2 } from "igniteui-react-core"; import { ActualRange } from "./ActualRange"; import { SeriesRenderManager } from "./SeriesRenderManager"; import { PolySimplification } from "igniteui-react-core"; import { DefaultFlattener } from "./DefaultFlattener"; import { ChartSelection } from "./ChartSelection"; import { AxisRange } from "./AxisRange"; import { Style } from "igniteui-react-core"; import { PropertyMetadata } from "igniteui-react-core"; import { boxArray$1 } from "igniteui-react-core"; import { InvalidOperationException } from "igniteui-react-core"; import { isNaN_, truncate } from "igniteui-react-core"; import { FastItemObjectColumn } from "igniteui-react-core"; import { Path } from "igniteui-react-core"; import { Pool$1 } from "igniteui-react-core"; import { PointCollection } from "igniteui-react-core"; import { PathGeometry } from "igniteui-react-core"; import { PolyLineSegment } from "igniteui-react-core"; import { PathFigure } from "igniteui-react-core"; import { PolygonUtil } from "igniteui-react-core"; /** * @hidden */ export let ShapeSeriesBase = /*@__PURE__*/ (() => { class ShapeSeriesBase extends Series { constructor() { super(); this.yg = null; this.yl = false; this.yk = false; this.ye = null; this.yf = null; this.x4 = 1; this.xp = null; this.xq = null; this.assigningShapeStyle = null; this.assigningShapeMarkerStyle = null; this.x8 = null; this.yh = null; this.x0 = null; this.x2 = null; this.y7 = 0; this.y3 = null; this.xm = null; this.xo = null; this.xn = null; this.xl = null; this.aar = null; this.xy = null; this.ya = null; this.xt = null; this.za = 0; this.styleShape = null; this.x8 = new ShapeSeriesRenderManager(); FastItemObjectColumn.m(); this.za = this.y9; this.aar = Rect.empty; } ph() { super.ph(); this.x1 = null; this.x3 = null; } ai() { return [this.x1, this.x3]; } k1(a, b) { let c = this.nq(b); if (c == ShapeSeriesBase.$$p[9]) { return this.k2(a, b, this.zu); } return null; } mq(a) { let b = this.nq(a); if (b == ShapeSeriesBase.$$p[9]) { return this.zu; } return super.mq(a); } get yi() { return this.yg; } set yi(a) { if (this.yg != a) { let b = this.yi; this.yg = a; this.raisePropertyChanged("FillColumn", b, this.yi); } } get_fh() { return true; } get_ef() { return true; } yc(a, b, c) { if (this.dp == null) { return null; } let d = this.wt(b); let e = this.x9.df(d, false); let f = -1; if (e == null) { if (a != null) { f = this.dp.indexOf(a); } else { return null; } } else if (e.dataContext != null) { f = e.dataContext.c; } if (f == -1) { return null; } let g = new HighlightingInfo(); g.i = this; g.g = f; g.f = f; g.c = false; if (c != null && c.g == g.g && c.f == g.f) { return c; } return g; } yd(a, b, c) { if (this.dp == null) { return null; } let d = this.x9.ch(this.wt(b)); let e = -1; if (d == null) { if (a != null) { e = this.dp.indexOf(a); } else { return null; } } else { e = d.al; } if (e == -1) { return null; } let f = new HighlightingInfo(); f.i = this; f.g = e; f.f = e; f.c = false; f.d = true; if (c != null && c.g == f.g && c.f == f.f) { return c; } return f; } get x5() { return this.x4; } set x5(a) { let b = this.x4; this.x4 = a; if (b != this.x4) { this.raisePropertyChanged("ActualItemSearchMode", enumGetBox(ShapeItemSearchMode_$type, b), enumGetBox(ShapeItemSearchMode_$type, this.x4)); } } x6() { if (this.x7 != 0) { return this.x7; } return 1; } i0(a) { switch (this.x5) { case 1: return this.z0(a).c; case 2: return this.y8(a); case 3: return this.y8(a); } return -1; } z0(a) { let b = this.wt(a); let c = { $type: Point_$type, x: NaN, y: NaN }; let d = this.x9.cr; if (d == null) { return new Tuple$2(Number_$type, Point_$type, -1, c); } let e = this.x9.ci(b, false, !this.yn); if (e != null) { c = RectUtil.l(e.d); return new Tuple$2(Number_$type, Point_$type, e.b, c); } let f = b.x; let g = b.y; if (this.dp == null || this.x1 == null || this.x3 == null || this.y3 == null) { return new Tuple$2(Number_$type, Point_$type, -1, c); } if (this.dp.count > this.zd) { return new Tuple$2(Number_$type, Point_$type, -1, c); } let h = 1.7976931348623157E+308; let i = -1; for (let j = 0; j < d.count; j++) { let k = d._inner[j].d; let l = RectUtil.g(k, b); if (l < h) { h = l; i = d._inner[j].b; c = RectUtil.l(d._inner[j].d); } } return new Tuple$2(Number_$type, Point_$type, i, c); } zz(a) { let b = this.wt(a); let c = b.x; let d = b.y; let e = { $type: Point_$type, x: NaN, y: NaN }; if (this.dp == null || this.x1 == null || this.x3 == null || this.y3 == null) { return new Tuple$3(Number_$type, Point_$type, Point_$type, -1, e, e); } if (this.dp.count > this.zd) { return new Tuple$3(Number_$type, Point_$type, Point_$type, -1, e, e); } let f = 1.7976931348623157E+308; let g = this.x9.cr; if (g == null) { return new Tuple$3(Number_$type, Point_$type, Point_$type, -1, e, e); } let h = this.x9.ci(b, false, !this.yn); if (h != null) { let i = RectUtil.l(h.d); let j = this.zy(b, h.a, this.yn); return new Tuple$3(Number_$type, Point_$type, Point_$type, h.b, j.d, i); } for (let k = 0; k < g.count; k++) { let l = g._inner[k].d; let m = RectUtil.g(l, b); let n = (l.width * l.width) + (l.height * l.height) + m; if (n <= f) { f = n; } } let o = 1.7976931348623157E+308; let p = -1; for (let q = 0; q < g.count; q++) { let r = g._inner[q].d; let s = RectUtil.g(r, b); if (s < f) { let t = this.zy(b, g._inner[q].a, this.yn); if (t.c < o) { o = t.c; e = t.d; p = q; } } } if (p >= 0) { return new Tuple$3(Number_$type, Point_$type, Point_$type, g._inner[p].b, e, RectUtil.l(g._inner[p].d)); } return new Tuple$3(Number_$type, Point_$type, Point_$type, -1, e, e); } get_yn() { return true; } get yn() { return this.get_yn(); } zy(a, b, c) { let d = { $type: Point_$type, x: NaN, y: NaN }; let e = 1.7976931348623157E+308; let f = { $type: Point_$type, x: NaN, y: NaN }; let g = false; let h = -1; for (let i = 0; i < b.count; i++) { let j = b._inner[i]; if (i >= 1) { let k = CoreGeometryUtil.q(a, d, j); if (k < e) { e = k; g = true; h = i; } } d = j; } if (c) { let l = b._inner[0]; let m = CoreGeometryUtil.q(a, d, l); if (m < e) { e = m; let n = GeometryUtil.j(a, d, l); f = { $type: Point_$type, x: d.x + (l.x - d.x) * n, y: d.y + (l.y - d.y) * n }; return new Tuple$2(Number_$type, Point_$type, e, f); } } if (g) { let o = b._inner[h - 1]; let p = b._inner[h]; let q = GeometryUtil.j(a, o, p); f = { $type: Point_$type, x: o.x + (p.x - o.x) * q, y: o.y + (p.y - o.y) * q }; } return new Tuple$2(Number_$type, Point_$type, e, f); } y8(a) { return this.zz(a).c; } wy(a, b, c) { if (this.x1 == null || this.x3 == null || this.y3 == null) { return { $type: Point_$type, x: NaN, y: NaN }; } switch (this.x5) { case 1: let d = this.z0(a); return d.d; case 2: let e = this.zz(a); return e.e; case 3: let f = this.zz(a); return f.d; } return { $type: Point_$type, x: NaN, y: NaN }; } ky(a) { let b = this.ke(a); if (this.dp != null && b >= 0 && b < this.dp.count) { return this.dp.item(b); } return null; } yb(a, b, c) { let d = new HighlightingInfo(); d.i = this; d.g = 0; d.f = this.dp.count - 1; d.c = true; if (c != null && c.g == d.g && c.f == d.f) { return c; } return d; } dh(a, b, c) { if (this.ef && this.f3(this.by) && !c) { let d = this.yc(a, b, this.ye); this.ye = d; return d; } else { let e = this.yb(a, b, this.ye); this.ye = e; return e; } } di(a, b, c) { if (this.f3(this.by) && !c) { let d = this.yd(a, b, this.yf); this.yf = d; return d; } else { let e = this.yb(a, b, this.yf); e.d = true; this.yf = e; return e; } } y1() { return (this.assigningShapeStyle != null && this.yl) || this.d3 || (this.by != 1) || (this.cq != 1) || (this.cp != 1) || (this.yi != null && this.xx != null); } y0() { return (this.assigningShapeMarkerStyle != null && this.yk) || this.d3 || (this.by != 1) || (this.cq != 1) || (this.cp != 1); } get zl() { return this.c(ShapeSeriesBase.aah); } set zl(a) { this.h(ShapeSeriesBase.aah, a); } gj() { return this.highlightedItemsSource != null || this.zl != null; } h1() { let a = super.h1(); { let b = ((() => { let $ret = new SeriesLayerPropertyOverlay(); $ret.ad = "ShapeMemberPath"; $ret.p = true; $ret.y = "HighlightedShapeMemberPath"; $ret.q = true; return $ret; })()); b.valueResolving = delegateCombine(b.valueResolving, runOn(this, this.z3)); a.add(b); } { 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); } { 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); } return a; } z3(a, b) { if (this.zl != null) { b.value = this.zl; return; } b.value = this.zu; } get yj() { return this.yh; } set yj(a) { let b = this.yj != a; if (b) { let c = this.yj; this.yh = a; this.raisePropertyChanged("ShapeColumn", c, this.yj); } } ys(array_) { let a = (Array.isArray(array_)); return a; } static yw(a) { if (a == null) { return true; } let val_ = a; return (val_ == undefined); } convertToListList(a) { if (a == null) { return null; } let b = new List$1(List$1.$.specialize(Point_$type), 0); let c; let curr_; let d; let e; let f = false; let g = false; for (let h = 0; h < a.length; h++) { c = a[h]; if (c == null) { continue; } let i = new List$1(Point_$type, 0); for (let j = 0; j < c.length; j++) { curr_ = c[j]; if (f) { d = (curr_.X); e = (curr_.Y); } else { d = (curr_.x); e = (curr_.y); } if (!g) { if ((isNaN_(d) || ShapeSeriesBase.yw(d)) && (isNaN_(e) || ShapeSeriesBase.yw(e))) { d = (curr_.X); e = (curr_.Y); if (!isNaN_(d) && !ShapeSeriesBase.yw(d) && !isNaN_(e) && !ShapeSeriesBase.yw(e)) { g = true; f = true; } } else { g = true; } } i.add({ $type: Point_$type, x: d, y: e }); } b.add(i); } return b; } dn(a) { if (this.dp != null && this.ys(this.itemsSource) && a != null && a.split('!').length != 2) { if (this.coercionMethods == null) { this.coercionMethods = {}; } let methods_ = this.coercionMethods; methods_.convertToListList = this.convertToListList; a += "!convertToListList"; } return super.dn(a); } rs(a, b, c, d) { super.rs(a, b, c, d); let e = false; let f = false; switch (b) { case ShapeSeriesBase.$$p[5]: this.x5 = this.x6(); break; case "FastItemsSource": let g = typeCast(IFastItemsSource_$type, c); if (g != null) { if (this.yi != null) { g.deregisterColumn(this.yi); } if (this.yj != null) { g.deregisterColumn(this.yj); } this.yj = null; } let h = typeCast(IFastItemsSource_$type, d); if (h != null) { if (this.zu != null) { this.yj = this.dn(this.zu); } if (this.zh != null) { this.yi = this.dl(this.zh); } } e = this.x1 != null && !this.x1.ee(); f = this.x3 != null && !this.x3.ee(); if (e || f) { this.sa(this.go && c != null); } break; case ShapeSeriesBase.$$p[9]: if (this.dp != null) { this.dp.deregisterColumn(this.yj); this.yj = this.dn(this.zu); } break; case "ShapeColumn": this.aab(); e = this.x1 != null && !this.x1.ee(); f = this.x3 != null && !this.x3.ee(); if (e || f) { this.sa(this.go && this.d9); } this.q2(); break; case ShapeSeriesBase.$$p[10]: case ShapeSeriesBase.$$p[11]: this.x0 = this.x1; this.x2 = this.x3; let i = c; let j = d; this.aac(i); this.z4(j); if ((j != null && !j.ee()) || (j == null && i != null)) { this.sa(false); } this.q2(); break; case "ActualResolution": this.y7 = this.im; this.q2(); break; case "ActualBrush": this.sa(false); break; case ShapeSeriesBase.$$p[8]: this.za = this.y9; this.sa(false); this.q2(); break; case ShapeSeriesBase.$$p[2]: case "ActualThickness": this.sa(false); this.q2(); break; case ShapeSeriesBase.$$p[4]: this.yl = this.yz(); this.sa(false); break; case ShapeSeriesBase.$$p[3]: this.yk = this.yy(); this.sa(false); break; case ShapeSeriesBase.$$p[1]: if (c != null) { c.o.remove(this); c.x(); this.xy = null; this.ya = null; } if (d != null) { d.o.add(this); d.x(); this.xy = typeCast(CustomPaletteBrushScale.$, d); this.ya = typeCast(ValueBrushScale.$, d); } this.sa(false); this.q2(); break; case "FillColumn": this.sa(this.go && this.d9); this.q2(); break; case ShapeSeriesBase.$$p[0]: if (this.xx != null) { this.xx.x(); } if (this.dp != null) { this.dp.deregisterColumn(this.yi); this.yi = this.dl(this.zh); } break; } } yz() { return this.yv; } yy() { return this.yu; } yp(a) { if (typeCast(NumericYAxis.$, a) !== null) { return true; } return false; } yo(a) { if (typeCast(NumericXAxis.$, a) !== null) { return true; } return false; } aab() { this.y3 = null; if (this.yj == null) { return; } this.y3 = new List$1(Rect.$, 2, this.yj.count); for (let a = 0; a < this.yj.count; a++) { this.y3.add(PointCollectionUtil.j(this.yj.item(a))); } } aas(a) { if (typeCast(IEnumerable$1_$type.specialize(IEnumerable$1_$type.specialize(Point_$type)), a) !== null) { return PointCollectionUtil.h(a); } else if (typeCast(IEnumerable$1_$type.specialize(Point_$type), a) !== null) { return PointCollectionUtil.g(a); } return Rect.empty; } y5(a, b, c, d, e, f, g) { return this.y6(a, b, c, d, e, f, g); if (typeCast(List$1.$.specialize(List$1.$.specialize(Point_$type)), c) !== null) { return this.y6(a, b, c, d, e, f, g); } else if (typeCast(IEnumerable$1_$type.specialize(IEnumerable$1_$type.specialize(Point_$type)), c) !== null) { let h = c; let i = new List$1(FlattenedShape.$, 0); let j = null; for (let k of fromEnum(h)) { j = this.xz(a, b, PointCollectionUtil.b(k), d, e, f, g); if (j == null) { continue; } i.add(j); } return i; } else if (typeCast(IEnumerable$1_$type.specialize(Point_$type), c) !== null) { let l = c; let m = this.xz(a, b, PointCollectionUtil.b(l), d, e, f, g); let n = new List$1(FlattenedShape.$, 0); if (m != null) { n.add(m); } return n; } else { throw new InvalidOperationException(1, "Unrecognized data in ShapeColumn"); } } get_yt() { return true; } get yt() { return this.get_yt(); } y2() { return false; } sb(a) { this.aaa(this.cw); } r9(a, b, c, d, e) { super.r9(a, b, c, d, e); let f = this.ba.a$k.item(d); let g = f; f.bd(c); if (this.d7(f)) { return; } this.aaa(f); } updateFillScaleGlobals() { let a = new ActualRange(); a.b = NaN; a.a = NaN; if (this.yi != null) { a.b = this.yi.minimum; a.a = this.yi.maximum; } if (this.xx != null) { this.xx.z(a.b, a.a); } } aaa(a) { if (this.d7(a)) { return; } if (this.xx != null) { this.xt = this.xu(); } let b; let c; let d = a; let e = a.getViewInfo(c, b); c = e.p0; b = e.p1; if (c.width < 1 || c.height < 1 || this.yj == null) { return; } let f = this.x1; let g = this.x3; let h = this.getEffectiveViewport1(a); let i = new ScalerParams(1, b, c, f.dn); i.c = h; let j = new ScalerParams(1, b, c, g.dn); j.c = h; if (!this.gz) { d.c7(); let k = new Rect(0, 0, 0, 0, 0); let l; let m; let n; let o; let p = this.yj.count; if (this.xo == null || this.xo.length != p) { this.xo = new Array(p); this.xm = new Array(p); this.xn = new Array(p); this.xl = new Array(p); } let q = this.xo; let r = this.xm; let s = this.xn; let t = this.xl; let u; for (let v = 0; v < p; v++) { u = this.y3._inner[v]; q[v] = u.top; r[v] = u.left; s[v] = u.right; t[v] = u.bottom; } this.x0.k3(boxArray$1(r), 0, r.length, i); this.x0.k3(boxArray$1(s), 0, s.length, i); this.x2.k3(boxArray$1(q), 0, q.length, j); this.x2.k3(boxArray$1(t), 0, t.length, j); d.c8(r, q, s, t); let w = this.yj; let x = this.dp; this.aad(d); let y = c.left; let z = c.right; let aa = c.top; let ab = c.bottom; let ac = null; if (this.aar.isEmpty) { ac = null; } else { ac = new Clipper(1, this.aar.left, this.aar.bottom, this.aar.right, this.aar.top, this.yt); } let ad = this.y2(); if (ad) { d.cp.clear(); } let ae = false; let af = true; let ag = 0; if (this.dc != null) { if (this.dc.g1()) { let ah = this.dc.ol(b, i); ae = ah.c; ag = ah.d; } } let ai; for (let aj = 0; aj < p; aj++) { n = r[aj]; l = q[aj]; m = t[aj]; o = s[aj]; k.x = Math.min(n, o); k.y = Math.min(l, m); k.width = Math.max(n, o) - k.x; k.height = Math.max(l, m) - k.y; if (k.intersectsWith(c)) { if (k.x < y || k.y < aa || k.x > z || k.y > ab) { ai = ac; } else { ai = null; } let ak = this.y5(a, ai, w.item(aj), i, j, 0, ag); if (ad) { ShapeSeriesBase.z9(d, aj, ak); } d.cv(aj, x.item(aj), k, ak); } else if (ae) { k.x = k.x + ag; if (k.intersectsWith(c)) { if (k.x < y || k.y < aa || k.x > z || k.y > ab) { ai = ac; } else { ai = null; } let al = this.y5(a, ai, w.item(aj), i, j, ag, ag); if (ad) { ShapeSeriesBase.z9(d, aj, al); } d.cv(aj, x.item(aj), k, al); } } } d.c6(); } let am = this.y1(); this.x8.az(this, this.y1(), runOn(this, this.xr)); let an = false; let ao = this.x8.b; if (ao != null) { an = true; } let ap = a.t; let aq = this.f2; let ar = d.cn; d.c2((as) => { let at = as.dataContext != null ? as.dataContext.item : null; let au = as.dataContext != null ? as.dataContext.c : -1; d.cz(as, at, am); if (an) { this.z6(as, aq, au, this.yj.count, ap, ar); } else { if (ar) { { this.x8.a1(as, this.ik, ar); } } } { this.x8.ad(as, false, false, false, false); } }); } xu() { let a = new ActualRange(); a.b = NaN; a.a = NaN; if (this.yi != null) { a.b = this.yi.minimum; a.a = this.yi.maximum; } let b = typeCast(ValueBrushScale.$, this.xx); if (b != null) { b.s(); if (this.yq && this.xx.o.count > 1) { a.b = b.q; a.a = b.p; } } return a; } z6(a, b, c, d, e, f) { let g = this.by != 1; let h = this.cq != 1; let i = this.cp != 1; this.x8.a0(this.x8.b, c, d, false); { this.x8.a1(a, this.ik, f); } let j = this.x8.ax; let k = null; let l = null; let m = null; let n = this.dp; if (this.yi != null && this.xx != null) { if (j.z >= 0 && j.z < this.yi.count) { let o = this.yi.item(j.z); let p = this.xt; let q = p.b; let r = p.a; let s = j.aa; if (this.xy != null) { s = this.xy.getBrush1(j.z, this.yi.count); } else if (this.ya != null && this.yi != null) { let t = this.yi.item(j.z); s = this.ya.getBrushByRange(t, q, r); } else if (this.xx != null) { s = this.xx.getBrush(j.z); } j.aa = s; } } if (g && this.dc != null) { k = this.dc.d7.getHighlightingInfo(this, n, j.z, j.y, false); j.c = k; } if (h && this.dc != null) { l = this.dc.d8.getHighlightingInfo(this, n, j.z, j.y, false); if (l == null && this.bo != null) { l = this.dc.d8.getHighlightingInfo(this.bo, this.bo.dp, j.z, j.y, false); } if (l == null && this.bl != null) { l = this.dc.d8.getHighlightingInfo(this.bl, this.bl.dp, j.z, j.y, true); } j.d = l; } if (i && this.dc != null) { m = this.dc.d6.getHighlightingInfo(this, n, j.z, j.y, false); j.b = m; } j.h = e; this.z8(j); this.x8.z(this, k, l, m, e, g, h, i, false); } z5(a, b, c) { let d = this.by != 1; let e = this.cq != 1; let f = this.cp != 1; this.x8.a0(this.x8.d, a, b, true); this.x8.aa(this.ik); let g = this.x8.aw; let h = null; let i = null; let j = null; let k = this.dp; let l = null; let m = null; let n = null; if (d && this.dc != null) { h = this.dc.d7.getHighlightingInfo(this, k, g.z, g.y, true); if (this.dc.d7.isCrossContextHighlight(this)) { l = this.dc.d7.getHighlightingInfo(this, k, g.z, g.y, true); } g.c = h; } if (e && this.dc != null) { i = this.dc.d8.getHighlightingInfo(this, k, g.z, g.y, true); if (i == null && this.bo != null) { i = this.dc.d8.getHighlightingInfo(this.bo, this.bo.dp, g.z, g.y, true); } if (this.dc.d8.isCrossContextHighlight(this)) { m = this.dc.d8.getHighlightingInfo(this, k, g.z, g.y, true); } g.d = i; } if (f && this.dc != null) { j = this.dc.d6.getHighlightingInfo(this, k, g.z, g.y, true); if (this.dc.d6.isCrossContextHighlight(this)) { n = this.dc.d6.getHighlightingInfo(this, k, g.z, g.y, true); } g.b = i; } g.h = c; this.z7(g); this.x8.y(this, h, i, j, c, d, e, f, g.v, this.dc.d7.totalHighWaterMark, g.x, this.dc.d8.totalHighWaterMark, g.t, this.dc.d6.totalHighWaterMark); } z8(a) { if (this.assigningShapeStyle != null && this.yl) { this.assigningShapeStyle(this, a); } } z7(a) { if (this.assigningShapeMarkerStyle != null && this.yk) { this.assigningShapeMarkerStyle(this, a); } } xr(a, b) { return this.xs(a, b); } xs(a, b) { if (b < a || a < 0 || a > this.yj.count || b < 0 || b > this.yj.count) { return null; } let c = new Array((b - a) + 1); for (let d = a; d <= b; d++) { let e = d; c[d - a] = this.dp.item(d); } return c; } static z9(a, b, c) { let d = 0; let e = null; for (let f = 0; f < c.count; f++) { let g = c._inner[f]; let h = g.b.width * g.b.height; if (h > d) { d = h; e = g; } } a.cp.addItem(b, e); } qr() { super.qr(); if (this.x1 != null) { this.x1.lz(); } if (this.x3 != null) { this.x3.lz(); } } tb(a, b) { this.sa(false); } ta(a, b) { this.sa(false); } pq(a, b, c, d) { super.pq(a, b, c, d); switch (a) { case 3: if (d == this.zu) { this.y3._inner[b] = this.aas(this.yj.item(b)); } break; case 1: for (let e = b; e < b + c; e++) { this.y3.insert(e, this.aas(this.yj.item(e))); } break; case 0: this.y3.v(b, c); break; case 2: for (let f = b; f < b + c; f++) { this.y3._inner[f] = this.aas(this.yj.item(f)); } break; case 4: this.aab(); break; } this.sa(false); } hm(a, b, c) { let d = true; if (!super.hm(a, b, c) || (this.yx && this.yj == null) || b.isEmpty || a.isEmpty || this.x1 == null || this.x3 == null || this.x1.b7 == null || this.x3.b7 == null || this.x1.qy == this.x1.qx || this.x3.qy == this.x3.qx || this.yj == null || this.yj.count == 0 || this.y3 == null || this.y3.count == 0 || this.y3.count != this.yj.count) { d = false; } return d; } get_yx() { return true; } get yx() { return this.get_yx(); } rj(a) { super.rj(a); this.x9 = typeCast(ShapeSeriesViewBase.$, a); } y6(a, b, c, d, e, f, g) { let h = new List$1(FlattenedShape.$, 0); let i; let j = c.count; for (let k = 0; k < j; k++) { i = c._inner[k]; let l = this.xz(a, b, i, d, e, f, g); if (l == null) { continue; } h.add(l); } return h; } xz(a, b, c, d, e, f, g) { let h = this.z1(c, d, e); let i = h.c; let j = h.d; let k = i.length; let l = 1.7976931348623157E+308; let m = 1.7976931348623157E+308; let n = -1.7976931348623157E+308; let o = -1.7976931348623157E+308; let p; let q; if (f != 0) { for (let r = 0; r < k; r++) { i[r] = i[r] + f; } } for (let s = 0; s < k; s++) { p = i[s]; q = j[s]; l = p < l ? p : l; m = q < m ? q : m; n = p > n ? p : n; o = q > o ? q : o; } let t = !(l > this.aar.right || n < this.aar.left || m > this.aar.bottom || o < this.aar.top); if (!t && f == 0 && g != 0) { if (g != 0) { for (let u = 0; u < k; u++) { i[u] = i[u] + g; } } for (let v = 0; v < k; v++) { p = i[v]; q = j[v]; l = p < l ? p : l; m = q < m ? q : m; n = p > n ? p : n; o = q > o ? q : o; } t = !(l > this.aar.right || n < this.aar.left || m > this.aar.bottom || o < this.aar.top); } if (!t) { return null; } let w = b != null && (l < this.aar.left || m < this.aar.top || n > this.aar.right || o > this.aar.bottom); let x = new Rect(0, l, m, n - l, o - m); if (!a.co(x)) { return null; } l = l < this.aar.left ? this.aar.left : l; n = n > this.aar.right ? this.aar.right : n; m = m < this.aar.top ? this.aar.top : m; o = o > this.aar.bottom ? this.aar.bottom : o; let y = PolySimplification.b(h, this.im); let z = new DefaultFlattener().c(h.c, h.d, y, this.y7); let aa = z.count; if (w) { let ab = new List$1(Point_$type, 0); b.i = ab; for (let ac = 0; ac < aa; ac++) { b.j(z._inner[ac]); } b.i = null; z = ab; } if (z == null || z.count == 0) { return null; } let ad = new FlattenedShape(); ad.a = z; ad.b = new Rect(0, l, m, n - l, o - m); ad.c = x; return ad; } z1(a, b, c) { let d = this.x0; let e = this.x2; let f = a.count; let g = new Array(f); let h = new Array(f); for (let i = 0; i < f; i++) { g[i] = a._inner[i].x; h[i] = a._inner[i].y; } d.k3(boxArray$1(g), 0, g.length, b); e.k3(boxArray$1(h), 0, h.length, c); return new Tuple$2(Array_$type, Array_$type, g, h); } aad(a) { a.dd(); } pk(a, b) { super.pk(a, b); let c = b; c.c0(); } z4(a) { if (a != null) { a.d4(this); } } aac(a) { if (a != null) { a.cx(this); } } z2(a, b, c) { let d = this.cw; let e = d.b9; let f = this.dc.za(this.dc.y0(a)); if (e.width < 1 || e.height < 1 || this.yj == null) { return; } let g = this.getEffectiveViewport1(d); let h = new ScalerParams(0, f, e, this.x1.dn, g); let i = new ScalerParams(0, f, e, this.x3.dn, g); d.c7(); let j = this.yj.count; let k = new Array(j); let l = new Array(j); let m = new Array(j); let n = new Array(j); let o; for (let p = 0; p < j; p++) { o = this.y3._inner[p]; k[p] = o.top; l[p] = o.left; m[p] = o.right; n[p] = o.bottom; } this.x1.k3(boxArray$1(l), 0, l.length, h); this.x1.k3(boxArray$1(m), 0, m.length, h); this.x3.k3(boxArray$1(k), 0, k.length, i); this.x3.k3(boxArray$1(n), 0, n.length, i); d.c8(l, k, m, n); d.dd(); let q = null; if (!this.aar.isEmpty) { q = new Clipper(1, this.aar.left, this.aar.bottom, this.aar.right, this.aar.top, this.yt); } let r = false; let s = 0; if (this.dc != null) { if (this.dc.g1()) { let t = this.dc.ol(f, h); r = t.c; s = t.d; } } let u, v, w, x; let y = new Rect(0, 0, 0, 0, 0); for (let z = 0; z < j; z++) { w = l[z]; u = k[z]; v = n[z]; x = m[z]; y.x = Math.min(w, x); y.y = Math.min(u, v); y.width = Math.max(w, x) - y.x; y.height = Math.max(u, v) - y.y; if (r) { y.x = y.x + s; } if (!y.intersectsWith(e)) { continue; } let aa = this.y5(d, q, this.yj.item(z), h, i, s, s); if (aa.count <= 0) { continue; } this.ym(b, c, z); } } ym(a, b, c) { if (b == 7 || b == 6) { a.add(((() => { let $ret = new ChartSelection(); $ret.series = this; return $ret; })())); return false; } else if (b == 1 || b == 2) { a.add(((() => { let $ret = new ChartSelection(); $ret.item = this.dp.item(c); return $ret; })())); return true; } else { a.add(((() => { let $ret = new ChartSelection(); $ret.item = this.dp.item(c); $ret.series = this; return $ret; })())); return true; } } a2(a, b) { let c = this.x9.df(a, b); let d = null; if (c != null) { d = c.dataContext; } if (d != null) { return d; } return super.a2(a, b); } b3() { if (this.b4 == 0) { return 1; } else { return super.b3(); } } g4(a, b) { if (this.g7(a, b)) { return true; } return false; } g7(a, b) { if (this.a2(a, b) != null) { return true; } return false; } ze(a) { return this.dp.item(a); } get_hf() { return true; } set_hf(a) { super.set_hf(a); } ay(a) { if (typeCast(NumericXAxis.$, a) !== null && this.y3 != null) { let b = 1.7976931348623157E+308; let c = -1.7976931348623157E+308; for (let d of fromEnum(this.y3)) { b = Math.min(b, d.left); c = Math.max(c, d.right); } return new AxisRange(b, c); } if (typeCast(NumericYAxis.$, a) !== null && this.y3 != null) { let e = 1.7976931348623157E+308; let f = -1.7976931348623157E+308; for (let g of fromEnum(this.y3)) { e = Math.min(e, g.top); f = Math.max(f, g.bottom); } return new AxisRange(e, f); } return null; } get_f1() { return true; } get_fp() { return true; } get yr() { return this.styleShape != null; } aat(a, b, c) { if (this.styleShape != null) { if (this.x9.dm != null && c == this.x9.dm) { c = new Style(); let d = this.x9.dm; c.fill = d.fill; c.opacity = d.opacity; c.stroke = d.stroke; c.strokeThickness = d.strokeThickness; } else { if (c != null) { let e = new Style(); e.fill = c.fill; e.opacity = c.opacity; e.stroke = c.stroke; e.strokeThickness = c.strokeThickness; c = e; } else { c = new Style(); } } let f = new StyleShapeEventArgs(a, b, c); this.styleShape(this, f); return f.d(); } return c; } } ShapeSeriesBase.$t = /*@__PURE__*/ markType(ShapeSeriesBase, 'ShapeSeriesBase', Series.$, [ISupportsFillScale_$type]); ShapeSeriesBase.aah = /*@__PURE__*/ DependencyPrope