UNPKG

igniteui-react-charts

Version:

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

608 lines (607 loc) 19.6 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 { AnnotationLayer } from "./AnnotationLayer"; import { Axis } from "./Axis"; import { DependencyProperty } from "igniteui-react-core"; import { CategoryTooltipLayerPosition_$type } from "./CategoryTooltipLayerPosition"; import { Brush } from "igniteui-react-core"; import { Series } from "./Series"; import { CategoryToolTipLayerFrame } from "./CategoryToolTipLayerFrame"; import { Base, enumGetBox, typeCast, fromEnum, Point_$type, markType, markDep, String_$type } from "igniteui-react-core"; import { CategoryTooltipSeriesInfo } from "./CategoryTooltipSeriesInfo"; import { XamDataChart } from "./XamDataChart"; import { List$1 } from "igniteui-react-core"; import { DataContext } from "igniteui-react-core"; import { Size } from "igniteui-react-core"; import { DeviceUtils } from "igniteui-react-core"; import { PropertyMetadata } from "igniteui-react-core"; import { isNaN_ } from "igniteui-react-core"; import { AnnotationLayerView } from "./AnnotationLayerView"; import { PointerTooltip } from "./PointerTooltip"; import { PointerTooltipStyle } from "./PointerTooltipStyle"; import { PointerTooltipUtils } from "./PointerTooltipUtils"; /** * @hidden */ var CategoryToolTipLayer = /** @class */ /*@__PURE__*/ (function (_super) { __extends(CategoryToolTipLayer, _super); function CategoryToolTipLayer() { var _this = _super.call(this) || this; var a = new CategoryToolTipLayerFrame(); var b = new CategoryToolTipLayerFrame(); var c = new CategoryToolTipLayerFrame(); _this.xn = a; _this.xm = b; _this.xo = c; _this.ab = CategoryToolTipLayer.$; return _this; } CategoryToolTipLayer.prototype.bk = function () { return new CategoryToolTipLayer(); }; CategoryToolTipLayer.prototype.get_et = function () { return true; }; CategoryToolTipLayer.prototype.ct = function () { return new CategoryToolTipLayerView(this); }; CategoryToolTipLayer.prototype.q8 = function (a) { _super.prototype.q8.call(this, a); this.aai = a; }; CategoryToolTipLayer.prototype.get_e4 = function () { return true; }; CategoryToolTipLayer.prototype.rh = function (a, b, c, d) { _super.prototype.rh.call(this, a, b, c, d); switch (b) { case CategoryToolTipLayer.$$p[0]: this.rz(true); break; case CategoryToolTipLayer.$$p[5]: this.rz(true); break; case CategoryToolTipLayer.$$p[4]: this.rz(true); break; case "SeriesViewer": this.aai.cy(); break; case CategoryToolTipLayer.$$p[1]: case CategoryToolTipLayer.$$p[2]: case CategoryToolTipLayer.$$p[3]: this.rz(true); break; } }; CategoryToolTipLayer.prototype.y1 = function (a, b) { if (this.aag == a) { if (!this.a1.c) { this.rz(b); } } }; CategoryToolTipLayer.prototype.y2 = function (a, b) { if (!this.a1.c) { this.rz(b); } }; CategoryToolTipLayer.prototype.y4 = function (a, b) { var e_1, _a, e_2, _b; _super.prototype.y4.call(this, a, b); var c = a; var d = this.aak; c.l = NaN; c.k = NaN; c.g = NaN; c.h = NaN; c.k = NaN; c.l = NaN; if (isNaN_(this.aad.x) && isNaN_(this.aad.y)) { this.aai.cw(this.aai.ct()); return; } if (this.aag != null) { var e = this.aag; if (e == null || !e.c8 || e.c5) { return; } if (!e.dp()) { return; } var f = e; var g = this.aaj(f.eh, d); this.aat(g, c, d); } else { if (typeCast(XamDataChart.$, this.dc) !== null) { var h = this.dc; var i = true; var j = false; var k = new List$1(Series.$, 0); try { for (var _c = __values(fromEnum(h.axes)), _d = _c.next(); !_d.done; _d = _c.next()) { var l = _d.value; if (l.c8 && !l.c5) { if (!l.dp()) { continue; } if (i) { i = false; j = l.dq; } else { if (l.dq != j) { continue; } } try { for (var _e = (e_2 = void 0, __values(fromEnum(l.eh))), _f = _e.next(); !_f.done; _f = _e.next()) { var m = _f.value; k.add(m); } } catch (e_2_1) { e_2 = { error: e_2_1 }; } finally { try { if (_f && !_f.done && (_b = _e.return)) _b.call(_e); } finally { if (e_2) throw e_2.error; } } } } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (_d && !_d.done && (_a = _c.return)) _a.call(_c); } finally { if (e_1) throw e_1.error; } } var n = this.aaj(k, d); this.aat(n, c, d); } } }; CategoryToolTipLayer.prototype.aaj = function (a, b) { var c = 1.7976931348623157E+308; var d = -1.7976931348623157E+308; var e = new List$1(DataContext.$, 0); var f = new List$1(Base.$, 0); var g = false; var h = true; for (var i = 0; i < a.count; i++) { var j = a.item(i); if (!j.e8 && !j.e0) { continue; } if (j.isStacked) { continue; } var k = j; if (!k.categoryAxis.dp()) { continue; } if (h) { g = j.isVertical; } else { if (g != j.isVertical) { continue; } } var l = this.yx(j); if (!l.c) { continue; } var m = j.wn(l.d, b, false); if (g) { if (!isNaN_(m.y)) { c = Math.min(c, m.y); d = Math.max(d, m.y); } } else { if (!isNaN_(m.x)) { c = Math.min(c, m.x); d = Math.max(d, m.x); } } var n = this.aam(j); if (n == null) { continue; } var o = null; var p = j.kr(this.aad); if (j.e5 && p != null) { o = j.a3(p); } else { o = new DataContext(); o.item = p; o.series = j; } e.add(o); f.add1(n); } var q = 0; var r = 0; if (g) { r = (c + d) / 2; q = this.w3.right; if (this.aah == 2 || this.aah == 1) { q = this.w3.left; } if (r < 0 || r > this.w3.bottom) { r = NaN; } } else { q = (c + d) / 2; r = this.w3.top; if (this.aah == 2 || this.aah == 1) { r = this.w3.bottom; } if (q < 0 || q > this.w3.right) { q = NaN; } } var s = new CategoryTooltipSeriesInfo(); s.c = { $type: Point_$type, x: q, y: r }; s.a = e; s.b = f; return s; }; CategoryToolTipLayer.prototype.qd = function () { this.aad = { $type: Point_$type, x: NaN, y: NaN }; this.cw.a1(); }; CategoryToolTipLayer.prototype.aat = function (a, b, c) { var d = a.c; var e = a.a; var f = a.b; d = this.aai.cz(d); var g = 0; var h = this.cw.b9; var i = this.aai.ct(); this.aai.cv(); var j = false; if (e.count == 0) { this.cw.a1(); return; } var k = false; for (var l = 0; l < e.count; l++) { var m = e._inner[l].series; j = m.isVertical; var n = e._inner[l]; var o = f._inner[l]; if (this.aai.cq(m, o, n)) { k = true; } g++; } if (!k) { this.aai.cw(i); return; } var p = this.aai.c0(i); var q = 0; var r = 0; var s = 0; var t = 0; var u = false; var v = false; var w = this.aah; if (w == 2 || w == 3) { v = true; } if (w == 2 || w == 1) { u = true; } var x = this.aai.c1(); if (j) { if (!u && !v && d.x + (p.width + DeviceUtils.g(10)) > x.width) { v = true; } if (u && !v && d.x - (p.width + DeviceUtils.g(10)) < 0) { v = true; } } else { if (!u && !v && d.y - (p.height + 10) < 0) { v = true; } if (u && !v && d.y + (p.height + 10) > x.height) { v = true; } } var y = DeviceUtils.g(10); var z = DeviceUtils.g(5); if (!u) { if (!j) { z = p.height + y; } if (v) { if (j) { z = z + p.width + y; } else { z = 0; } } } else { if (j) { z = p.width + y; if (v) { z = 0; } } else { z = DeviceUtils.g(5); if (v) { z = z + p.height + y; } } } if (j) { r = 0 - (y + DeviceUtils.g(5)); if (u) { r = (r * -1) + p.width; } q = p.height / 2; t = d.y - p.height / 2; s = d.x - z; } else { q = p.height + DeviceUtils.g(10) + DeviceUtils.g(5); if (u) { q = 0 - (y + DeviceUtils.g(5)); } r = p.width / 2; s = d.x - p.width / 2; t = d.y - z; } if (j) { if (t < 0) { q -= 0 - t; t = 0; } if (t + p.height > x.height) { q += (t + p.height) - x.height; t = x.height - p.height; } } else { if (s < 0) { r -= 0 - s; s = 0; } if (s + p.width > x.width) { r += (s + p.width) - x.width; s = x.width - p.width; } } b.k = s; b.l = t; b.g = r; b.h = q; b.j = p.width; b.i = p.height; }; CategoryToolTipLayer.prototype.aam = function (a) { return a.toolTip; }; CategoryToolTipLayer.prototype.y7 = function (a, b) { _super.prototype.y7.call(this, a, b); var c = a; var d = b.b9.left; var e = b.b9.right; var f = b.b9.top; var g = b.b9.bottom; var h = this.aai.ct(); if (isNaN_(c.k) || isNaN_(c.l) || isNaN_(c.g) || isNaN_(c.h)) { this.aai.cw(h); return; } var i = c.k; var j = c.l; var k = c.g; var l = c.h; if (h != null) { this.aai.cx(h, i, j, k, l); } }; CategoryToolTipLayer.prototype.gb = function () { return true; }; CategoryToolTipLayer.$t = markType(CategoryToolTipLayer, 'CategoryToolTipLayer', AnnotationLayer.$); CategoryToolTipLayer.$$p = markDep(DependencyProperty, PropertyMetadata, CategoryToolTipLayer, 'raisePropertyChanged', ['TargetAxis:aag:aau', [Axis.$, null], 'ToolTipBackground:aa0:aav', [Brush.$, null], 'ToolTipBorderBrush:aa1:aaw', [Brush.$, null], 'ToolTipBorderThickness:aal:aax', [1, NaN], 'ToolTipPosition:aah:aay', [CategoryTooltipLayerPosition_$type, enumGetBox(CategoryTooltipLayerPosition_$type, 0)], 'UseInterpolation:aak:aaz', [0, false]]); return CategoryToolTipLayer; }(AnnotationLayer)); export { CategoryToolTipLayer }; /** * @hidden */ var CategoryToolTipLayerView = /** @class */ /*@__PURE__*/ (function (_super) { __extends(CategoryToolTipLayerView, _super); function CategoryToolTipLayerView(a) { var _this = _super.call(this, a) || this; _this.cn = null; _this.co = null; _this._tooltips = null; _this.cr = null; _this.cp = false; _this._htmlTest = null; _this.cn = a; _this.htmlTest = /^[^<]*(<[\w\W]+>)[^>]*$/; return _this; } CategoryToolTipLayerView.prototype.ct = function () { if (this.co == null) { this.co = new PointerTooltip(); this.co.bw(this.f.j3); this.co.ap = this.f.dc.dp.k; this._tooltips = this.f.j3.createElement("div"); this.cr = this.f.j3.createElement("div"); this.co._visibility = 0; } return this.co; }; CategoryToolTipLayerView.prototype.a4 = function () { _super.prototype.a4.call(this); if (this.co != null) { this.co._visibility = 1; } }; CategoryToolTipLayerView.prototype.as = function () { _super.prototype.as.call(this); if (this.co != null) { this.co.br(); this.co = null; } }; Object.defineProperty(CategoryToolTipLayerView.prototype, "htmlTest", { get: function () { return this._htmlTest; }, set: function (a) { this._htmlTest = a; }, enumerable: false, configurable: true }); CategoryToolTipLayerView.prototype.cq = function (a, b, c) { if (a.k6 == "default") { a.k6 = a.cw.getDefaultTooltipTemplate(); } var template_ = a.k6; var context_ = c; if (a.toolTip == null) { return false; } var tooltip_ = a.toolTip; if ((tooltip_.updateToolTip)) { tooltip_._inPointer = true; tooltip_.updateToolTip(context_, true); tooltip_.setStyleProperty('position', 'relative'); tooltip_.setStyleProperty('left', ''); tooltip_.setStyleProperty('top', ''); tooltip_.remove(); } this._tooltips.append(a.toolTip); return true; }; CategoryToolTipLayerView.prototype.c0 = function (a) { var b = a; b.content = this._tooltips; var c = new Size(1, Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY); b.cy = 1; var d = b.cx(new Size(1, Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY)); b.cy = 0; return d; }; CategoryToolTipLayerView.prototype.cz = function (a) { var b = 0; var c = 0; if (this.f.dc != null) { var d = this.f.dc.xg(); b += d.x; c += d.y; } return { $type: Point_$type, x: b + a.x, y: c + a.y }; }; CategoryToolTipLayerView.prototype.cx = function (a, b, c, d, e) { var f = a; var g = f.content; f.cs = { $type: Point_$type, x: d, y: e }; f._visibility = 0; f.n = b; f.o = c; }; CategoryToolTipLayerView.prototype.c1 = function () { var a = (window.innerWidth); var b = (window.innerHeight); return new Size(1, a, b); }; CategoryToolTipLayerView.prototype.cw = function (a) { this._tooltips.removeChildren(); this.cr.removeChildren(); this.co._visibility = 1; }; CategoryToolTipLayerView.prototype.cv = function () { if (this._tooltips != null) { this._tooltips.removeChildren(); } }; CategoryToolTipLayerView.prototype.cy = function () { }; CategoryToolTipLayerView.prototype.bj = function (a, b) { _super.prototype.bj.call(this, a, b); if (b) { return; } var c = new PointerTooltipStyle(); if (this.f.dc != null && this.f.dc.dp != null && this.f.dc.dp.j != null) { var d = this.f.dc.dp.j.i(); c = new PointerTooltipStyle(); PointerTooltipUtils.a(d, c, this.cn.aa0, this.cn.aa1, this.cn.aal); } var e = 0; var f = 0; var g = this.f.dc; if (g != null) { var h = g.dp.j.b8(); e += h.x; f += h.y; } if (this.co != null) { this.co.aq = c; this.co.by(this.co.n, this.co.o); } }; CategoryToolTipLayerView.prototype.ax = function (a) { _super.prototype.ax.call(this, a); var b = this.co; var c = 0; var d = 0; if (this.f.dc != null) { var e = this.f.dc.xg(); c += e.x; d += e.y; } var f = b.a5(); var g = b.n - c; var h = b.o - d; var i = new List$1(String_$type, 0); var j = this._tooltips.getChildCount(); for (var k = 0; k < j; k++) { var indexliteral_ = k.toString(); var l = this._tooltips.getChildAt(k).getText(); var m = l.toString(); i.add(m); } this.f.bc.addPointerTooltipData(a, f, g, h, i); }; CategoryToolTipLayerView.$t = markType(CategoryToolTipLayerView, 'CategoryToolTipLayerView', AnnotationLayerView.$); return CategoryToolTipLayerView; }(AnnotationLayerView)); export { CategoryToolTipLayerView };