UNPKG

igniteui-react-charts

Version:

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

266 lines (265 loc) 9.63 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 { ScatterBase } from "./ScatterBase"; import { UnknownValuePlotting_$type } from "igniteui-react-core"; import { DependencyProperty } from "igniteui-react-core"; import { Point_$type, typeCast, runOn, Number_$type, enumGetBox, markType, markDep } from "igniteui-react-core"; import { OwnedPoint } from "./OwnedPoint"; import { ScatterFrame } from "./ScatterFrame"; import { ScatterLineSeriesView } from "./ScatterLineSeriesView"; import { Defaults } from "./Defaults"; import { PathGeometry } from "igniteui-react-core"; import { Rect } from "igniteui-react-core"; import { ScalerParams } from "./ScalerParams"; import { Clipper } from "igniteui-react-core"; import { List$1 } from "igniteui-react-core"; import { RectUtil } from "igniteui-react-core"; import { PolyLineSegment } from "igniteui-react-core"; import { PathFigure } from "igniteui-react-core"; import { PathFigureCollection } from "igniteui-react-core"; import { Flattener } from "igniteui-react-core"; import { PropertyMetadata } from "igniteui-react-core"; import { boxArray$1, arrayShallowClone } from "igniteui-react-core"; import { isNaN_ } from "igniteui-react-core"; /** * @hidden */ export let ScatterLineSeries = /*@__PURE__*/ (() => { class ScatterLineSeries extends ScatterBase { bk() { return new ScatterLineSeries(); } get_fl() { return true; } constructor() { super(); this.ab = ScatterLineSeries.$; this.y7 = new ScatterFrame(); this.y9 = new ScatterFrame(); this.y5 = new ScatterFrame(); let a = (b, c, d) => { let e = this.dp.indexOf(b.a); if (e == -1 || e == 0) { return b; } let f = this.dp.item(e - 1); let g; if (!((() => { let h = c.g.tryGetValue(f, g); g = h.p1; return h.ret; })())) { return b; } return g; }; this.y7.p = a; this.y9.p = a; this.y5.p = a; } ct() { return new ScatterLineSeriesView(this); } z1() { return true; } jl() { if (!isNaN_(this.jk)) { return super.jl(); } return Defaults.ak; } gx(a, b) { if (this.xm(a, b)) { return true; } if (this.act(a, b)) { return true; } return false; } act(a, b) { let c = this.cw; let d = c.dz; return this.gy(a, b, d.an); } abk(a, b) { super.abk(a, b); a.n.clear(); a.v.clear(); let c = b.ca; let d = b.b9; let e = this.getEffectiveViewport1(b); let f = this.ie * this.ie; let g = 0; if (this.zm != null) { g = this.zm.count; } if (this.zn != null) { g = Math.min(this.zn.count, g); } let h = new ScalerParams(0, c, d, this.y1.d, e); let i = ((() => { let $ret = new ScalerParams(0, c, d, this.y1.e, e); $ret.b = this.iz(); return $ret; })()); let j = arrayShallowClone(this.zm.asArray()); let k = arrayShallowClone(this.zn.asArray()); this.xAxis.hq(boxArray$1(j), 0, j.length, h); this.yAxis.hq(boxArray$1(k), 0, k.length, i); let l = d.top - 10; let m = d.bottom + 10; let n = d.left - 10; let o = d.right + 10; let p = ((() => { let $ret = new Clipper(1, n, m, o, l, false); $ret.i = a.n; return $ret; })()); for (let q = 0; q < g;) { let r = q; ++q; if (g > this.aae) { while (q < g) { let s = j[q] - j[r]; let t = k[q] - k[r]; let u = s * s + t * t; if (isNaN_(u) || u >= f) { break; } ++q; } p.j(this.ac0(j, k, r, q - 1)); } else { let v = new OwnedPoint(); v.c = { $type: Point_$type, x: j[r], y: k[r] }; v.a = this.dp.item(r); if (!a.v.containsKey(v.a)) { a.v.addItem(v.a, v); } } } if (g > this.aae) { p.i = null; } } ac0(a, b, c, d) { if (c == d) { return { $type: Point_$type, x: a[c], y: b[c] }; } let e = 0; let f = 0; let g = (d - c + 1); for (let h = c; h <= d; ++h) { e += a[h]; f += b[h]; } return { $type: Point_$type, x: e / g, y: f / g }; } get_zv() { return true; } abv(a, b) { b.dm(false); super.abv(a, b); let c = this.getEffectiveViewport1(b); let d = new Rect(0, b.b9.left, b.b9.top, b.b9.width, b.b9.height); d = RectUtil.t(d, this.ig, this.ig); this.abo(a, new Clipper(0, d, false)); let e = typeCast(ScatterLineSeriesView.$, b); this.ze.az(this, this.z0(), runOn(this, this.yu)); let f = false; let g = this.ze.b; if (g != null) { f = true; } if (f) { this.abg(-1, this.zm.count, b.t); } this.ze.ad(e.dz, true, false, true, false); this.acy(e.dz, a.n.count, (h) => a.n._inner[h].x, (h) => a.n._inner[h].y, this.acs, this.ie); } acy(a, b, c, d, e, f) { let g = new PathGeometry(); a.an = g; g.c = new PathFigureCollection(); let h = new List$1(PolyLineSegment.$, 0); let i = 0; for (let j = 0; j < b; j++) { if (isNaN_(c(j)) || isNaN_(d(j))) { let k = j - i; if (k > 0) { if (e == 1 || h.count == 0) { let l = new PolyLineSegment(); h.add(l); } this.acx(h._inner[h.count - 1]._points, i, j - 1, c, d, f); } i = j + 1; } } if (e == 1 || h.count == 0) { let m = new PolyLineSegment(); h.add(m); } this.acx(h._inner[h.count - 1]._points, i, b - 1, c, d, f); for (let n = 0; n < h.count; n++) { let o = h._inner[n]; if (o._points.count > 0) { let p = ((() => { let $ret = new PathFigure(); $ret.startPoint = o._points._inner[0]; return $ret; })()); p._segments.add(o); g.c.add(p); } } } acu(a, b, c, d, e, f) { let g = new List$1(Number_$type, 0); let h = d; let i = e; let j = i - h + 1; while (j > 0) { if (j <= 512) { Flattener.c(g, b, c, h, i, f); h = i + 1; } else { let k = h + 512 - 1; Flattener.c(g, b, c, h, k, f); h = k + 1; } j = i - h + 1; } return g; } acx(a, b, c, d, e, f) { if (c > -1) { let g = !isNaN_(this.jk) ? f : 1; let h = this.acu(new List$1(Number_$type, 0), d, e, b, c, g); let i; for (let j = 0; j < h.count; j++) { i = h.item(j); a.add({ $type: Point_$type, x: d(i), y: e(i) }); } } } rc(a, b, c, d) { super.rc(a, b, c, d); switch (b) { case ScatterLineSeries.$$p[0]: this.ru(false); this.qn(); break; } } } ScatterLineSeries.$t = /*@__PURE__*/ markType(ScatterLineSeries, 'ScatterLineSeries', ScatterBase.$); ScatterLineSeries.$$p = /*@__PURE__*/ markDep(DependencyProperty, PropertyMetadata, ScatterLineSeries, 'raisePropertyChanged', ['UnknownValuePlotting:acs:acz', [UnknownValuePlotting_$type, /*@__PURE__*/ enumGetBox(UnknownValuePlotting_$type, 1)]]); return ScatterLineSeries; })();