UNPKG

igniteui-react-charts

Version:

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

797 lines (796 loc) 27.3 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 } from "tslib"; import { CategoryBucketCalculator } from "./CategoryBucketCalculator"; import { markType, runOn, delegateCombine, typeCast, markDep, Point_$type } from "igniteui-react-core"; import { isNaN_, truncate, isInfinity } from "igniteui-react-core"; import { CategorySeries } from "./CategorySeries"; import { IIsCategoryBased_$type } from "./IIsCategoryBased"; import { IHasHighLowValueCategory_$type } from "./IHasHighLowValueCategory"; import { RangeCategoryFramePreparer } from "./RangeCategoryFramePreparer"; import { DependencyProperty } from "igniteui-react-core"; import { Series } from "./Series"; import { ICategoryScaler_$type } from "./ICategoryScaler"; import { IScaler_$type } from "./IScaler"; import { CategorySeriesView } from "./CategorySeriesView"; import { CategoryFrame } from "./CategoryFrame"; import { ISupportsMarkers_$type } from "./ISupportsMarkers"; import { SeriesLayerPropertyOverlay } from "./SeriesLayerPropertyOverlay"; import { CategoryMarkerManager } from "./CategoryMarkerManager"; import { AxisRange } from "./AxisRange"; import { Rect } from "igniteui-react-core"; import { CategoryAxisBase } from "./CategoryAxisBase"; import { ScalerParams } from "./ScalerParams"; import { ISortingAxis_$type } from "./ISortingAxis"; import { IFastItemsSource_$type } from "igniteui-react-core"; import { CollisionAvoider } from "./CollisionAvoider"; import { ChartSelection } from "./ChartSelection"; import { PropertyMetadata } from "igniteui-react-core"; import { FastFlattener } from "igniteui-react-core"; /** * @hidden */ var RangeCategoryBucketCalculator = /** @class */ /*@__PURE__*/ (function (_super) { __extends(RangeCategoryBucketCalculator, _super); function RangeCategoryBucketCalculator(a) { var _this = _super.call(this, a) || this; _this.j = null; _this.l = 0; _this.k = 0; _this.i = null; _this.h = null; _this.j = a; return _this; } RangeCategoryBucketCalculator.prototype.getBucketWithoutUnknowns = function (a) { var b = false; var c = this.i; var d = this.h; var e = this.l; var f = this.k; var g = Math.min(e, f); var h = a * this.d; var i = Math.min(h + this.d - 1, g - 1); var j = 1.7976931348623157E+308; var k = -1.7976931348623157E+308; var l = true; var m = 0; var n = 0; var o; var p; if (h <= i) { for (var q = h; q <= i; ++q) { m = c[q]; n = d[q]; if (m < n) { o = m; p = n; } else { p = m; o = n; } if (!l) { j = j < o ? j : o; k = k > o ? k : o; j = j < p ? j : p; k = k > p ? k : p; } else { j = Math.min(j, o); k = Math.max(k, o); k = Math.max(k, p); j = Math.min(j, p); l = false; } } } if (b && n < m) { var r = j; j = k; k = r; } if (!l) { var s = new Array(3); s[0] = 0.5 * (h + i); s[1] = j; s[2] = k; return s; } var t = new Array(3); t[0] = NaN; t[1] = NaN; t[2] = NaN; return t; }; RangeCategoryBucketCalculator.prototype.getBucket = function (a) { var b = false; var c = this.i; var d = this.h; var e = this.l; var f = this.k; var g = Math.min(e, f); var h = a * this.d; var i = Math.min(h + this.d - 1, g - 1); var j = NaN; var k = NaN; var l = true; var m = 0; var n = 0; var o; var p; if (h <= i) { for (var q = h; q <= i; ++q) { m = c[q]; n = d[q]; if (m < n) { o = m; p = n; } else { p = m; o = n; } if (!l) { if (!isNaN_(o)) { j = j < o ? j : o; k = k > o ? k : o; } if (!isNaN_(p)) { j = j < p ? j : p; k = k > p ? k : p; } } else { if (!isNaN_(o)) { if (isNaN_(j)) { j = o; } else { j = Math.min(j, o); } if (!isNaN_(k)) { k = Math.max(k, o); } } if (!isNaN_(p)) { if (isNaN_(k)) { k = p; } else { k = Math.max(k, p); } if (!isNaN_(j)) { j = Math.min(j, p); } } if (!isNaN_(j) && !isNaN_(k)) { l = false; } } } } if (n < m && b) { var r = j; j = k; k = r; } if (!l) { var s = new Array(3); s[0] = 0.5 * (h + i); s[1] = j; s[2] = k; return s; } var t = new Array(3); t[0] = NaN; t[1] = NaN; t[2] = NaN; return t; }; RangeCategoryBucketCalculator.prototype.cacheValues = function () { this.l = this.j.di.lowColumn.count; this.k = this.j.di.highColumn.count; this.i = this.j.di.lowColumn.asArray(); this.h = this.j.di.highColumn.asArray(); }; RangeCategoryBucketCalculator.prototype.unCacheValues = function () { this.i = null; this.h = null; }; RangeCategoryBucketCalculator.$t = markType(RangeCategoryBucketCalculator, 'RangeCategoryBucketCalculator', CategoryBucketCalculator.$); return RangeCategoryBucketCalculator; }(CategoryBucketCalculator)); export { RangeCategoryBucketCalculator }; /** * @hidden */ var RangeCategorySeries = /** @class */ /*@__PURE__*/ (function (_super) { __extends(RangeCategorySeries, _super); function RangeCategorySeries() { var _this = _super.call(this) || this; _this._RangeFramePreparer = null; _this.abp = null; _this.abo = null; _this.abk = null; _this.RangeFramePreparer = _this.abl(_this.abn, _this, _this, _this.abn.c9); return _this; } RangeCategorySeries.prototype.ct = function () { return new RangeCategorySeriesView(this); }; RangeCategorySeries.prototype.getHostReferenceValue = function () { return this.i7(); }; RangeCategorySeries.prototype.rj = function (a) { _super.prototype.rj.call(this, a); this.abn = a; }; Object.defineProperty(RangeCategorySeries.prototype, "RangeFramePreparer", { get: function () { return this._RangeFramePreparer; }, set: function (a) { this._RangeFramePreparer = a; }, enumerable: false, configurable: true }); RangeCategorySeries.prototype.abl = function (a, b, c, d) { return new RangeCategoryFramePreparer(1, this, a, b, c, d); }; RangeCategorySeries.prototype.gj = function () { return this.highlightedItemsSource != null || (this.abv != null && this.abt != null); }; RangeCategorySeries.prototype.h1 = function () { var a = _super.prototype.h1.call(this); { var b = ((function () { var $ret = new SeriesLayerPropertyOverlay(); $ret.ad = "HighMemberPath"; $ret.p = true; $ret.y = "HighlightedHighMemberPath"; $ret.q = true; return $ret; })()); b.valueResolving = delegateCombine(b.valueResolving, runOn(this, this.ab2)); a.add(b); } { var c = ((function () { var $ret = new SeriesLayerPropertyOverlay(); $ret.ad = "LowMemberPath"; $ret.p = true; $ret.y = "HighlightedLowMemberPath"; $ret.q = true; return $ret; })()); c.valueResolving = delegateCombine(c.valueResolving, runOn(this, this.ab3)); a.add(c); } return a; }; RangeCategorySeries.prototype.ab3 = function (a, b) { if (this.abv != null) { b.value = this.abv; return; } b.value = this.ab0; }; RangeCategorySeries.prototype.ab2 = function (a, b) { if (this.abt != null) { b.value = this.abt; return; } b.value = this.abx; }; RangeCategorySeries.prototype.k1 = function (a, b) { var c = this.nq(b); if (c == RangeCategorySeries.$$p[0]) { return this.k2(a, b, this.abx); } if (c == RangeCategorySeries.$$p[3]) { return this.k2(a, b, this.ab0); } if (c == RangeCategorySeries.$$p[2]) { return this.k2(a, b, this.abv); } if (c == RangeCategorySeries.$$p[1]) { return this.k2(a, b, this.abt); } return _super.prototype.k1.call(this, a, b); }; RangeCategorySeries.prototype.mq = function (a) { var b = this.nq(a); if (b == RangeCategorySeries.$$p[0]) { return this.abx; } if (b == RangeCategorySeries.$$p[3]) { return this.ab0; } if (b == RangeCategorySeries.$$p[2]) { return this.abv; } if (b == RangeCategorySeries.$$p[1]) { return this.abt; } return _super.prototype.mq.call(this, a); }; Object.defineProperty(RangeCategorySeries.prototype, "lowColumn", { get: function () { return this.abp; }, set: function (a) { if (this.abp != a) { var b = this.abp; this.abp = a; this.raisePropertyChanged("LowColumn", b, this.abp); } }, enumerable: false, configurable: true }); Object.defineProperty(RangeCategorySeries.prototype, "highColumn", { get: function () { return this.abo; }, set: function (a) { if (this.abo != a) { var b = this.abo; this.abo = a; this.raisePropertyChanged("HighColumn", b, this.abo); } }, enumerable: false, configurable: true }); RangeCategorySeries.prototype.zu = function () { return 11; }; RangeCategorySeries.prototype.abd = function (a, b) { _super.prototype.abd.call(this, a, b); b.ck = true; CategoryMarkerManager.e(this, a.s, b.dc, this.x5); this.aaz(b, a); }; RangeCategorySeries.prototype.ab4 = function (a, b, c, d, e, f) { this.abn.dj(a, b, c, d, e, f); }; RangeCategorySeries.prototype.az = function (a) { if (a.isEmpty && this.dc != null) { a = this.dc.yv; } var b = this.zi(); if (this.lowColumn == null || this.highColumn == null) { return null; } var c = this.w6(this.cw); var d = new ScalerParams(0, a, this.dc.zd, b.dn, this.getEffectiveViewport()); var e = (b.ga(c.left, d)); var f = (b.ga(c.right, d)); if (b.dn) { var g = e; e = f; f = g; } var h = null; if (b.dw) { h = b; e = h.i$f(e); f = h.i$f(f); } else { e = Math.floor(e); f = Math.ceil(f); } e = Math.max(0, Math.min(this.lowColumn.count - 1, e)); f = Math.max(0, Math.min(this.lowColumn.count - 1, f)); var i = 1.7976931348623157E+308; var j = -1.7976931348623157E+308; for (var k = truncate(e); k <= truncate(f); k++) { var l = k; if (h != null) { l = h.i$b._inner[k]; } var m = this.lowColumn.item(l); if (this.lowColumn.mayContainUnknowns) { if (isInfinity(m) || isNaN_(m)) { continue; } } var n = this.highColumn.item(l); if (this.highColumn.mayContainUnknowns) { if (isInfinity(n) || isNaN_(n)) { continue; } } i = Math.min(i, m); j = Math.max(j, n); } var o = new AxisRange(i, j); var p = this.zz(); o = this.ax(o, p, a); return o; }; RangeCategorySeries.prototype.gl = function (a) { var b = new Rect(0, 0, 0, 1, 1); var c = this.cw != null ? this.cw.ca : Rect.empty; c = c.copy(); var d = this.cw != null ? this.cw.b9 : Rect.empty; var e = !c.isEmpty && !d.isEmpty && this.dp != null ? this.dp.indexOf(a) : -1; var f = this.fetchXAxis(); var g = this.fetchYAxis(); var h = this.w8(this.cw); var i; if (f != null) { var j = new ScalerParams(0, b, b, f.dn, h); i = f.f7(e, j); } else { i = NaN; } var k = f != null ? this.RangeFramePreparer.r(typeCast(ICategoryScaler_$type, f), b, b, h) : 0; i += k; if (e >= 0 && Rect.l_op_Inequality(c, null) && Rect.l_op_Inequality(d, null)) { if (!isNaN_(i)) { if (i < c.left + 0.1 * c.width) { i = i + 0.4 * c.width; } if (i > c.right - 0.1 * c.width) { i = i - 0.4 * c.width; } c.x = i - 0.5 * c.width; } if (g != null && this.highColumn != null && e < this.highColumn.count) { var l = new ScalerParams(0, b, b, g.dn, h); l.b = this.i7(); var m = g.f7(this.highColumn.item(e), l); var n = g.f7(this.lowColumn.item(e), l); if (!isNaN_(m) && !isNaN_(n)) { var o = Math.abs(n - m); if (c.height < o) { c.height = o; c.y = Math.min(n, m); } else { if (n < c.top + 0.1 * c.height) { n = n + 0.4 * c.height; } if (n > c.bottom - 0.1 * c.height) { n = n - 0.4 * c.height; } c.y = n - 0.5 * c.height; } } } if (this.c4 != null) { this.c4.au(this.dc, c, true); } } return e >= 0; }; RangeCategorySeries.prototype.rs = function (a, b, c, d) { _super.prototype.rs.call(this, a, b, c, d); switch (b) { case "FastItemsSource": if (typeCast(IFastItemsSource_$type, c) != null) { c.deregisterColumn(this.lowColumn); c.deregisterColumn(this.highColumn); this.lowColumn = null; this.highColumn = null; } if (typeCast(IFastItemsSource_$type, d) != null) { this.lowColumn = this.dl(this.ab0); this.highColumn = this.dl(this.abx); } if (!this.aaf()) { this.zt.c9.g(this.im); this.sa(this.go && c != null); } break; case RangeCategorySeries.$$p[3]: if (this.dp != null) { this.dp.deregisterColumn(this.lowColumn); this.lowColumn = this.dl(this.ab0); } break; case "LowColumn": if (!this.aaf()) { this.zt.c9.g(this.im); this.sa(this.go && this.d9); } break; case RangeCategorySeries.$$p[0]: if (this.dp != null) { this.dp.deregisterColumn(this.highColumn); this.highColumn = this.dl(this.abx); } break; case "HighColumn": if (!this.aaf()) { this.zt.c9.g(this.im); this.sa(this.go && this.d9); } break; } }; RangeCategorySeries.prototype.ay = function (a) { if (this.lowColumn == null || this.lowColumn.count == 0 || this.highColumn == null || this.highColumn.count == 0) { return null; } if (a == this.fetchXAxis()) { var b = Math.min(this.lowColumn.count, this.highColumn.count); return new AxisRange(0, b - 1); } if (a == this.fetchYAxis()) { var c = Math.min(this.lowColumn.minimum, this.highColumn.minimum); var d = Math.max(this.lowColumn.maximum, this.highColumn.maximum); return new AxisRange(Math.min(c, d), Math.max(c, d)); } return null; }; RangeCategorySeries.prototype.pq = function (a, b, c, d) { if (this.fetchXAxis() != null && typeCast(ISortingAxis_$type, this.fetchXAxis()) !== null) { this.fetchXAxis().i$i(); } var e = this.fetchXAxis(); switch (a) { case 3: if (d == this.ab0 || d == this.abx) { if (e != null) { e.ee(); } if (!this.aaf()) { this.sa(true); } } break; case 1: if (e != null) { e.ee(); } this.zt.c9.g(this.im); if (!this.aaf()) { this.sa(true); } break; case 0: if (e != null) { e.ee(); } this.zt.c9.g(this.im); if (!this.aaf()) { this.sa(true); } break; case 2: if (e != null) { e.ee(); } if (this.ab0 != null && this.abx != null && this.zt.c9.d > 0 && !this.aaf()) { this.sa(true); } break; case 4: if (e != null) { e.ee(); } this.zt.c9.g(this.im); if (!this.aaf()) { this.sa(true); } break; } }; RangeCategorySeries.prototype.hm = function (a, b, c) { var d = _super.prototype.hm.call(this, a, b, c); if (this.lowColumn == null || this.lowColumn.count == 0 || this.highColumn == null || this.highColumn.count == 0) { d = false; } return d; }; RangeCategorySeries.prototype.aba = function (a, b) { _super.prototype.aba.call(this, a, b); this.RangeFramePreparer.d(a, b); }; Object.defineProperty(RangeCategorySeries.prototype, "currentCategoryMode", { get: function () { return this.preferredCategoryMode(typeCast(CategoryAxisBase.$, this.zi())); }, enumerable: false, configurable: true }); Object.defineProperty(RangeCategorySeries.prototype, "scaler", { get: function () { return typeCast(ICategoryScaler_$type, this.zi()); }, enumerable: false, configurable: true }); Object.defineProperty(RangeCategorySeries.prototype, "yScaler", { get: function () { return typeCast(IScaler_$type, this.zz()); }, enumerable: false, configurable: true }); Object.defineProperty(RangeCategorySeries.prototype, "bucketizer", { get: function () { return this.zt.c9; }, enumerable: false, configurable: true }); Object.defineProperty(RangeCategorySeries.prototype, "currentMode2Index", { get: function () { return this.aao(); }, enumerable: false, configurable: true }); RangeCategorySeries.prototype.provideCollisionDetector = function () { return new CollisionAvoider(); }; Object.defineProperty(RangeCategorySeries.prototype, "mayContainUnknowns", { get: function () { return this.lowColumn == null || this.lowColumn.mayContainUnknowns || this.highColumn == null || this.highColumn.mayContainUnknowns; }, enumerable: false, configurable: true }); RangeCategorySeries.prototype.sc = function (a, b) { var c = this.g8; _super.prototype.sc.call(this, a, b); if (!c) { this.cw.be(b); return; } this.cw.be(b); if (this.d7(this.cv)) { return; } var d = this.abl(typeCast(ISupportsMarkers_$type, this.cv), this.dc.dw.o, this, this.cv.c9); if (!this.g0) { this.zn = new CategoryFrame(3); this.zn.aa(); d.d(this.zn, this.cv); } this.g0 = false; this.abd(this.zn, this.cv); this.g8 = false; }; RangeCategorySeries.prototype.r9 = function (a, b, c, d, e) { _super.prototype.r9.call(this, a, b, c, d, e); var f = this.ba.a$k.item(d); var g = f; g.c9.g(this.im); f.bd(c); if (this.d7(g)) { return; } var h = this.abl(typeCast(ISupportsMarkers_$type, f), f, this, f.c9); if (this.abk == null) { this.abk = new CategoryFrame(3); } this.abk.aa(); h.d(this.abk, g); this.abd(this.abk, g); }; RangeCategorySeries.prototype.i7 = function () { return Series.i8(this.lowColumn, typeCast(ISortingAxis_$type, this.fetchXAxis())); }; RangeCategorySeries.prototype.aa6 = function (a, b, c, d, e, f, g) { var _this = this; if (c == -1 || d == -1) { return; } for (var h = c; h <= d; h++) { var i = this.lowColumn.item(h); var j = this.highColumn.item(h); var k = Math.min(i, j); var l = Math.max(i, j); if (k < f && e < l) { if (g == 7 || g == 6) { b.add(((function () { var $ret = new ChartSelection(); $ret.series = _this; return $ret; })())); return; } this.aax(b, h, g); } } }; RangeCategorySeries.prototype.aax = function (a, b, c) { var _this = this; if (c == 2 || c == 1) { a.add(((function () { var $ret = new ChartSelection(); $ret.item = _this.dp.item(b); return $ret; })())); } else { a.add(((function () { var $ret = new ChartSelection(); $ret.item = _this.dp.item(b); $ret.series = _this; return $ret; })())); } }; Object.defineProperty(RangeCategorySeries.prototype, "useHighMarkerFidelity", { get: function () { return this.aag; }, enumerable: false, configurable: true }); RangeCategorySeries.$t = markType(RangeCategorySeries, 'RangeCategorySeries', CategorySeries.$, [IIsCategoryBased_$type, IHasHighLowValueCategory_$type]); RangeCategorySeries.$$p = markDep(DependencyProperty, PropertyMetadata, RangeCategorySeries, 'raisePropertyChanged', ['HighMemberPath:abx:ab7', [2, null], 'HighlightedHighMemberPath:abt:ab5', [2, null], 'HighlightedLowMemberPath:abv:ab6', [2, null], 'LowMemberPath:ab0:ab8', [2, null]]); return RangeCategorySeries; }(CategorySeries)); export { RangeCategorySeries }; /** * @hidden */ var RangeCategorySeriesView = /** @class */ /*@__PURE__*/ (function (_super) { __extends(RangeCategorySeriesView, _super); function RangeCategorySeriesView(a) { var _this = _super.call(this, a) || this; _this.di = null; _this.di = a; return _this; } RangeCategorySeriesView.prototype.dj = function (a, b, c, d, e, f) { a.an.clear(); b.an.clear(); c.an.clear(); var g = FastFlattener.b(d, e, true, f, this.f.im); var h = FastFlattener.b(d, e, false, f, this.f.im); var i = g.count; var j = h.count; var k; var l; var m; var n; for (var o = 0; o < i; o++) { k = g.item(o); l = e._inner[k]; m = l[0]; n = l[1]; a.an.add({ $type: Point_$type, x: m, y: n }); b.an.add({ $type: Point_$type, x: m, y: n }); } var p; var q; for (var r = 0; r < j; r++) { k = h.item(r); l = e._inner[k]; if (f) { p = l[0]; q = l[2]; } else { p = l[2]; q = l[3]; } c.an.add({ $type: Point_$type, x: p, y: q }); b.an.add({ $type: Point_$type, x: p, y: q }); } a.ab = a.an.count > 0; b.ab = b.an.count > 0; c.ab = c.an.count > 0; }; RangeCategorySeriesView.prototype.da = function () { return new RangeCategoryBucketCalculator(this); }; RangeCategorySeriesView.$t = markType(RangeCategorySeriesView, 'RangeCategorySeriesView', CategorySeriesView.$); return RangeCategorySeriesView; }(CategorySeriesView)); export { RangeCategorySeriesView };