igniteui-react-charts
Version:
Ignite UI React charting components for building rich data visualizations using TypeScript APIs.
1,534 lines (1,533 loc) • 47.6 kB
JavaScript
/*
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-react-core";
import { ISeriesInteractionManager_$type } from "./ISeriesInteractionManager";
import { HighlightingInfo } from "igniteui-react-core";
import { Dictionary$2 } from "igniteui-react-core";
import { List$1 } from "igniteui-react-core";
import { SeriesView } from "./SeriesView";
import { ScalerParams } from "./ScalerParams";
import { GeometryUtil } from "igniteui-react-core";
import { PolygonUtil } from "igniteui-react-core";
import { RectUtil } from "igniteui-react-core";
import { BrushUtil } from "igniteui-react-core";
import { Color } from "igniteui-react-core";
import { truncate, isNaN_ } from "igniteui-react-core";
import { boxArray$1 } from "igniteui-react-core";
import { stringIsNullOrEmpty } from "igniteui-react-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.is(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.fu) {
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.wc(f);
let k = -1;
let l = b.ch;
let m = a.cw.b9.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.kb(f, g);
let r = a.j9(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.he;
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.is(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.he;
let k = a.kc(c, i, d, g, b);
let l = a.ka(c, i, d, g, b);
let m = a.iq(c, k, d, e, f);
let n = a.iq(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.iw(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.ig / 2 + a.iv(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.ig / 2 + a.iv(c))) {
return true;
}
if (GeometryUtil.d(b, g[0], h[0], a.ig / 2 + a.iv(c))) {
return true;
}
if (GeometryUtil.d(b, g[1], h[1], a.ig / 2 + a.iv(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.iv(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.he;
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.is(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.fu) {
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.cw.ca;
let e = a.cw.b9;
if (d.isEmpty || e.isEmpty || c == null) {
return -1;
}
let f = a.getEffectiveViewport1(a.cw);
let g = null;
if (c.cn) {
g = c;
}
let h = new ScalerParams(0, d, e, c.ch, f);
if (a.dc == null) {
return -1;
}
h.c = a.getEffectiveViewport1(a.cw);
let i = a.wo(a.cw);
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.wc(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.wt(b);
if (d.isEmpty) {
return false;
}
let e = RectUtil.r(d, a.iv(c));
return e.containsPoint(b);
}
a$au(a, b, c, d, e, f, g, h, i, j) {
if (f == null || g == null || a.cw == null || a.cw.ca.isEmpty || a.cw.b9.isEmpty) {
return { $type: Point_$type, x: NaN, y: NaN };
}
let k = a.getEffectiveViewport1(a.cw);
let l = new ScalerParams(0, a.cw.ca, a.cw.b9, f.ch, k);
if (f.cp) {
l.b = a.iz();
}
l.c = a.getEffectiveViewport1(a.cw);
let m = a.cw;
let n = a.wo(m);
let o;
if (g.cp) {
o = b.y;
o = n.top + n.height * (o - m.ca.top) / m.ca.height;
}
else {
o = b.x;
o = n.left + n.width * (o - m.ca.left) / m.ca.width;
}
if (!c && g != null) {
let p;
let q;
if (i != null) {
p = i(b, d);
}
else {
p = a.kb(b, d);
}
if (j != null) {
q = j(b, d);
}
else {
q = a.j9(b, d);
}
if (p == -1 && q == -1) {
return { $type: Point_$type, x: NaN, y: NaN };
}
let r = new ScalerParams(0, m.ca, m.b9, g.ch, k);
r.c = a.dc.wx;
let s = a.iq(b, p, g, r, e);
let t = a.iq(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.ca, m.b9, 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.i6(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.dc.dp.startHighlight(d._inner[0]);
a.dc.dp.startHighlight(d._inner[1]);
if (a.gf) {
a.pw();
}
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.dp.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.dp.count - 1;
c.b = false;
b.add(c);
this.p = b;
a.dc.dp.startHighlight(b._inner[0]);
a.dc.dp.startHighlight(b._inner[1]);
if (a.gf) {
a.pw();
}
this.y(a);
}
}
a$ao(a) {
if (this.c) {
this.c = false;
let b = this.p;
this.p = null;
a.dc.dp.endHighlight(b._inner[0]);
a.dc.dp.endHighlight(b._inner[1]);
if (a.gf) {
a.pw();
}
this.y(a);
}
}
a$an(a, b, c) {
if (this.o.containsKey(b)) {
let d = this.o.item(b);
this.o.removeItem(b);
a.dc.dp.endHighlight(d._inner[0]);
a.dc.dp.endHighlight(d._inner[1]);
if (a.gf) {
a.pw();
}
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.dc.dm.startHighlight(d._inner[0]);
a.dc.dm.startHighlight(d._inner[1]);
if (a.gf) {
a.pw();
}
this.x(a);
}
}
a$am(a, b, c) {
if (this.n.containsKey(b)) {
let d = this.n.item(b);
this.n.removeItem(b);
a.dc.dm.endHighlight(d._inner[0]);
a.dc.dm.endHighlight(d._inner[1]);
if (a.gf) {
a.pw();
}
this.x(a);
}
}
a$ab(a, b, c, d, e, f, g, h, i) {
if (d) {
return;
}
if (a.dc.fr() && !f) {
return;
}
if (a.by == 1) {
return;
}
if (a.dc == null) {
return;
}
let j = a.dc.bw;
let k = j == 2 || j == 3 || j == 4;
let l = j == 2 || j == 4;
if (!g) {
if (k) {
e = false;
}
}
if ((a.ef && a.el) || g) {
l = false;
}
if (j == 2) {
h = false;
}
if (j == 3) {
h = true;
}
let m = null;
let n = null;
let o = a.dc.dn;
let p = a.dc.de;
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.el && k && l && !h);
let t = !s && (e || (k && a.el) || (!a.el && k && !l) || (!a.el && k && l && h));
if (q && this.a != null) {
m = this.a;
}
else {
m = a.dh(b, c, g);
if (this.a != null && this.a != m) {
if (a.dc != null) {
o.endHighlight(this.a);
}
}
this.a = m;
}
if (a.hasMarkers) {
if (s && this.b != null) {
n = this.b;
}
else {
n = a.di(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.dc != null) {
let b = a.dc.de;
if (!b.f() && b.r > 0) {
b.v();
}
if (b.r == 0) {
let c = a.dc.gi(1);
while (c) {
c = a.dc.gi(0);
c = a.dc.gi(1);
}
}
}
}
y(a) {
if (a.dc != null) {
let b = a.dc.dg;
if (!b.f() && b.r > 0) {
b.v();
}
if (b.r == 0) {
let c = a.dc.gj(1);
while (c) {
c = a.dc.gj(0);
c = a.dc.gj(1);
}
}
}
}
x(a) {
if (a.dc != null) {
let b = a.dc.dd;
if (!b.f() && b.r > 0) {
b.v();
}
if (b.r == 0) {
let c = a.dc.gh(1);
while (c) {
c = a.dc.gh(0);
c = a.dc.gh(1);
}
}
}
}
a$k(a, b, c, d, e, f, g, h, i, j, k, l, m) {
if (a.by != 5 && a.by != 4 && a.cq != 3 && a.cp != 3) {
return e;
}
else if (a.by == 5 || a.by == 4 || a.cq == 3 || a.cp == 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.by != 4 && a.by != 5) {
q = 0;
n = 0;
}
if (a.cq != 3) {
r = 0;
o = 0;
}
if (a.cp != 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.cq == 7 || a.cp == 7 || a.cq == 8 || a.cp == 8 || a.cq == 5 || a.cp == 5 || a.cq == 6 || a.cp == 6)) {
let m = 0;
let n = 0;
let o = 0;
if (c != null) {
n = c.e;
}
if (d != null) {
o = d.e;
}
if (a.cq != 7 && a.cq != 8 && a.cq != 5 && a.cq != 6) {
n = 0;
}
if (a.cp != 7 && a.cp != 8 && a.cp != 5 && a.cp != 6) {
o = 0;
}
let p = a.vo;
if (this.j(a.cq, l)) {
p = a.vm;
}
if (this.j(a.cp, l)) {
p = a.vm;
}
let q = Math.max(m, Math.max(o, n));
k = this.ab(a, k, p, q);
}
if (!l && (a.cq == 10 || a.cp == 9 || a.cq == 9 || a.cp == 10)) {
let r = 0;
let s = 0;
let t = 0;
if (c != null) {
s = c.e;
}
if (d != null) {
t = d.e;
}
if (a.cq != 10 && a.cq != 9) {
s = 0;
}
if (a.cp != 10 && a.cp != 9) {
t = 0;
}
let u = a.vo;
if (this.j(a.cq, l)) {
u = a.vm;
}
if (this.j(a.cp, l)) {
u = a.vm;
}
let v = Math.max(r, Math.max(t, s));
k = this.ab(a, k, u, v);
}
if ((a.cq == 4 || a.cp == 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.cq != 4) {
aa = 0;
x = 0;
}
if (a.cp != 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.v(k);
k = this.ab(a, k, ae, ad);
}
if (a.by == 3 || a.by == 2 || a.cq == 2 || a.cp == 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.by != 3 && a.by != 2) {
af = 0;
}
if (a.cq != 2) {
ag = 0;
}
if (a.cp != 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.cq == 7 || a.cp == 7 || a.cq == 5 || a.cp == 5 || a.cp == 11 || a.cq == 11) {
let f = 0;
let g = 0;
let h = 0;
if (c != null) {
g = c.e;
}
if (d != null) {
h = d.e;
}
if (a.cq != 7 && a.cq != 5 && a.cq != 11) {
g = 0;
}
if (a.cp != 7 && a.cp != 5 && a.cp != 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.o(a, b);
}
ab(a, b, c, d) {
if (a != null && a.actualLayers != null && a.actualLayers.count > 0) {
c = a.v5(c);
}
let e = BrushUtil.n(b, d, c, 0);
return e;
}
a$ae(a, b, c, d, e) {
let f = a.cw;
f.ay();
this.a$e = true;
let g = a.ky(c, b);
this.a$s = g;
if (!e && a.dc != null && !a.a1.c) {
this.z(a, b, g, d);
}
this.d = false;
if (a.gi && g == null) {
this.d = true;
}
if (a.dc != null && !this.d) {
if (a.gi) {
this.e = true;
}
this.a$ab(a, g, a.wm(b), e, true, false, false, a == a.dc.br, false);
a.dc.qe(a, g, d, b);
}
}
a$ar(a, b) {
let c = null;
let d = null;
let e;
let f = ((() => { let g = a.dc.dc.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.dc != null) {
a.dc.r1(b);
}
return;
}
c = e;
if (a.dc != null) {
a.dc.r1(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.ky(c, b);
if (!e) {
this.z(a, b, f, d);
}
if (f != null) {
this.a$s = f;
}
if (a.dc != null && f != null && this.d) {
this.d = false;
this.e = true;
this.a$ab(a, f, a.wm(b), e, true, false, false, a == a.dc.br, false);
a.dc.qe(a, f, d, b);
}
if (a.dc != null && (!a.gi || f != null) && !this.d) {
this.a$ab(a, f, a.wm(b), e, true, false, false, a == a.dc.br, false);
a.dc.qi(a, f, d, b);
}
if (f == null && !this.d && a.gi) {
this.a$ab(a, f, a.wm(b), e, false, true, false, a == a.dc.br, false);
a.dc.qf(a, this.a$s, d, b);
this.e = false;
this.d = true;
}
}
a$af(a, b, c, d, e) {
a.cw.az();
this.a$e = false;
let f = this.a$s;
a.cw.a1();
if (a.dc != null && (this.e || !a.gi)) {
this.e = false;
this.d = false;
this.a$ab(a, f, a.wm(b), e, false, true, false, a == a.dc.br, false);
a.dc.qf(a, f, d, b);
}
}
a$ac(a, b, c, d) {
this.k = true;
if (a.dc != null) {
a.dc.qg(a, a.ky(c, b), d, b);
}
}
a$ag(a, b, c, d) {
this.k = false;
if (a.dc != null) {
a.dc.qh(a, a.ky(c, b), d, b);
}
}
a$ad(a, b, c, d) {
if (a.cw.v) {
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.dc != null) {
a.dc.qj(a, a.ky(c, b), d, b);
}
}
a$aj(a, b, c, d) {
if (a.dc != null) {
a.dc.qk(a, a.ky(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.dc != null) {
e = a.dc.e9;
}
if (e) {
return;
}
if (a.dc == null || a.dc.ex) {
return;
}
this.l = true;
this.ac = b;
this.u = c;
a.cw.d.item = c;
a.cw.d.itemLabel = a.kq(c);
let f = a.dc.wm();
let pos_ = { $type: Point_$type, x: b.x + 15 + f.x, y: b.y + 15 + f.y };
let context_ = a.cw.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.dc.mv);
a.dc.np(this._toolTipObject);
this._toolTipObject.hide();
}
if (this.f) {
a.dc.np(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.cw.b9.left, y: b.y + a.cw.b9.top };
let e = a.ky(null, d);
if (a.cw.d != null) {
a.cw.d.series = a;
a.cw.d.item = e;
}
let tooltip_ = this._toolTipObject;
let context_ = a.cw.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.dc.mv);
}
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.dc != null && a.dc.dc != null && a.dc.dc.j != null ? a.dc.dc.j.ae : null;
c.startCSSQuery();
b.colorString = c.getCssDefaultPropertyValue("ui-chart-pointer-tooltip", "background-color");
c.endCSSQuery();
if (!this.i(a.vi, b)) {
return a.vi._fill;
}
if (!this.i(a.ve, b)) {
return a.ve._fill;
}
return null;
}
a$aa(a) {
if (this._toolTipObject != null && this.l) {
this.l = false;
let context_ = a.cw.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("margin", "0px");
this._toolTipObject.setStyleProperty("padding", "0px");
this._toolTipObject.setStyleProperty("z-index", "10000");
this._toolTipObject.setStyleProperty("pointer-events", "none");
this._toolTipObject.setStyleProperty("border-style", "initial");
let d = a.vi != null && Color.e(toNullable(Color.$, a.vi.color), toNullable(Color.$, null)) && a.vi.color.l > 0;
if (d) {
this._toolTipObject.setStyleProperty("border-color", a.vi._fill);
}
}
else {
if (!this.f && c != null) {
a.dc.rp(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.cu();
f.t = true;
f.s = true;
if (a.dc != null) {
f.a = a.dc.ak;
a.dc.ak.o(f);
}
f.a4();
f.al = d;
this.m.item(d, f);
}
f.ad = e;
f.b9 = b;
f.b8 = c;
}
a$al(a, b, c) {
let d;
let e = c;
if (e == null) {
e = a.dc;
}
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 = /*@__PURE__*/ markType(SeriesInteractionManager, 'SeriesInteractionManager', Base.$, [ISeriesInteractionManager_$type]);
return SeriesInteractionManager;
})();