UNPKG

igniteui-react-charts

Version:

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

526 lines (525 loc) 20.2 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 { __extends, __values } from "tslib"; import { Base, fromEnum, Number_$type, Point_$type, markType } from "igniteui-react-core"; import { PointCollection } from "igniteui-react-core"; import { List$1 } from "igniteui-react-core"; import { PathGeometry } from "igniteui-react-core"; import { PolyLineSegment } from "igniteui-react-core"; import { PathFigure } from "igniteui-react-core"; import { PathFigureCollection } from "igniteui-react-core"; import { FastFlattener } from "igniteui-react-core"; import { ArrayAccessHelper } from "igniteui-react-core"; import { isNaN_ } from "igniteui-react-core"; /** * @hidden */ var CategoryLineRasterizer = /** @class */ /*@__PURE__*/ (function (_super) { __extends(CategoryLineRasterizer, _super); function CategoryLineRasterizer() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.a = false; _this.n = new PointCollection(0); return _this; } Object.defineProperty(CategoryLineRasterizer.prototype, "o", { get: function () { return this.n; }, set: function (a) { this.n = a; }, enumerable: false, configurable: true }); CategoryLineRasterizer.prototype.m = function (a, b, c, d, e, f, g, h, i, j) { var k = new PathGeometry(); var l = new PathGeometry(); var m = new PathGeometry(); a.an = k; b.an = l; c.an = m; k.c = new PathFigureCollection(); l.c = new PathFigureCollection(); m.c = new PathFigureCollection(); var n = new List$1(PolyLineSegment.$, 0); var o = new List$1(PolyLineSegment.$, 0); var p = new List$1(PolyLineSegment.$, 0); var q = new List$1(PolyLineSegment.$, 0); if (g == 0 || g == 1) { var r = g == 1 ? h : null; var s = 0; for (var t = 0; t < d; t++) { if (isNaN_(e._inner[t][1])) { var u = t - s; var v = (g == 0 && u > 0) || (g == 1 && u > 1); if (v) { if (g == 1 || n.count == 0) { var w = new PolyLineSegment(); var x = new PolyLineSegment(); var y = new PolyLineSegment(); var z = new PolyLineSegment(); n.add(w); o.add(x); p.add(y); q.add(z); } this.l(n._inner[n.count - 1]._points, o._inner[o.count - 1]._points, p._inner[p.count - 1]._points, q._inner[q.count - 1]._points, s, t - 1, e, f, r, i, j); } s = t + 1; } } if (g == 1 || n.count == 0) { var aa = new PolyLineSegment(); var ab = new PolyLineSegment(); var ac = new PolyLineSegment(); var ad = new PolyLineSegment(); n.add(aa); o.add(ad); p.add(ab); q.add(ac); } this.l(n._inner[n.count - 1]._points, o._inner[o.count - 1]._points, p._inner[p.count - 1]._points, q._inner[q.count - 1]._points, s, d - 1, e, f, r, i, j); if (r == null && n.count == 1 && h != null) { this.d(n._inner[0], h); if (o.count == 1) { this.d(o._inner[0], h); } } } else { n.add(new PolyLineSegment()); o.add(new PolyLineSegment()); p.add(new PolyLineSegment()); q.add(new PolyLineSegment()); this.k(n._inner[0]._points, o._inner[0]._points, p._inner[0]._points, q._inner[0]._points, d, e, f, h, i, j); } var _loop_1 = function (ae) { var e_1, _a; var af = n._inner[ae]; var ag = o._inner[ae]; var ah = p._inner[ae]; var ai = q._inner[ae]; if (af._points.count > 0) { var aj = ((function () { var $ret = new PathFigure(); $ret.startPoint = af._points._inner[0]; return $ret; })()); aj._segments.add(af); k.c.add(aj); } if (ag._points.count > 0) { var ak = ((function () { var $ret = new PathFigure(); $ret.startPoint = ag._points._inner[0]; return $ret; })()); ak._segments.add(ag); m.c.add(ak); } if (ah._points.count > 0 && ai._points.count > 0) { var al_1 = new PolyLineSegment(); if (h != null) { var am = h.f; h.f = true; h.i = al_1._points; h.k(ah._points, false); h.k(ai._points, true); h.i = null; h.f = am; } else { try { for (var _b = (e_1 = void 0, __values(fromEnum(ah._points))), _c = _b.next(); !_c.done; _c = _b.next()) { var an = _c.value; al_1._points.add(an); } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (_c && !_c.done && (_a = _b.return)) _a.call(_b); } finally { if (e_1) throw e_1.error; } } for (var ao = ai._points.count - 1; ao >= 0; ao--) { al_1._points.add(ai._points._inner[ao]); } } if (al_1._points.count > 0) { var ap = ((function () { var $ret = new PathFigure(); $ret.startPoint = al_1._points._inner[0]; return $ret; })()); ap._segments.add(al_1); l.c.add(ap); } } }; for (var ae = 0; ae < n.count; ae++) { _loop_1(ae); } }; CategoryLineRasterizer.prototype.d = function (a, b) { var c = a._points; a._points = new PointCollection(0); b.i = a._points; b.k(c, false); b.i = null; }; CategoryLineRasterizer.prototype.k = function (a, b, c, d, e, f, g, h, i, j) { this.l(a, b, c, d, 0, e - 1, f, g, h, i, j); }; CategoryLineRasterizer.prototype.e = function (a, b, c, d, e, f, g) { var h = FastFlattener.a(new List$1(Number_$type, 0), d, e, f, b, c, g); var i = ArrayAccessHelper.c(h); var j = ArrayAccessHelper.a(d); var k = i != null; var l = j != null; var m = 0; var n = h.count; var o; var p; var q; if (e) { for (var r = 0; r < n; r++) { m = k ? i[r] : h.item(r); o = l ? j[m] : d._inner[m]; p = o[0]; q = o[1]; var s = { $type: Point_$type, x: p, y: q }; a.add(s); } } else if (f) { for (var t = 0; t < n; t++) { m = k ? i[t] : h.item(t); o = l ? j[m] : d._inner[m]; p = o[0]; q = o[2]; var u = { $type: Point_$type, x: p, y: q }; a.add(u); } } else { for (var v = 0; v < n; v++) { m = k ? i[v] : h.item(v); o = l ? j[m] : d._inner[m]; p = o[2]; q = o[3]; var w = { $type: Point_$type, x: p, y: q }; a.add(w); } } }; CategoryLineRasterizer.prototype.b = function (a, b, c, d) { c.i = a; c.k(b, false); c.i = null; }; CategoryLineRasterizer.prototype.c = function (a, b, c, d, e) { var f = c.f; c.f = e; this.b(a, b, c, d); c.f = f; }; CategoryLineRasterizer.prototype.l = function (a, b, c, d, e, f, g, h, i, j, k) { if (f > -1) { if (j == 1 && !this.a) { var l = new PointCollection(0); this.e(l, e, f, g, true, h, k); if (i != null) { this.b(a, l, i, k); } else { this.f(a, l); } } else { var m = new PointCollection(0); var n = new PointCollection(0); this.e(m, e, f, g, true, h, k); this.e(n, e, f, g, false, h, k); this.f(c, m); this.f(d, n); if (i != null) { this.b(a, m, i, k); this.b(b, n, i, k); } else { this.f(a, m); this.f(b, n); } } } }; CategoryLineRasterizer.prototype.i = function (a, b, c, d, e, f, g, h, i, j, k) { this.j(a, b, c, d, e, f, g, h, i, j, k, null); }; CategoryLineRasterizer.prototype.j = function (a, b, c, d, e, f, g, h, i, j, k, l) { var m = new PathGeometry(); var n = new PathGeometry(); var o = new PathGeometry(); var p = new PathGeometry(); a.an = m; b.an = n; c.an = o; d.an = p; m.c = new PathFigureCollection(); n.c = new PathFigureCollection(); o.c = new PathFigureCollection(); p.c = new PathFigureCollection(); var q = new List$1(PolyLineSegment.$, 0); var r = new List$1(PolyLineSegment.$, 0); var s = new List$1(PolyLineSegment.$, 0); var t = new List$1(PolyLineSegment.$, 0); if (k == 0 || k == 1) { var u = k == 1 ? l : null; var v = 0; for (var w = 0; w < e; w++) { if (isNaN_(f._inner[w][1])) { var x = w - v; var y = (k == 0 && x > 0) || (k == 1 && x > 1); if (y) { if (k == 1 || r.count == 0) { var z = new PolyLineSegment(); var aa = new PolyLineSegment(); var ab = new PolyLineSegment(); var ac = new PolyLineSegment(); q.add(z); r.add(aa); s.add(ab); t.add(ac); } var ad = void 0; var ae = void 0; var af = void 0; var ag = void 0; if (l != null && k == 1) { ad = new PointCollection(0); ae = new PointCollection(0); af = new PointCollection(0); ag = new PointCollection(0); } else { ad = q._inner[q.count - 1]._points; ae = r._inner[r.count - 1]._points; af = s._inner[s.count - 1]._points; ag = t._inner[t.count - 1]._points; } this.g(ad, ae, af, ag, v, w - 1, f, g, null, h, i); if (k == 1) { j(ad, ae, af, ag, false); if (l != null) { this.c(q._inner[q.count - 1]._points, ad, l, i, true); this.c(r._inner[r.count - 1]._points, ae, l, i, false); this.c(s._inner[s.count - 1]._points, af, l, i, true); this.c(t._inner[t.count - 1]._points, ag, l, i, false); } } } v = w + 1; } } if (k == 1 || r.count == 0) { var ah = new PolyLineSegment(); var ai = new PolyLineSegment(); var aj = new PolyLineSegment(); var ak = new PolyLineSegment(); q.add(ah); r.add(ai); s.add(aj); t.add(ak); } var al = void 0; var am = void 0; var an = void 0; var ao = void 0; if (l != null) { al = new PointCollection(0); this.f(al, q._inner[q.count - 1]._points); am = new PointCollection(0); this.f(am, r._inner[r.count - 1]._points); an = new PointCollection(0); this.f(an, s._inner[s.count - 1]._points); ao = new PointCollection(0); this.f(ao, t._inner[t.count - 1]._points); q._inner[q.count - 1]._points.clear(); r._inner[r.count - 1]._points.clear(); s._inner[s.count - 1]._points.clear(); t._inner[t.count - 1]._points.clear(); } else { al = q._inner[q.count - 1]._points; am = r._inner[r.count - 1]._points; an = s._inner[s.count - 1]._points; ao = t._inner[t.count - 1]._points; } this.g(al, am, an, ao, v, e - 1, f, g, null, h, i); j(al, am, an, ao, true); if (l != null) { this.c(q._inner[q.count - 1]._points, al, l, i, true); this.c(r._inner[r.count - 1]._points, am, l, i, false); this.c(s._inner[s.count - 1]._points, an, l, i, true); this.c(t._inner[t.count - 1]._points, ao, l, i, false); } } else { q.add(new PolyLineSegment()); r.add(new PolyLineSegment()); s.add(new PolyLineSegment()); t.add(new PolyLineSegment()); this.h(q._inner[0]._points, r._inner[0]._points, s._inner[0]._points, t._inner[0]._points, 0, e - 1, f, g, h, i); j(q._inner[0]._points, r._inner[0]._points, s._inner[0]._points, t._inner[0]._points, true); } var _loop_2 = function (ap) { var aq = q._inner[ap]; var ar = r._inner[ap]; var as = s._inner[ap]; var at = t._inner[ap]; if (aq._points.count > 0) { var au = ((function () { var $ret = new PathFigure(); $ret.startPoint = aq._points._inner[0]; return $ret; })()); au._segments.add(aq); m.c.add(au); } if (ar._points.count > 0) { var av = ((function () { var $ret = new PathFigure(); $ret.startPoint = ar._points._inner[0]; return $ret; })()); av._segments.add(ar); n.c.add(av); } if (as._points.count > 0) { var aw = ((function () { var $ret = new PathFigure(); $ret.startPoint = as._points._inner[0]; return $ret; })()); aw._segments.add(as); o.c.add(aw); } if (at._points.count > 0) { var ax = ((function () { var $ret = new PathFigure(); $ret.startPoint = at._points._inner[0]; return $ret; })()); ax._segments.add(at); p.c.add(ax); } }; for (var ap = 0; ap < r.count; ap++) { _loop_2(ap); } }; CategoryLineRasterizer.prototype.h = function (a, b, c, d, e, f, g, h, i, j) { this.g(a, b, c, d, e, f, g, h, null, i, j); }; CategoryLineRasterizer.prototype.g = function (a, b, c, d, e, f, g, h, i, j, k) { this.o.clear(); if (j == 1 && !this.a) { var l = FastFlattener.a(new List$1(Number_$type, 0), g, true, h, e, f, k); var m = l.count; var n = 0; var o = void 0; var p = void 0; var q = void 0; var r = new PointCollection(0); for (var s = 0; s < m; s++) { n = l.item(s); o = g._inner[n]; p = o[0]; q = o[1]; r.add({ $type: Point_$type, x: p, y: q }); } if (i != null) { this.c(a, r, i, k, true); this.c(d, r, i, k, false); this.c(this.o, r, i, k, false); } else { this.f(a, r); this.f(d, r); this.f(this.o, r); } } else { var t = FastFlattener.a(new List$1(Number_$type, 0), g, true, h, e, f, k); var u = FastFlattener.a(new List$1(Number_$type, 0), g, false, h, e, f, k); var v = t.count; var w = u.count; var x = 0; var y = void 0; var z = void 0; var aa = void 0; var ab = new PointCollection(0); var ac = new PointCollection(0); for (var ad = 0; ad < v; ad++) { x = t.item(ad); y = g._inner[x]; z = y[0]; aa = y[1]; ab.add({ $type: Point_$type, x: z, y: aa }); ac.add({ $type: Point_$type, x: z, y: aa }); } var ae = new PointCollection(0); var af = void 0; var ag = void 0; for (var ah = w - 1; ah >= 0; ah--) { x = u.item(ah); y = g._inner[x]; if (h) { af = y[0]; ag = y[2]; } else { af = y[2]; ag = y[3]; } ae.add({ $type: Point_$type, x: af, y: ag }); ac.add({ $type: Point_$type, x: af, y: ag }); } if (i != null) { this.c(a, ab, i, k, true); this.c(b, ab, i, k, false); this.c(d, ae, i, k, false); this.c(c, ac, i, k, true); this.c(this.o, ab, i, k, false); } else { this.f(a, ab); this.f(b, ab); this.f(d, ae); this.f(c, ac); this.f(this.o, ab); } } }; CategoryLineRasterizer.prototype.f = function (a, b) { var c = b.count; for (var d = 0; d < c; d++) { a.add(b._inner[d]); } }; CategoryLineRasterizer.$t = markType(CategoryLineRasterizer, 'CategoryLineRasterizer'); return CategoryLineRasterizer; }(Base)); export { CategoryLineRasterizer };