UNPKG

igniteui-react-charts

Version:

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

1,436 lines 227 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 { EventArgs, Base, markType, Point_$type, runOn, typeCast, IList$1_$type, Number_$type, markDep, IEnumerable_$type, Array_$type, delegateCombine, fromEnum, Boolean_$type, enumGetBox, fromEn, String_$type, getInstanceType, INotifyPropertyChanged_$type, PropertyChangedEventArgs, Delegate_$type, toNullable, TypeRegistrar } from "igniteui-react-core"; import { Brush } from "igniteui-react-core"; import { DataTemplate } from "igniteui-react-core"; import { Visibility_$type } from "igniteui-react-core"; import { DoubleCollection } from "igniteui-react-core"; import { PenLineCap_$type } from "igniteui-react-core"; import { Style } from "igniteui-react-core"; import { MarkerType_$type } from "./MarkerType"; import { HorizontalAnchoredCategorySeries } from "./HorizontalAnchoredCategorySeries"; import { CategoryLineRasterizer } from "./CategoryLineRasterizer"; import { Series } from "./Series"; import { List$1 } from "igniteui-react-core"; import { AnchoredCategorySeries } from "./AnchoredCategorySeries"; import { CategoryAxisBase } from "./CategoryAxisBase"; import { CategorySeries } from "./CategorySeries"; import { CategoryFramePreparer } from "./CategoryFramePreparer"; import { NumericAxisBase } from "./NumericAxisBase"; import { ISupportsMarkers_$type } from "./ISupportsMarkers"; import { CategoryFrame } from "./CategoryFrame"; import { Rect } from "igniteui-react-core"; import { CategorySeriesView } from "./CategorySeriesView"; import { Axis } from "./Axis"; import { ScalerParams } from "./ScalerParams"; import { ObservableCollection$1 } from "igniteui-react-core"; import { AxisRange } from "./AxisRange"; import { AnchoredCategorySeriesView } from "./AnchoredCategorySeriesView"; import { CategoryBucketCalculator } from "./CategoryBucketCalculator"; import { isNaN_, isInfinity, truncate } from "igniteui-react-core"; import { CategoryTransitionInMode_$type } from "./CategoryTransitionInMode"; import { Path } from "igniteui-react-core"; import { ISortingAxis_$type } from "./ISortingAxis"; import { FrameworkElement } from "igniteui-react-core"; import { XamDataChart } from "./XamDataChart"; import { DependencyProperty } from "igniteui-react-core"; import { DependencyObject } from "igniteui-react-core"; import { NumericYAxis } from "./NumericYAxis"; import { Defaults } from "./Defaults"; import { Pool$1 } from "igniteui-react-core"; import { Rectangle } from "igniteui-react-core"; import { DataContext } from "igniteui-react-core"; import { Dictionary$2 } from "igniteui-react-core"; import { IScaler_$type } from "./IScaler"; import { IIsCategoryBased_$type } from "./IIsCategoryBased"; import { CategoryMarkerManager } from "./CategoryMarkerManager"; import { PropertyMetadata } from "igniteui-react-core"; import { dateMinValue, dateMaxValue } from "igniteui-react-core"; import { NumericXAxis } from "./NumericXAxis"; import { CategoryYAxis } from "./CategoryYAxis"; import { AnchoredCategoryBucketCalculator } from "./AnchoredCategoryBucketCalculator"; import { IStacked100Series_$type } from "./IStacked100Series"; import { NotImplementedException } from "igniteui-react-core"; import { SplineSeriesBase } from "./SplineSeriesBase"; import { CollisionAvoider } from "./CollisionAvoider"; import { SafeSortedReadOnlyDoubleCollection } from "./SafeSortedReadOnlyDoubleCollection"; import { Numeric } from "igniteui-react-core"; import { ICategoryScaler_$type } from "./ICategoryScaler"; import { ChartSelection } from "./ChartSelection"; import { CategoryXAxis } from "./CategoryXAxis"; import { IBarSeries_$type } from "./IBarSeries"; import { Color } from "igniteui-react-core"; import { LegendItemBadgeShape_$type } from "igniteui-react-core"; import { LegendItemBadgeMode_$type } from "igniteui-react-core"; import { MarkerFillMode_$type } from "./MarkerFillMode"; import { MarkerOutlineMode_$type } from "./MarkerOutlineMode"; import { SeriesOutlineMode_$type } from "./SeriesOutlineMode"; import { SeriesHighlightedValuesDisplayMode_$type } from "igniteui-react-core"; import { TransitionInSpeedType_$type } from "./TransitionInSpeedType"; import { PropertyUpdatedEventArgs } from "igniteui-react-core"; import { DataLegendSeriesValueInfo } from "igniteui-react-core"; import { DataLegendSeriesContext } from "igniteui-react-core"; import { SingleValuesHolder } from "./SingleValuesHolder"; import { stringIsNullOrEmpty } from "igniteui-react-core"; import { SplineSeriesBaseView } from "./SplineSeriesBaseView"; import { Canvas } from "igniteui-react-core"; import { Panel } from "igniteui-react-core"; import { PlatformConstants } from "igniteui-react-core"; /** * @hidden */ export let StackedSeriesCreatedEventArgs = /*@__PURE__*/ (() => { class StackedSeriesCreatedEventArgs extends EventArgs { constructor(a) { super(); this.c = null; this.c = a; } get brush() { return this.c.kz; } set brush(a) { this.c.kz = a; } get legendItemTemplate() { return this.c.hr; } set legendItemTemplate(a) { this.c.hr = a; } get legendItemBadgeTemplate() { return this.c.hq; } set legendItemBadgeTemplate(a) { this.c.hq = a; } get legendItemVisibility() { return this.c.lu; } set legendItemVisibility(a) { this.c.lu = a; } get outline() { return this.c.k3; } set outline(a) { this.c.k3 = a; } get dashArray() { return this.c.k8; } set dashArray(a) { this.c.k8 = a; } get dashCap() { return this.c.lb; } set dashCap(a) { this.c.lb = a; } get index() { return this.c.cc; } get thickness() { return this.c.b4; } set thickness(a) { this.c.b4 = a; } get title() { return this.c.cj; } set title(a) { this.c.cj = a; } get transitionDuration() { return this.c.cd; } set transitionDuration(a) { this.c.cd = a; } get transitionEasingFunction() { return this.c.ai; } set transitionEasingFunction(a) { this.c.ai = a; } get markerBrush() { return this.c.k0; } set markerBrush(a) { this.c.k0 = a; } get markerOutline() { return this.c.k1; } set markerOutline(a) { this.c.k1 = a; } get markerStyle() { return this.c.lr; } set markerStyle(a) { this.c.lr = a; } get markerTemplate() { return this.c.hs; } set markerTemplate(a) { this.c.hs = a; } get markerType() { return this.c.x; } set markerType(a) { this.c.x = a; } get markerThickness() { return this.c.bx; } set markerThickness(a) { this.c.bx = a; } get lineCap() { return this.c.la; } set lineCap(a) { this.c.lc = a; } } StackedSeriesCreatedEventArgs.$t = /*@__PURE__*/ markType(StackedSeriesCreatedEventArgs, 'StackedSeriesCreatedEventArgs', EventArgs.$); return StackedSeriesCreatedEventArgs; })(); /** * @hidden */ export let FragmentBase = /*@__PURE__*/ (() => { class FragmentBase extends HorizontalAnchoredCategorySeries { constructor() { super(); this.___neverPassByValue = true; this.acy = null; this._logicalSeriesLink = null; this.ac0 = null; this.acy = new CategoryLineRasterizer(); } get logicalSeriesLink() { return this._logicalSeriesLink; } set logicalSeriesLink(a) { this._logicalSeriesLink = a; } get parentSeries() { return this.ac0; } set parentSeries(a) { this.ac0 = a; } get_e6() { return false; } get_isFragment() { return true; } nc() { if (this.logicalSeriesLink != null) { return this.logicalSeriesLink.e0; } return null; } j2() { let a = this.parentSeries; if (a.index == -1 || a.aa2 == null || a.aa2.f.indexOf(this) == -1) { return -1; } return a.aa2.f.indexOf(this); } qa(a) { super.qa(a); a.parentSeries = this.parentSeries; a.logicalSeriesLink = this.logicalSeriesLink; } j7() { let a = this.parentSeries; if (a.index == -1 || a.series.count == 0 || a.series.indexOf(this.logicalSeriesLink) == -1) { return -1; } return a.series.indexOf(this.logicalSeriesLink); } resolveLegendIndex() { let a = this.parentSeries; if (a.aa6) { return -1 + a.index + a.aax.count - a.aa2.f.indexOf(this); } return super.resolveLegendIndex(); } bq() { return this.parentSeries; } yu() { if (this.parentSeries == null) { return null; } return this.parentSeries.fetchXAxis(); } acx() { if (this.parentSeries == null) { return this.y1; } return this.parentSeries.y1; } zb() { if (this.parentSeries == null) { return null; } return this.parentSeries.fetchYAxis(); } ac3(a, b, c, d, e, f, g, h) { let i = c[0]; let j = c[1]; let k = new Rect(0, i - 5, j - 5, 11, 11); if (!isNaN_(i) && !isNaN_(j) && !isInfinity(i) && !isInfinity(j) && d.tryAdd(k)) { b.p.add({ $type: Point_$type, x: i, y: j }); a.updateMarkerTemplate(g, f, h); return true; } return false; } aaj(a, b) { a.x(); if (this.valueColumn == null || this.parentSeries == null || this.logicalSeriesLink == null) { return; } if (this.logicalSeriesLink.a8.count == 0 || this.logicalSeriesLink.a7.count == 0) { return; } this.y2(b).d(a, b); } we(a, b, c) { return this.wg(a, b, c, this.acx().r(this.yu(), this.cw.b2, this.cw.b1, this.getEffectiveViewport1(this.cw)), this.zb(), this.yu(), runOn(this, this.ac4), (d, e) => this.kb(d, e, this.yu(), runOn(this, this.zv), this.valueColumn != null ? new FragmentBaseValueList(this) : null), (d, e) => this.j9(d, e, this.yu(), runOn(this, this.zv), this.valueColumn != null ? new FragmentBaseValueList(this) : null)); } ai() { return [this.yu(), this.zb()]; } ac4(a, b, c) { if (this.dc == null) { return NaN; } let d = this.getEffectiveViewport1(this.cw); let e = new ScalerParams(0, this.dc.v5, this.cw.b1, this.yu().ch, d); let f = this.y1.r(this.yu(), this.dc.v5, this.cw.b1, d); return this.i7(this.valueColumn != null ? new FragmentBaseValueList(this) : null, a, this.yu(), e, f, runOn(this, this.zv), b, c); } ac6(a, b, c) { let d = this.aba(c); let e = d; let f = this.logicalSeriesLink.az; let g = f ? this.parentSeries.aa2.e : this.parentSeries.aa2.d; let h = this; if (this.bo != null) { h = this.bo; } let i = g.indexOf(h); if (a.count == 0) { return; } if (i == -1) { return; } let j = false; for (let k = i; k >= 0; k--) { if (j) { break; } if (k == 0) { a.add({ $type: Point_$type, x: a._inner[a.count - 1].x, y: e }); a.add({ $type: Point_$type, x: a._inner[0].x, y: e }); break; } let l = typeCast(FragmentBase.$, g._inner[k - 1]); if (l != null && l.acy != null && l.acy.o.count > 0 && this.cw != null && l.he(this.cw.b1, this.cw.b2, this.cw)) { j = true; for (let m = l.acy.o.count - 1; m >= 0; m--) { a.add(l.acy.o._inner[m]); } } } } he(a, b, c) { let d = super.he(a, b, c); let e = typeCast(CategoryAxisBase.$, this.parentSeries.fetchXAxis()); let f = this.parentSeries.fetchYAxis(); if (this.parentSeries == null || e == null || e.itemsSource == null || f == null || this.parentSeries.dp == null || e.bi == null || f.bi == null) { d = false; } if (this.valueColumn == null) { return false; } if (isInfinity(this.valueColumn.minimum) && isInfinity(this.valueColumn.maximum)) { d = false; } if (isNaN_(this.valueColumn.minimum) && isNaN_(this.valueColumn.maximum)) { d = false; } return d; } aba(a) { let b = 0; let c = a.b2; let d = a.b1; let e = this.getEffectiveViewport1(a); let f = new ScalerParams(0, c, d, this.zb().ch, e); f.b = this.iy(); if (!c.isEmpty && !d.isEmpty && this.zb() != null) { b = this.zb().el(0, f); } return b; } ay(a) { return null; } ac5() { if (this.parentSeries == null) { return -1; } let a = this.parentSeries.index; let b = 0; let c = 1; if (this.parentSeries.aa6) { b = this.parentSeries.aax.count - 1; c = -1; } for (let d = b; this.parentSeries.aa6 ? d >= 0 : d < this.parentSeries.aax.count; d += c) { let e = this.parentSeries.aax._inner[d]; if (e.visualSeriesLink == this) { return a; } if (this.parentSeries.a5 == null || e.lt != 0 || e.ls != 0) { continue; } a++; } return -1; } ac7(a) { if (a == null) { } } ra(a, b, c, d) { super.ra(a, b, c, d); if (this.parentSeries == null) { return; } let e = typeCast(NumericAxisBase.$, this.parentSeries.fetchYAxis()); if (e == null) { return; } switch (b) { case "ValueColumn": if (this.aaw.dc) { this.aaw.db.g$m(); } if (e != null && !e.c1()) { this.parentSeries.aaw().c0.g(this.id); this.rs(this.gg && this.d8); } break; case "ActualBrush": if (this.logicalSeriesLink != null) { this.logicalSeriesLink.ku = this.vb; } break; } } ru(a, b) { super.ru(a, b); } get useHighMarkerFidelity() { return this.zs; } } FragmentBase.$t = /*@__PURE__*/ markType(FragmentBase, 'FragmentBase', HorizontalAnchoredCategorySeries.$); return FragmentBase; })(); /** * @hidden */ export let AreaFragment = /*@__PURE__*/ (() => { class AreaFragment extends FragmentBase { bk() { return new AreaFragment(); } constructor() { super(); this.ab = AreaFragment.$; } ct() { return new AreaFragmentView(this); } q1(a) { super.q1(a); this.ac8 = a; } get_ew() { return true; } get_ev() { return true; } y6() { return 1; } ada(a, b) { let c = this.ac8.dq.an; if (this.gy(a, c)) { return true; } let d = this.ac8.dr.an; if (this.gy(a, d)) { return true; } return false; } gw(a, b) { if (this.ac9(a, b)) { return true; } if (this.ada(a, b)) { return true; } if (this.xj(a, b)) { return true; } return false; } ac9(a, b) { let c = this.ac8.ds.an; if (this.gx(a, b, c)) { return true; } let d = this.ac8.dt.an; if (this.gx(a, b, d)) { return true; } return false; } preferredCategoryMode(a) { return 0; } o5(a, b) { super.o5(a, b); let c = b; c.dk(); } aam(a, b) { super.aam(a, b); this.acy.a = typeCast(ISortingAxis_$type, this.xAxis) !== null ? true : false; let c = typeCast(AreaFragmentView.$, b); let d = a.h; let e = this.getEffectiveViewport1(c); this.y4.a2(this, this.zo(), runOn(this, this.yo), this.zx(b), this.zy(b)); let f = false; let g = this.y4.b; if (g != null) { f = true; } if (f) { let h = new ScalerParams(0, b.b2, b.b1, this.ace.ch, e); this.aai(d, -1, this.valueColumn.count, this.ace, h, b.r, -1); } this.y4.ad(c.ds, true, false, true, true); this.y4.ad(c.dt, true, false, true, true); this.y4.ad(c.dq, false, true, false, false); this.y4.ad(c.dr, false, true, false, false); let i = c.c0.d; this.acy.i(c.dq, c.ds, c.dr, c.dt, a.h.count, a.h, true, i, this.id, (j, k, l, m, n) => this.ac6(j, a.h, b), 0); c.dq._opacity = this.y4.j * this.h9; c.dr._opacity = 0.5 * this.y4.j * this.h9; } sf() { let a = (typeCast(XamDataChart.$, this.dc)); if (a != null) { this.h9 = isNaN_(this.ik) ? this.parentSeries.h9 : this.ik; } } get useHighMarkerFidelity() { return this.zs; } } AreaFragment.$t = /*@__PURE__*/ markType(AreaFragment, 'AreaFragment', FragmentBase.$); return AreaFragment; })(); /** * @hidden */ export let ColumnFragment = /*@__PURE__*/ (() => { class ColumnFragment extends FragmentBase { bk() { return new ColumnFragment(); } get_e0() { return true; } get_fl() { return true; } jk() { if (!isNaN_(this.jj)) { return super.jk(); } return Defaults.h; } y6() { return 1; } constructor() { super(); this.ab = ColumnFragment.$; } ct() { return new ColumnFragmentView(this); } q1(a) { super.q1(a); this.ac9 = a; } get fragmentXAxis() { return this.parentSeries != null ? typeCast(CategoryAxisBase.$, this.parentSeries.fetchXAxis()) : null; } get fragmentYAxis() { return this.parentSeries != null ? typeCast(NumericYAxis.$, this.parentSeries.fetchYAxis()) : null; } preferredCategoryMode(a) { return 2; } yu() { return this.fragmentXAxis; } zb() { return this.fragmentYAxis; } get_ee() { return true; } fetchXAxis() { return null; } fetchYAxis() { return null; } o5(a, b) { super.o5(a, b); let c = b; if (a && c.dk != null) { this.yw.p.clear(); c.dk.count = 0; } } ay(a) { if (this.valueColumn == null || this.valueColumn.count == 0) { return null; } return new AxisRange(this.valueColumn.minimum, this.valueColumn.maximum); } he(a, b, c) { if (this.parentSeries == null) { return false; } return this.parentSeries.aa7(this, a, b, this.adb(c)); } hb() { return true; } zx(a) { if (this.parentSeries != null) { return this.parentSeries.zx(this.parentSeries.cw); } return super.zx(a); } zy(a) { if (this.parentSeries != null) { return this.parentSeries.zy(this.parentSeries.cw); } return super.zx(a); } zz(a) { if (this.parentSeries != null) { return this.parentSeries.zz(this.parentSeries.cw); } return super.zz(a); } wp(a) { if (this.yu() == null || this.fragmentYAxis == null) { return Rect.empty; } let b = this.v9(a); let c = this.cw.b2; let d = this.cw.b1; let e = this.getEffectiveViewport1(this.cw); let f = new ScalerParams(0, c, d, this.fragmentYAxis.ch, e); let g = this.an(this.yu(), this.yw.h, this.zx(this.cw), this.zy(this.cw), a, true); if (g == null) { return Rect.empty; } let h = g[0]; let i = g[1]; let j = Math.abs(b.x - h[0]); let k = Math.abs(b.x - i[0]); let l = this.yu().k8(c, d, e); if (j < k) { let m = h[0] - 0.5 * l; let n = h[1]; let o = h[2]; return new Rect(0, m, Math.min(n, o), l, Math.max(n, o) - Math.min(n, o)); } else { let p = i[0] - 0.5 * l; let q = i[1]; let r = i[2]; return new Rect(0, p, Math.min(q, r), l, Math.max(q, r) - Math.min(q, r)); } } gw(a, b) { if (this.gz(a, b)) { return true; } if (this.xj(a, b)) { return true; } return false; } gz(a, b) { let c = this.wq(a); if (c.isEmpty) { return false; } let d = this.adi(c, this.iu(b)); return d.containsPoint(a); } adi(a, b) { let c = a.left + a.width / 2; let d = a.top + a.height / 2; let e = c - ((a.width / 2) + b); let f = d - (a.height / 2); let g = a.height; let h = a.width + b * 2; return new Rect(0, e, f, h, g); } kx(a, b) { let c = typeCast(FrameworkElement.$, a); let d = c != null ? typeCast(DataContext.$, c.dataContext) : null; let e = d != null ? d.item : null; if (e == null) { let f = this.cw.b1; let g = this.dc != null ? this.dc.v5 : Rect.empty; let h = { $type: Point_$type, x: g.left + g.width * (b.x - f.left) / f.width, y: g.top + g.height * (b.y - f.top) / f.height }; e = this.kn(h); } return e; } kn(a) { let b = 0; if (typeCast(ISortingAxis_$type, this.yu()) !== null) { b = this.j5(a); if (b == -1) { return null; } } else { b = this.j3(a); } return b >= 0 && this.dp != null && b < this.dp.count ? this.dp.item(b) : null; } j5(a) { let b = this.cw.b2; let c = this.cw.b1; let d = this.getEffectiveViewport1(this.cw); if (b.isEmpty || c.isEmpty) { return -1; } let e = this.yu(); let f = new ScalerParams(0, b, c, e.ch, d); let g = typeCast(ISortingAxis_$type, this.fragmentXAxis); let h = this.wl(this.cw); let i = e.eo(h.left, f); let j = e.eo(h.right, f); let k = (a.x - b.left) / b.width; let l = i + ((j - i) * k); if (truncate(l) <= dateMinValue().getTime() || truncate(l) >= dateMaxValue().getTime()) { return -1; } let m = g.i$f(l); return m; } j3(a) { if (this.parentSeries == null) { return -1; } return this.parentSeries.abe(a); } ac3(a, b, c, d, e, f, g, h) { let i = 0; let j = c[0]; let k = e < i ? c[2] : c[1]; let l = new Rect(0, j - 5, k - 5, 11, 11); if (!isNaN_(j) && !isNaN_(k) && !isInfinity(j) && !isInfinity(k) && d.tryAdd(l)) { b.p.add({ $type: Point_$type, x: j, y: k }); a.updateMarkerTemplate(g, f, h); return true; } return false; } adb(a) { if (a.q) { return this.parentSeries.ba.a$j.item(a.ag); } else if (a == this.cv) { return this.parentSeries.cv; } else { return this.parentSeries.y5; } } rr(a, b, c, d, e) { this.ba.a$z(this, a, b, d, e); let f = this.ba.a$j.item(d); let g = f; f.a6(c); let h = this.adb(f); h.c0.g(this.id); if (this.d6(g)) { return; } if (this.aax == null) { this.aax = new CategoryFrame(3); } this.aax.x(); this.aaj(this.aax, g); this.aam(this.aax, g); } aaj(a, b) { a.x(); if (this.valueColumn == null || this.parentSeries == null || this.logicalSeriesLink == null || this.logicalSeriesLink.a7.count == 0 || this.logicalSeriesLink.a8.count == 0) { return; } let c; if (b.q) { c = this.parentSeries.aav; } else if (b == this.cv) { c = this.parentSeries.yz; } else { c = this.parentSeries.yw; } let d = typeCast(CategorySeriesView.$, this.adb(b)); a.h.clear(); if (a.o != null) { a.o.clear(); } a.p.clear(); let e = d.c0.e; let f = d.c0.f; let g = this.parentSeries.y1.h.yScaler; let h = typeCast(ISortingAxis_$type, this.parentSeries.y1.h.scaler); let i = typeCast(NumericAxisBase.$, g) !== null && g.lp; let j = typeCast(StackedBucketCalculator.$, d.c0); let k = d.c0.d; let l = 0; if (e <= f) { for (let m = e; m <= f; m++) { let n = m * k; if (this._visibility != 0) { break; } if (m >= this.valueColumn.count || m >= c.h.count + e) { continue; } let o = this.valueColumn.item(m); let p = !i || (i && o > 0); let q; if (h == null) { q = j.getBucket1(this, m, m, b.b2, b.b1, c); } else { q = j.getBucket1(this, m, h.i$b._inner[m], b.b2, b.b1, c); } a.h.add(q); if (h != null) { if (a.o == null) { a.o = new List$1(Number_$type, 0); } a.o.add(n); } if (p) { if (this.ac3(b, a, q, this.y1.h.provideCollisionDetector(), o, n, l, a.h.count - 1)) { l++; } } } } b.c3.count = l; } aam(a, b) { super.aam(a, b); if (this.parentSeries == null) { return; } this.parentSeries.abn(this, a, b, runOn(this, this.yo)); CategoryMarkerManager.e(this, a.p, b.c3, this.xk); } ra(a, b, c, d) { super.ra(a, b, c, d); } get useHighMarkerFidelity() { return this.zs; } } ColumnFragment.$t = /*@__PURE__*/ markType(ColumnFragment, 'ColumnFragment', FragmentBase.$); ColumnFragment.$$p = /*@__PURE__*/ markDep(DependencyProperty, PropertyMetadata, ColumnFragment, 'raisePropertyChanged', ['RadiusX:adc:adg', [1, 0], 'RadiusY:add:adh', [1, 0]]); return ColumnFragment; })(); /** * @hidden */ export let BarFragment = /*@__PURE__*/ (() => { class BarFragment extends ColumnFragment { constructor() { super(); this.ab = BarFragment.$; } get_ey() { return true; } get_fl() { return true; } get_e0() { return false; } y6() { return 1; } get barFragmentXAxis() { return this.parentSeries != null ? this.parentSeries.xAxis : null; } get barFragmentYAxis() { return this.parentSeries != null ? this.parentSeries.yAxis : null; } yu() { if (this.parentSeries == null) { return null; } return this.parentSeries.fetchYAxis(); } get_isVertical() { return true; } ir(a) { let b = this.dc != null ? this.dc.v5 : Rect.empty; let c = this.cw.b1; let d = this.wl(this.cw); let e = this.getEffectiveViewport1(this.cw); let f = this.yu(); let g = -1; if (f != null && !b.isEmpty && !c.isEmpty) { let h = new ScalerParams(0, b, c, f.ch, e); let i = f.eo(d.top, h); let j = f.eo(d.bottom, h); let k = (a.y - b.top) / b.height; let l = i + (k * (j - i)); if (f.categoryMode != 0) { l -= 0.5; } g = l; } return g; } zb() { if (this.parentSeries == null) { return null; } return this.parentSeries.zb(); } adi(a, b) { let c = a.left + a.width / 2; let d = a.top + a.height / 2; let e = c - (a.width / 2); let f = d - ((a.height / 2) + b); let g = a.height + b * 2; let h = a.width; return new Rect(0, e, f, h, g); } wp(a) { if (this.yu() == null) { return Rect.empty; } let b = this.v9(a); let c = this.cw.b2; let d = this.cw.b1; let e = this.getEffectiveViewport1(this.cw); let f = this.yu(); let g = new ScalerParams(0, c, d, f.ch, e); let h = this.an(this.yu(), this.yw.h, this.zx(this.cw), this.zy(this.cw), a, true); if (h == null) { return Rect.empty; } let i = h[0]; let j = h[1]; let k = Math.abs(b.y - i[0]); let l = Math.abs(b.y - j[0]); let m = f.k8(c, d, e); if (k < l) { let n = i[0] - 0.5 * m; let o = i[2]; let p = i[1]; return new Rect(0, o, n, Math.max(p, o) - Math.min(p, o), m); } else { let q = j[0] - 0.5 * m; let r = j[2]; let s = j[1]; return new Rect(0, r, q, Math.max(s, r) - Math.min(s, r), m); } } gw(a, b) { if (this.gz(a, b)) { return true; } if (this.xj(a, b)) { return true; } return false; } ac3(a, b, c, d, e, f, g, h) { let i = c[0]; let j = e < 0 ? c[2] : c[1]; let k = new Rect(0, j - 5, i - 5, 11, 11); if (!isNaN_(j) && !isNaN_(i) && !isInfinity(j) && !isInfinity(i) && d.tryAdd(k)) { b.p.add({ $type: Point_$type, x: j, y: i }); a.updateMarkerTemplate(g, f, h); return true; } return false; } kn(a) { let b = 0; if (typeCast(ISortingAxis_$type, this.barFragmentYAxis) !== null) { b = this.j5(a); if (b == -1) { return null; } } else { b = this.j3(a); } return b >= 0 && this.dp != null && b < this.dp.count ? this.dp.item(b) : null; } j5(a) { let b = this.cw.b2; let c = this.cw.b1; if (b.isEmpty || c.isEmpty) { return -1; } let d = this.getEffectiveViewport1(this.cw); let e = new ScalerParams(0, b, c, this.barFragmentYAxis.ch, d); let f = typeCast(ISortingAxis_$type, this.barFragmentYAxis); let g = this.wl(this.cw); let h = this.barFragmentYAxis.eo(g.top, e); let i = this.barFragmentYAxis.eo(g.bottom, e); let j = (a.y - b.top) / b.height; let k = h + ((i - h) * j); if (truncate(k) <= dateMinValue().getTime() || truncate(k) >= dateMaxValue().getTime()) { return -1; } let l = f.i$f(k); return l; } aba(a) { let b = 0; let c = a.b2; let d = a.b1; let e = this.getEffectiveViewport1(a); let f = new ScalerParams(0, c, d, this.barFragmentXAxis.ch, e); if (!c.isEmpty && !d.isEmpty && this.barFragmentXAxis != null) { b = this.barFragmentXAxis.el(0, f); } return b; } ra(a, b, c, d) { super.ra(a, b, c, d); if (this.parentSeries == null || this.barFragmentXAxis == null) { return; } let e = this.barFragmentXAxis; switch (b) { case "ValueColumn": if (this.aaw.dc) { this.aaw.db.g$m(); } if (e != null && !e.c1()) { this.parentSeries.aaw().c0.g(this.id); this.rs(this.gg && this.d8); } break; } } get useHighMarkerFidelity() { return this.zs; } } BarFragment.$t = /*@__PURE__*/ markType(BarFragment, 'BarFragment', ColumnFragment.$); return BarFragment; })(); /** * @hidden */ export let AreaFragmentBucketCalculator = /*@__PURE__*/ (() => { class AreaFragmentBucketCalculator extends AnchoredCategoryBucketCalculator { constructor(a) { super(a); } getBucketWithoutUnknowns(a) { return this.getBucket(a); } getBucket(a) { let b = Math.min(a * this.d, this.i.c9.valueColumn.count - 1); let c = Math.min(b + this.d - 1, this.i.c9.valueColumn.count - 1); let d = NaN; let e = NaN; let f = this.i.c9; let g = f.parentSeries; let h = typeCast(IStacked100Series_$type, g) !== null; let i = this.i.c9.valueColumn; let j = g.aat; let k = g.aau; let l = f.logicalSeriesLink.a8; let m = f.logicalSeriesLink.a7; for (let n = b; n <= c; ++n) { let o = i.item(n); if (isNaN_(o) || isInfinity(o)) { o = 0; } let p = Math.abs(k[n]) + j[n]; if (h) { if (p == 0) { o = 0; } else if (o < 0) { o = (l._inner[n] + o) / p * 100; } else { o = (m._inner[n] + o) / p * 100; } } else { o = o < 0 ? l._inner[n] + o : m._inner[n] + o; } if (!isNaN_(d)) { if (!isNaN_(o)) { d = Math.min(d, o); e = Math.max(e, o); } } else { d = o; e = o; } } if (!isNaN_(d)) { return [0.5 * (b + c), d, e]; } return [0.5 * (b + c), NaN, NaN]; } } AreaFragmentBucketCalculator.$t = /*@__PURE__*/ markType(AreaFragmentBucketCalculator, 'AreaFragmentBucketCalculator', AnchoredCategoryBucketCalculator.$); return AreaFragmentBucketCalculator; })(); /** * @hidden */ export let LineFragmentBucketCalculator = /*@__PURE__*/ (() => { class LineFragmentBucketCalculator extends AnchoredCategoryBucketCalculator { constructor(a) { super(a); } getBucketWithoutUnknowns(a) { return this.getBucket(a); } getBucket(a) { let b = Math.min(a * this.d, this.i.c9.valueColumn.count - 1); let c = Math.min(b + this.d - 1, this.i.c9.valueColumn.count - 1); let d = NaN; let e = NaN; let f = typeCast(FragmentBase.$, this.i.c9); let g = f.parentSeries; for (let h = b; h <= c; ++h) { let i = this.i.c9.valueColumn.item(h); let j = Math.abs(g.aau[h]) + g.aat[h]; if (isNaN_(i) || isInfinity(i)) { i = 0; } if (typeCast(IStacked100Series_$type, g) !== null) { if (j == 0) { i = 0; } else if (i < 0) { i = (f.logicalSeriesLink.a8._inner[h] + i) / j * 100; } else { i = (f.logicalSeriesLink.a7._inner[h] + i) / j * 100; } } else { i = i < 0 ? f.logicalSeriesLink.a8._inner[h] + i : f.logicalSeriesLink.a7._inner[h] + i; } if (!isNaN_(d)) { if (!isNaN_(i)) { d = Math.min(d, i); e = Math.max(e, i); } } else { d = i; e = i; } } if (!isNaN_(d)) { return [0.5 * (b + c), d, e]; } return [0.5 * (b + c), NaN, NaN]; } } LineFragmentBucketCalculator.$t = /*@__PURE__*/ markType(LineFragmentBucketCalculator, 'LineFragmentBucketCalculator', AnchoredCategoryBucketCalculator.$); return LineFragmentBucketCalculator; })(); /** * @hidden */ export let SplineFragmentBucketCalculator = /*@__PURE__*/ (() => { class SplineFragmentBucketCalculator extends AnchoredCategoryBucketCalculator { constructor(a) { super(a); } getBucket(a) { let b = Math.min(a * this.d, this.i.c9.valueColumn.count - 1); let c = Math.min(b + this.d - 1, this.i.c9.valueColumn.count - 1); let d = NaN; let e = NaN; let f = typeCast(SplineFragmentBase.$, this.i.c9); let g = f.parentSeries; for (let h = b; h <= c; ++h) { let i = this.i.c9.valueColumn.item(h); let j = Math.abs(g.aau[h]) + g.aat[h]; if (isNaN_(i) || isInfinity(i)) { i = 0; } if (typeCast(IStacked100Series_$type, g) !== null) { if (j == 0) { i = 0; } else if (i < 0) { i = (f.logicalSeriesLink.a8._inner[h] + i) / j * 100; } else { i = (f.logicalSeriesLink.a7._inner[h] + i) / j * 100; } } else { i = i < 0 ? f.logicalSeriesLink.a8._inner[h] + i : f.logicalSeriesLink.a7._inner[h] + i; } if (!isNaN_(d)) { if (!isNaN_(i)) { d = Math.min(d, i); e = Math.max(e, i); } } else { d = i; e = i; } } if (!isNaN_(d)) { return [0.5 * (b + c), d, e]; } return [0.5 * (b + c), NaN, NaN]; } } SplineFragmentBucketCalculator.$t = /*@__PURE__*/ markType(SplineFragmentBucketCalculator, 'SplineFragmentBucketCalculator', AnchoredCategoryBucketCalculator.$); return SplineFragmentBucketCalculator; })(); /** * @hidden */ export let StackedBucketCalculator = /*@__PURE__*/ (() => { class StackedBucketCalculator extends CategoryBucketCalculator { constructor(a) { super(a); } getBucket(a) { let b = typeCast(StackedSeriesBase.$, this.c.c2); let c = Math.min(b.aau != null ? b.aau.length : 0, b.aat != null ? b.aat.length : 0); let d = Math.min(a * this.d, c - 1); let e = Math.min(d + this.d - 1, c - 1); let f = NaN; let g = NaN; for (let h = d; h <= e; ++h) { let i = Math.min(b.aau[h], b.aat[h]); let j = Math.max(b.aau[h], b.aat[h]); if (!isNaN_(f)) { if (!isNaN_(i)) { f = Math.min(f, i); g = Math.max(g, i); } if (!isNaN_(j)) { f = Math.min(f, j); g = Math.max(g, j); } } else { f = i; g = j; } } if (!isNaN_(f) && !isNaN_(g)) { return [0.5 * (d + e), f, g]; } return [NaN, NaN, NaN]; } getBucket1(a, b, c, d, e, f) { return null; } } StackedBucketCalculator.$t = /*@__PURE__*/ markType(StackedBucketCalculator, 'StackedBucketCalculator', CategoryBucketCalculator.$); return StackedBucketCalculator; })(); /** * @hidden */ export let StackedBarBucketCalculator = /*@__PURE__*/ (() => { class StackedBarBucketCalculator extends StackedBucketCalculator { constructor(a) { super(a); } g(a) { let b = this.c.b2; let c = this.c.b1; let d = typeCast(StackedBarSeries.$, this.c.c2); let e = this.c.c2.dp; if (b.isEmpty || c.isEmpty || d.yAxis == null || e == null || e.count == 0) { this.d = 0; return; } let f = d.getEffectiveViewport1(this.c); let g = new ScalerParams(0, b, c, d.yAxis.ch, f); let h = d.wl(this.c); let i = Math.floor(d.yAxis.ep(h.top, g, 0)); let j = Math.ceil(d.yAxis.ep(h.bottom, g, 0)); if (!d.yAxis.ch) { j = Math.ceil(d.yAxis.ep(h.top, g, 0)); i = Math.floor(d.yAxis.ep(h.bottom, g, 0)); } let k = Math.floor((j - i + 1) * a / h.height); this.d = truncate(Math.max(1, k)); this.e = truncate(Math.max(0, Math.floor(i / this.d) - 1)); this.f = truncate(Math.ceil(j / this.d)); } getBucket(a) { return super.getBucket(a); } getBucket1(a, b, c, d, e, f) { let g = [NaN, NaN, NaN]; let h = typeCast(BarFragment.$, a); if (h == null || h.logicalSeriesLink == null) { return g; } let i = typeCast(StackedBarSeries.$, this.c.c2); let j = a.valueColumn.item(c); let k = 0; let l = NaN; let m = NaN; let n = Number.NEGATIVE_INFINITY; let o = Number.POSITIVE_INFINITY; let p = i.getEffectiveViewport1(this.c); let q = Math.min(i.aau != null ? i.aau.length : 0, i.aat != null ? i.aat.length : 0); let r = c * this.d; let s = Math.min(r + this.d - 1, q - 1); if (r <= s) { for (let t = r; t <= s; ++t) { j = a.valueColumn.item(t); if (j < k) { o = Math.min(o, h.logicalSeriesLink.a8._inner[t] + j); n = Math.max(n, h.logicalSeriesLink.a8._inner[t]); } else { o = Math.min(o, h.logicalSeriesLink.a7._inner[t]); n = Math.max(n, h.logicalSeriesLink.a7._inner[t] + j); } if (!isNaN_(l)) { if (!isNaN_(o)) { l = Math.min(l, o); m = Math.max(m, o); } if (!isNaN_(n)) { l = Math.min(l, n); m = Math.max(m, n); } } else { l = o; m = n; } } } let u = new ScalerParams(0, d, e, i.xAxis.ch, p); g = [f.h._inner[b - this.e][0], i.xAxis.el(m, u), i.xAxis.el(l, u)]; return g; } } StackedBarBucketCalculator.$t = /*@__PURE__*/ markType(StackedBarBucketCalculator, 'StackedBarBucketCalculator', StackedBucketCalculator.$); return StackedBarBucketCalculator; })(); /** * @hidden */ export let StackedColumnBucketCalculator = /*@__PURE__*/ (() => { class StackedColumnBucketCalculator extends StackedBucketCalculator { constructor(a) { super(a); } getBucket(a) { return super.getBucket(a); } getBucket1(a, b, c, d, e, f) { let g = [NaN, NaN, NaN]; let h = typeCast(ColumnFragment.$, a); if (h == null || h.logicalSeriesLink == null) { return g; } let i = typeCast(StackedColumnSeries.$, this.c.c2); let j = a.valueColumn.item(c); let k = 0; let l = NaN; let m = NaN; let n = Number.NEGATIVE_INFINITY; let o = Number.POSITIVE_INFINITY; let p = i.getEffectiveViewport1(this.c); let q = Math.min(i.aau != null ? i.aau.length : 0, i.aat != null ? i.aat.length : 0); let r = c * this.d; let s = Math.min(r + this.d - 1, q - 1); if (r <= s) { for (let t = r; t <= s; ++t) { j = a.valueColumn.item(t); if (j < k) { o = Math.min(o, h.logicalSeriesLink.a8._inner[t] + j); n = Math.max(n, h.logicalSeriesLink.a8._inner[t]); } else { o = Math.min(o, h.logicalSeriesLink.a7._inner[t]); n = Math.max(n, h.logicalSeriesLink.a7._inner[t] + j); } if (!isNaN_(l)) {