UNPKG

igniteui-angular-charts

Version:

Ignite UI Angular charting components for building rich data visualizations for modern web apps.

1,531 lines (1,530 loc) 48.9 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 { Base, Point_$type, Array_$type, toNullable, String_$type, fromEnum, markType } from "igniteui-angular-core"; import { ISeriesInteractionManager_$type } from "./ISeriesInteractionManager"; import { HighlightingInfo } from "igniteui-angular-core"; import { Dictionary$2 } from "igniteui-angular-core"; import { List$1 } from "igniteui-angular-core"; import { SeriesView } from "./SeriesView"; import { ScalerParams } from "./ScalerParams"; import { GeometryUtil } from "igniteui-angular-core"; import { PolygonUtil } from "igniteui-angular-core"; import { RectUtil } from "igniteui-angular-core"; import { BrushUtil } from "igniteui-angular-core"; import { Color } from "igniteui-angular-core"; import { truncate, isNaN_ } from "igniteui-angular-core"; import { boxArray$1 } from "igniteui-angular-core"; import { stringIsNullOrEmpty } from "igniteui-angular-core"; /** * @hidden */ export let SeriesInteractionManager = /*@__PURE__*/ (() => { class SeriesInteractionManager extends Base { constructor() { super(...arguments); this.a = null; this.b = null; this.o = new Dictionary$2(Base.$, List$1.$.specialize(HighlightingInfo.$), 0); this.n = new Dictionary$2(Base.$, List$1.$.specialize(HighlightingInfo.$), 0); this.c = false; this.p = null; this.a$s = null; this.a$e = false; this.k = false; this.d = false; this.e = false; this.f = true; this.g = false; this._toolTipObject = null; this.v = null; this.ac = null; this.u = null; this.l = false; this.m = new Dictionary$2(String_$type, SeriesView.$, 0); } a$m(a, b, c, d, e, f, g, h) { if (d == null) { return Number.POSITIVE_INFINITY; } if (c < 0 || c > g - 1) { return Number.POSITIVE_INFINITY; } let i; let j = NaN; let k = NaN; let l = NaN; let m = NaN; if (d.cn) { let n = d; i = h(b); let o = truncate(Math.floor(i)); let p = truncate(Math.ceil(i)); m = i - o; if (o >= 0 && o < g) { let q = n.i$d(n.i$b._inner[o]); j = d.el(q, e) + f; } else { j = NaN; } if (p >= 0 && p < g) { let r = n.i$d(n.i$b._inner[p]); k = d.el(r, e) + f; } else { k = NaN; } if (isNaN_(j) && !isNaN_(k)) { j = k; } if (isNaN_(k) && !isNaN_(j)) { k = j; } if (c >= 0 && c < g) { let s = n.i$d(n.i$b._inner[c]); l = d.el(s, e) + f; } } else { i = a.iq(b); let t = truncate(Math.floor(i)); let u = truncate(Math.ceil(i)); m = i - t; if (t >= 0 && t < g) { j = d.el(t, e) + f; } else { j = NaN; } if (u > g - 1 && a.fs) { u = 0; } if (u >= 0 && u < g) { k = d.el(u, e) + f; } else { k = NaN; } if (isNaN_(j) && !isNaN_(k)) { j = k; } if (isNaN_(k) && !isNaN_(j)) { k = j; } if (c >= 0 && c < g) { l = d.el(c, e) + f; } } let v = j + m * (k - j); return Math.abs(l - v); } a$o(a, b, c, d, e, f, g, h, i) { let j = NaN; if (d >= 0 && d < c.count) { j = c.item(d); } let k = NaN; if (e >= 0 && e < c.count) { k = c.item(e); } if (g == 0) { return k; } if (f == c.count - 1) { return j; } if (isNaN_(k) && h != 0 && b <= 0.5 && !i) { return j; } if (isNaN_(j) && h != 0 && b >= 0.5 && !i) { return k; } return j * (1 - b) + k * b; } a$b(a, b, c, d, e, f, g) { if (b == null) { return null; } let h = -1; let i = -1; let j = this.a$a(a, b, c, d, e, f, g); if (b.b9) { c = this.q(c); } if (j == null) { return null; } h = j[0]; i = j[1]; if (h < 0) { h = 0; } if (h > c.count - 1) { h = c.count - 1; } if (i < 0) { i = 0; } if (i > c.count - 1) { i = c.count - 1; } if (h < 0 || i < 0) { return null; } let k = c._inner[h]; let l = c._inner[i]; let m = new Array(2); m[0] = k; m[1] = l; return m; } a$a(a, b, c, d, e, f, g) { if (b == null) { return null; } let h = -1; let i = -1; if (b.cn || b.cl) { let j = a.v6(f); let k = -1; let l = b.ch; let m = a.cv.bx.right * 2; if (b.b9) { let n = b.d5(f); j = { $type: Point_$type, x: n, y: 0 }; c = this.q(c); } k = SeriesInteractionManager.t(c, j, l, m); if (k < 0) { k = ~k; k--; } if (k < 0) { k = 0; } if (k > c.count - 1) { k = c.count - 1; } let o = k; let p = k + 1; if (p > c.count - 1) { p = c.count - 1; } h = o; i = p; } else { let q = a.j9(f, g); let r = a.j7(f, g); let s = truncate(Math.floor(q / d)); let t = truncate(Math.floor(r / d)); h = s - e; i = t - e; if (i == h) { i++; } } return [h, i]; } q(a) { let b = NaN; let c = -1; for (let d = 0; d < a.count; d++) { let e = a._inner[d]; if (isNaN_(b)) { b = e[0]; } else { let f = e[0]; if (f < b) { c = d; break; } } } if (c == -1) { return a; } let g = new List$1(Array_$type, 0); for (let h = c; h < a.count; h++) { g.add(a._inner[h]); } for (let i = 0; i < c; i++) { g.add(a._inner[i]); } return g; } static t(a, b, c, d) { let e = 0; let f = a.count - 1; while (e <= f) { let g = (e + ((f - e) >> 1)); let h; let i = a.item(g); if (c) { h = (d - b.x) < (d - i[0]) ? -1 : ((d - b.x) > (d - i[0]) ? 1 : 0); } else { h = b.x < i[0] ? -1 : (b.x > i[0] ? 1 : 0); } if (h < 0) { f = g - 1; } else if (h > 0) { e = g + 1; } else { return g; } } return ~e; } a$r(a, b, c, d, e, f) { if (d == null) { return -1; } let g = d.cn; let h = a.hc; let i = null; if (g) { i = d; } let j = -1; let k = -1; let l = -1; if (g) { j = e(b); if (isNaN_(j)) { return -1; } k = truncate(Math.floor(j)); l = truncate(Math.ceil(j)); } else { j = a.iq(b); if (isNaN_(j)) { return -1; } k = truncate(Math.floor(j)); l = truncate(Math.ceil(j)); } if (f == null) { return -1; } if (k < 0 || k > f.count - 1) { return -1; } if (!c) { return k; } let m = NaN; if (g && !h) { if (k < i.i$b.count && i.i$b._inner[k] < f.count) { m = f.item(i.i$b._inner[k]); } } else { m = f.item(k); } while (isNaN_(m)) { k--; if (k < 0 || k > f.count - 1) { return -1; } if (g && !h) { m = f.item(i.i$b._inner[k]); } else { m = f.item(k); } } return k; } a$p(a, b, c, d, e, f, g, h, i) { if (b == null) { return NaN; } let j = a.hc; let k = a.ka(c, i, d, g, b); let l = a.j8(c, i, d, g, b); let m = a.io(c, k, d, e, f); let n = a.io(c, l, d, e, f); let o = k; let p = l; let q = d.cn; if (q && !j) { let r = d; if (k >= 0 && k < r.i$b.count) { k = r.i$b._inner[k]; } if (l >= 0 && k < r.i$b.count) { l = r.i$b._inner[l]; } } let s = m / (n + m); if (m == 0) { s = 0; } if (n == 0) { s = 1; } if (!h) { if (n <= m) { if (l >= 0 && l < b.count) { return b.item(l); } } else { if (k >= 0 && k < b.count) { return b.item(k); } } return NaN; } return a.iu(s, b, k, l, o, p, f, q); } a$f(a, b, c) { let d = a.al(b); let e = a.aj(b); if (d == null) { return false; } for (let f = 0; f < d.length; f++) { let g = d[f]; if (g == null || g.length != 2) { continue; } if (GeometryUtil.d(b, g[0], g[1], a.id / 2 + a.it(c))) { return true; } if (e != null && f < e.length) { let h = e[f]; if (h == null || h.length != 2) { continue; } if (GeometryUtil.d(b, h[0], h[1], a.id / 2 + a.it(c))) { return true; } if (GeometryUtil.d(b, g[0], h[0], a.id / 2 + a.it(c))) { return true; } if (GeometryUtil.d(b, g[1], h[1], a.id / 2 + a.it(c))) { return true; } let i = new Array(5); i[0] = h[0]; i[1] = h[1]; i[2] = g[1]; i[3] = g[0]; i[4] = h[0]; if (PolygonUtil.b(boxArray$1(i), b)) { return true; } } } return false; } a$g(a, b, c, d) { if (d == null) { return false; } for (let e = 0; e < d.c.count; e++) { let f = d.c._inner[e]; for (let g = 0; g < f._segments.count; g++) { let h = f._segments._inner[g]; if (GeometryUtil.e(b, f._startPoint, h._points, a.it(c))) { return true; } } } return false; } a$h(a, b, c) { if (c == null) { return false; } if (c.c.count > 0) { let d = c.c._inner[0]; if (d._segments.count > 0) { let e = d._segments._inner[0]; if (PolygonUtil.b(e._points, b)) { return true; } } } return false; } a$q(a, b, c, d, e, f) { let g = a.hc; let h = d.cn; let i = null; if (h) { i = d; } let j = -1; let k = -1; let l = -1; if (h) { j = e(b); if (isNaN_(j)) { return -1; } k = truncate(Math.floor(j)); l = truncate(Math.ceil(j)); } else { j = a.iq(b); if (isNaN_(j)) { return -1; } k = truncate(Math.floor(j)); l = truncate(Math.ceil(j)); } if (f == null) { return -1; } if (l < 0 || l > f.count - 1) { if (a.fs) { if (l > f.count - 1) { return 0; } } return -1; } if (!c) { return l; } let m = NaN; if (h && !g) { if (l < i.i$b.count && i.i$b._inner[l] < f.count) { m = f.item(i.i$b._inner[l]); } } else { m = f.item(l); } while (isNaN_(m)) { l++; if (l < 0 || l > f.count - 1) { return -1; } if (h && !g) { m = f.item(i.i$b._inner[l]); } else { m = f.item(l); } } return l; } a$n(a, b, c) { let d = a.cv.by; let e = a.cv.bx; if (d.isEmpty || e.isEmpty || c == null) { return -1; } let f = a.getEffectiveViewport1(a.cv); let g = null; if (c.cn) { g = c; } let h = new ScalerParams(0, d, e, c.ch, f); if (a.db == null) { return -1; } h.c = a.getEffectiveViewport1(a.cv); let i = a.wi(a.cv); let j = 0; if (c.cp) { let k = c.eo(i.top, h); let l = c.eo(i.bottom, h); let m = (b.y - d.top) / d.height; j = k + ((l - k) * m); } else { if (c.cc) { let n = c.eo(i.left, h); let o = c.eo(i.right, h); let p = (b.x - d.left) / d.width; j = n + ((o - n) * p); } else { let q = a.v6(b); j = c.eo(q.x, h); } } if (c.ce) { } let r = g.i$c(j); return r; } a$i(a, b, c) { let d = a.wn(b); if (d.isEmpty) { return false; } let e = RectUtil.r(d, a.it(c)); return e.containsPoint(b); } a$au(a, b, c, d, e, f, g, h, i, j) { if (f == null || g == null || a.cv == null || a.cv.by.isEmpty || a.cv.bx.isEmpty) { return { $type: Point_$type, x: NaN, y: NaN }; } let k = a.getEffectiveViewport1(a.cv); let l = new ScalerParams(0, a.cv.by, a.cv.bx, f.ch, k); if (f.cp) { l.b = a.ix(); } l.c = a.getEffectiveViewport1(a.cv); let m = a.cv; let n = a.wi(m); let o; if (g.cp) { o = b.y; o = n.top + n.height * (o - m.by.top) / m.by.height; } else { o = b.x; o = n.left + n.width * (o - m.by.left) / m.by.width; } if (!c && g != null) { let p; let q; if (i != null) { p = i(b, d); } else { p = a.j9(b, d); } if (j != null) { q = j(b, d); } else { q = a.j7(b, d); } if (p == -1 && q == -1) { return { $type: Point_$type, x: NaN, y: NaN }; } let r = new ScalerParams(0, m.by, m.bx, g.ch, k); r.c = a.db.v8; let s = a.io(b, p, g, r, e); let t = a.io(b, q, g, r, e); let u = q; let v = p; if (g.cn) { let w = g; if (u >= 0 && u < w.i$b.count) { u = w.i$d(w.i$b._inner[truncate(u)]); } if (v >= 0 && v < w.i$b.count) { v = w.i$d(w.i$b._inner[truncate(v)]); } } if ((t + s) != 0) { let x = t / (s + t); if (Math.abs(x - 0.5) < 1E-07) { t = s; } } if (t <= s) { o = g.el(u, r) + e; } else { o = g.el(v, r) + e; } } else { if (g.cb && !g.ce && g.categoryMode != 0) { let y = 0.5 * g.getCategorySize(m.by, m.bx, a.getEffectiveViewport1(m)); if (a.isVertical) { y = y * -1; } if (g.ch) { y = y * -1; } o -= y; o += e; } } let z; if (h != null) { z = h(b, c, d); } else { z = a.i4(b, c, d); } let aa = f.el(z, l); if (g.cp) { return { $type: Point_$type, x: aa, y: o }; } else { return { $type: Point_$type, x: o, y: aa }; } } a$y() { this.a = null; this.b = null; } get a$d() { return this.o.count > 0; } a$x(a, b, c) { if (!this.o.containsKey(b)) { let d = new List$1(HighlightingInfo.$, 0); let e = new HighlightingInfo(); e.d = true; e.i = a; e.g = c; e.f = c; e.b = false; d.add(e); e = new HighlightingInfo(); e.d = false; e.i = a; e.g = c; e.f = c; e.b = false; d.add(e); this.o.item(b, d); a.db.dm.startHighlight(d._inner[0]); a.db.dm.startHighlight(d._inner[1]); if (a.gd) { a.pt(); } this.y(a); } } a$v(a) { if (!this.c) { this.c = true; let b = new List$1(HighlightingInfo.$, 0); let c = new HighlightingInfo(); c.d = true; c.i = a; c.c = true; c.g = 0; c.f = a.dn.count - 1; c.b = false; b.add(c); c = new HighlightingInfo(); c.d = false; c.i = a; c.c = true; c.g = 0; c.f = a.dn.count - 1; c.b = false; b.add(c); this.p = b; a.db.dm.startHighlight(b._inner[0]); a.db.dm.startHighlight(b._inner[1]); if (a.gd) { a.pt(); } this.y(a); } } a$ao(a) { if (this.c) { this.c = false; let b = this.p; this.p = null; a.db.dm.endHighlight(b._inner[0]); a.db.dm.endHighlight(b._inner[1]); if (a.gd) { a.pt(); } this.y(a); } } a$an(a, b, c) { if (this.o.containsKey(b)) { let d = this.o.item(b); this.o.removeItem(b); a.db.dm.endHighlight(d._inner[0]); a.db.dm.endHighlight(d._inner[1]); if (a.gd) { a.pt(); } this.y(a); } } a$w(a, b, c) { if (!this.n.containsKey(b)) { let d = new List$1(HighlightingInfo.$, 0); let e = new HighlightingInfo(); e.d = true; e.i = a; e.g = c; e.f = c; e.b = false; d.add(e); e = new HighlightingInfo(); e.d = false; e.i = a; e.g = c; e.f = c; e.b = false; d.add(e); this.n.item(b, d); a.db.dk.startHighlight(d._inner[0]); a.db.dk.startHighlight(d._inner[1]); if (a.gd) { a.pt(); } this.x(a); } } a$am(a, b, c) { if (this.n.containsKey(b)) { let d = this.n.item(b); this.n.removeItem(b); a.db.dk.endHighlight(d._inner[0]); a.db.dk.endHighlight(d._inner[1]); if (a.gd) { a.pt(); } this.x(a); } } a$ab(a, b, c, d, e, f, g, h, i) { if (d) { return; } if (a.db.fn() && !f) { return; } if (a.bx == 1) { return; } if (a.db == null) { return; } let j = a.db.bv; let k = j == 2 || j == 3 || j == 4; let l = j == 2 || j == 4; if (!g) { if (k) { e = false; } } if ((a.ed && a.ej) || g) { l = false; } if (j == 2) { h = false; } if (j == 3) { h = true; } let m = null; let n = null; let o = a.db.dl; let p = a.db.dc; let q = (f && g) || (f && !k) || i || (l && !h); let r = !q && (g || e || (k && !l) || (k && l && h)); let s = (f && (!k || g)) || i || (!a.ej && k && l && !h); let t = !s && (e || (k && a.ej) || (!a.ej && k && !l) || (!a.ej && k && l && h)); if (q && this.a != null) { m = this.a; } else { m = a.dg(b, c, g); if (this.a != null && this.a != m) { if (a.db != null) { o.endHighlight(this.a); } } this.a = m; } if (a.hasMarkers) { if (s && this.b != null) { n = this.b; } else { n = a.dh(b, c, g); if (this.b != null && this.b != n) { o.endHighlight(this.b); } this.b = n; } } if (q) { o.endHighlight(m); } else { if (r) { if (m != null && m.c) { m.b = g || !k; } o.startHighlight(m); } } if (s) { if (n != null) { o.endHighlight(n); } } else { if (t) { if (n != null) { o.startHighlight(n); } } } this.w(a); } w(a) { if (a.db != null) { let b = a.db.dc; if (!b.f() && b.r > 0) { b.v(); } if (b.r == 0) { let c = a.db.ge(1); while (c) { c = a.db.ge(0); c = a.db.ge(1); } } } } y(a) { if (a.db != null) { let b = a.db.de; if (!b.f() && b.r > 0) { b.v(); } if (b.r == 0) { let c = a.db.gf(1); while (c) { c = a.db.gf(0); c = a.db.gf(1); } } } } x(a) { if (a.db != null) { let b = a.db.db; if (!b.f() && b.r > 0) { b.v(); } if (b.r == 0) { let c = a.db.gd(1); while (c) { c = a.db.gd(0); c = a.db.gd(1); } } } } a$k(a, b, c, d, e, f, g, h, i, j, k, l, m) { if (a.bx != 5 && a.bx != 4 && a.cp != 3 && a.co != 3) { return e; } else if (a.bx == 5 || a.bx == 4 || a.cp == 3 || a.co == 3) { let n = 0; let o = 0; let p = 0; if (b != null) { n = b.e; } if (c != null) { o = c.e; } if (d != null) { p = d.e; } if (n > 1) { n = 1; } if (o > 1) { o = 1; } if (p > 1) { p = 1; } if (f > 1) { f = 1; } if (g > 1) { g = 1; } if (h > 1) { h = 1; } if (i > 1) { i = 1; } if (j > 1) { j = 1; } if (k > 1) { k = 1; } let q = Math.max(f, g); let r = Math.max(h, i); let s = Math.max(j, k); if (a.bx != 4 && a.bx != 5) { q = 0; n = 0; } if (a.cp != 3) { r = 0; o = 0; } if (a.co != 3) { s = 0; p = 0; } let t = Math.max(q, Math.max(r, s)); n = n - t; o = o - t; p = p - t; let u = Math.max(n, Math.max(o, p)); e = l + (1 + u) * (1 - l); return e; } else { return e; } } a$at(a, b, c, d, e, f, g, h, i, j, k, l) { if (l && (a.cp == 7 || a.co == 7 || a.cp == 8 || a.co == 8 || a.cp == 5 || a.co == 5 || a.cp == 6 || a.co == 6)) { let m = 0; let n = 0; let o = 0; if (c != null) { n = c.e; } if (d != null) { o = d.e; } if (a.cp != 7 && a.cp != 8 && a.cp != 5 && a.cp != 6) { n = 0; } if (a.co != 7 && a.co != 8 && a.co != 5 && a.co != 6) { o = 0; } let p = a.vi; if (this.j(a.cp, l)) { p = a.vg; } if (this.j(a.co, l)) { p = a.vg; } let q = Math.max(m, Math.max(o, n)); k = this.ab(a, k, p, q); } if (!l && (a.cp == 10 || a.co == 9 || a.cp == 9 || a.co == 10)) { let r = 0; let s = 0; let t = 0; if (c != null) { s = c.e; } if (d != null) { t = d.e; } if (a.cp != 10 && a.cp != 9) { s = 0; } if (a.co != 10 && a.co != 9) { t = 0; } let u = a.vi; if (this.j(a.cp, l)) { u = a.vg; } if (this.j(a.co, l)) { u = a.vg; } let v = Math.max(r, Math.max(t, s)); k = this.ab(a, k, u, v); } if ((a.cp == 4 || a.co == 4)) { let w = 0; let x = 0; let y = 0; if (b != null) { w = b.e; } if (c != null) { x = c.e; } if (d != null) { y = d.e; } if (w > 1) { w = 1; } if (x > 1) { x = 1; } if (y > 1) { y = 1; } if (e > 1) { e = 1; } if (f > 1) { f = 1; } if (g > 1) { g = 1; } if (h > 1) { h = 1; } if (i > 1) { i = 1; } if (j > 1) { j = 1; } let z = Math.max(e, f); let aa = Math.max(g, h); let ab = Math.max(i, j); { z = 0; w = 0; } if (a.cp != 4) { aa = 0; x = 0; } if (a.co != 4) { ab = 0; y = 0; } let ac = Math.max(z, Math.max(aa, ab)); w = w - ac; x = x - ac; y = y - ac; let ad = Math.max(w, Math.max(x, y)); ad = Math.abs(ad); let ae = BrushUtil.t(k); k = this.ab(a, k, ae, ad); } if (a.bx == 3 || a.bx == 2 || a.cp == 2 || a.co == 2) { let af = 0; let ag = 0; let ah = 0; if (b != null) { af = b.e; } if (c != null) { ag = c.e; } if (d != null) { ah = d.e; } if (a.bx != 3 && a.bx != 2) { af = 0; } if (a.cp != 2) { ag = 0; } if (a.co != 2) { ah = 0; } let ai = Math.max(af, Math.max(ah, ag)); ai = ai * 0.5; k = this.aa(k, ai); } return k; } j(a, b) { if (b) { return a == 6 || a == 5; } return a == 9; } a$l(a, b, c, d, e) { if (a.cp == 7 || a.co == 7 || a.cp == 5 || a.co == 5 || a.co == 11 || a.cp == 11) { let f = 0; let g = 0; let h = 0; if (c != null) { g = c.e; } if (d != null) { h = d.e; } if (a.cp != 7 && a.cp != 5 && a.cp != 11) { g = 0; } if (a.co != 7 && a.co != 5 && a.co != 11) { h = 0; } let i = Math.max(f, Math.max(h, g)); let j = e * 4; if (j == 0) { j = 4; } e = e + i * (j - e); } return e; } aa(a, b) { if (a == null) { return a; } if (b == 0) { return a; } return BrushUtil.m(a, b); } ab(a, b, c, d) { if (a != null && a.actualLayers != null && a.actualLayers.count > 0) { c = a.vz(c); } let e = BrushUtil.l(b, d, c, 0); return e; } a$ae(a, b, c, d, e) { let f = a.cv; f.ao(); this.a$e = true; let g = a.kw(c, b); this.a$s = g; if (!e && a.db != null && !a.a1.c) { this.z(a, b, g, d); } this.d = false; if (a.gg && g == null) { this.d = true; } if (a.db != null && !this.d) { if (a.gg) { this.e = true; } this.a$ab(a, g, a.wg(b), e, true, false, false, a == a.db.bq, false); a.db.pv(a, g, d, b); } } a$ar(a, b) { let c = null; let d = null; let e; let f = ((() => { let g = a.db.c9.f(b, false, e, false); e = g.p2; return g.ret; })()); if (f != a) { if (this.a$e) { this.a$af(a, b, null, null, false); } if (a.db != null) { a.db.rh(b); } return; } c = e; if (a.db != null) { a.db.rh(b); } if (!this.a$e) { this.a$ae(a, b, c, d, false); } this.a$ah(a, b, c, d, false); } a$ah(a, b, c, d, e) { this.a$e = true; let f = a.kw(c, b); if (!e) { this.z(a, b, f, d); } if (f != null) { this.a$s = f; } if (a.db != null && f != null && this.d) { this.d = false; this.e = true; this.a$ab(a, f, a.wg(b), e, true, false, false, a == a.db.bq, false); a.db.pv(a, f, d, b); } if (a.db != null && (!a.gg || f != null) && !this.d) { this.a$ab(a, f, a.wg(b), e, true, false, false, a == a.db.bq, false); a.db.pz(a, f, d, b); } if (f == null && !this.d && a.gg) { this.a$ab(a, f, a.wg(b), e, false, true, false, a == a.db.bq, false); a.db.pw(a, this.a$s, d, b); this.e = false; this.d = true; } } a$af(a, b, c, d, e) { a.cv.ap(); this.a$e = false; let f = this.a$s; a.cv.ar(); if (a.db != null && (this.e || !a.gg)) { this.e = false; this.d = false; this.a$ab(a, f, a.wg(b), e, false, true, false, a == a.db.bq, false); a.db.pw(a, f, d, b); } } a$ac(a, b, c, d) { this.k = true; if (a.db != null) { a.db.px(a, a.kw(c, b), d, b); } } a$ag(a, b, c, d) { this.k = false; if (a.db != null) { a.db.py(a, a.kw(c, b), d, b); } } a$ad(a, b, c, d) { if (a.cv.s) { return; } if (this.k) { this.a$ag(a, b, c, d); } if (this.a$e) { this.a$af(a, b, c, d, false); } } a$ai(a, b, c, d) { if (a.db != null) { a.db.p0(a, a.kw(c, b), d, b); } } a$aj(a, b, c, d) { if (a.db != null) { a.db.p1(a, a.kw(c, b), d, b); } } get h() { return this.d; } set h(a) { this.d = a; } get a$c() { return this.e; } set a$c(a) { this.e = a; } z(a, b, c, d) { let e = false; if (a.db != null) { e = a.db.e5; } if (e) { return; } if (a.db == null || a.db.eu) { return; } this.l = true; this.ac = b; this.u = c; a.cv.d.item = c; a.cv.d.itemLabel = a.ko(c); let f = a.db.vx(); let pos_ = { $type: Point_$type, x: b.x + 15 + f.x, y: b.y + 15 + f.y }; let context_ = a.cv.d; let g = false; if (this._toolTipObject != null) { g = (this._toolTipObject._inPointer); this._toolTipObject._inPointer = false; } if (this._toolTipObject != null) { if (this.g || g) { this.g = false; this._toolTipObject.remove(); this._toolTipObject.setStyleProperty("position", "absolute"); this._toolTipObject.addClass(a.db.md); a.db.m7(this._toolTipObject); this._toolTipObject.hide(); } if (this.f) { a.db.m7(this._toolTipObject); this.f = false; } context_.hideOthers = true; if ((this._toolTipObject.updateToolTip && !this._toolTipObject.updateToolTip(context_))) { this.a$aa(a); } let h = window.pageXOffset; let i = window.pageYOffset; let j = document.documentElement.clientWidth; let k = document.documentElement.clientHeight; let l = this._toolTipObject.outerWidthWithMargin(); let m = this._toolTipObject.outerHeightWithMargin(); let n = pos_.x; let o = pos_.y; let p = 5; let q = 30; if (l + n - h + p > j) { pos_.x -= q; pos_.x -= l; } if (m + o - i + p > k) { pos_.y -= q; pos_.y -= m; } this._toolTipObject.setOffset(pos_.x, pos_.y); } } a$aq(a, b, c) { this.l = true; let d = { $type: Point_$type, x: b.x + a.cv.bx.left, y: b.y + a.cv.bx.top }; let e = a.kw(null, d); if (a.cv.d != null) { a.cv.d.series = a; a.cv.d.item = e; } let tooltip_ = this._toolTipObject; let context_ = a.cv.d; let f = false; if (this._toolTipObject != null) { f = (this._toolTipObject._inPointer); this._toolTipObject._inPointer = false; } if (context_ != null) { context_.hideOthers = false; } if ((!this.g || f) && tooltip_ != null) { this.g = true; tooltip_.remove(); tooltip_.setStyleProperty("position", "relative"); tooltip_.setStyleProperty("top", ""); tooltip_.setStyleProperty("left", ""); tooltip_.removeClass(a.db.md); } if (this._toolTipObject != null) { if (tooltip_.updateToolTip) { tooltip_.updateToolTip(context_); } ; } if (tooltip_ != null) { c(tooltip_); } } a$t(a) { let b = "<div class='ui-chart-default-tooltip-content'><span"; let c = this.a$u(a); if (!stringIsNullOrEmpty(c)) { b += " style='color:" + c + "'"; } b += ">" + a.title + "</span></div>"; return b; } i(a, b) { let c = a != null && Color.e(toNullable(Color.$, a.color), toNullable(Color.$, null)); c = c && a.color.l > 0; c = c && Color.d(a.color, b); return !c; } a$u(a) { let b = new Color(); let c = a != null && a.db != null && a.db.c9 != null && a.db.c9.j != null ? a.db.c9.j.ae : null; c.startCSSQuery(); b.colorString = c.getCssDefaultPropertyValue("ui-chart-pointer-tooltip", "background-color"); c.endCSSQuery(); if (!this.i(a.vc, b)) { return a.vc._fill; } if (!this.i(a.u8, b)) { return a.u8._fill; } return null; } a$aa(a) { if (this._toolTipObject != null && this.l) { this.l = false; let context_ = a.cv.d; if (this._toolTipObject.hideToolTip) { this._toolTipObject.hideToolTip(context_); } ; } } a$as(a, b) { let c = this._toolTipObject; this.v = null; this._toolTipObject = null; if (typeof b === 'string') { this.v = b; } else { this._toolTipObject = b; if (this._toolTipObject != null) { this._toolTipObject.setStyleProperty("position", "absolute"); this._toolTipObject.setStyleProperty("top", "0px"); this._toolTipObject.setStyleProperty("left", "0px"); this._toolTipObject.setStyleProperty("z-index", "10000"); this._toolTipObject.setStyleProperty("pointer-events", "none"); let d = a.vc != null && Color.e(toNullable(Color.$, a.vc.color), toNullable(Color.$, null)) && a.vc.color.l > 0; if (d) { this._toolTipObject.setStyleProperty("border-color", a.vc._fill); } } else { if (!this.f && c != null) { a.db.q6(c); this.f = true; } } } } a$ap(a) { } get a$j() { return this.m; } a$z(a, b, c, d, e) { let f; if (!((() => { let g = this.m.tryGetValue(d, f); f = g.p1; return g.ret; })())) { f = a.ct(); f.q = true; f.p = true; if (a.db != null) { f.a = a.db.ak; a.db.ak.o(f); } f.au(); f.ad = d; this.m.item(d, f); } f.v = e; f.bx = b; f.bw = c; } a$al(a, b, c) { let d; let e = c; if (e == null) { e = a.db; } if (((() => { let f = this.m.tryGetValue(b, d); d = f.p1; return f.ret; })())) { if (e != null) { d.a = null; e.ak.u(d); } this.m.removeItem(b); } } a$ak(a, b) { let c = new List$1(String_$type, 0); for (let d of fromEnum(this.m.keys)) { c.add(d); } for (let e = 0; e < c.count; e++) { this.a$al(a, c._inner[e], b); } } } SeriesInteractionManager.$t = markType(SeriesInteractionManager, 'SeriesInteractionManager', Base.$, [ISeriesInteractionManager_$type]); return SeriesInteractionManager; })();