igniteui-react-charts
Version:
Ignite UI React charting components for building rich data visualizations using TypeScript APIs.
1,529 lines (1,528 loc) • 71.2 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 { __extends, __values } from "tslib";
import { AnnotationLayer } from "./AnnotationLayer";
import { Axis } from "./Axis";
import { DependencyProperty } from "igniteui-react-core";
import { DataToolTipLayerGroupingMode_$type } from "igniteui-react-core";
import { Series } from "./Series";
import { Rect } from "igniteui-react-core";
import { Base, enumGetBox, EnumUtil, fromEnum, typeCast, String_$type, typeGetValue, Point_$type, Array_$type, markType, markDep, runOn, TypeRegistrar } from "igniteui-react-core";
import { Size } from "igniteui-react-core";
import { RectUtil } from "igniteui-react-core";
import { DataTooltipGroupedPositionX_$type } from "igniteui-react-core";
import { DataTooltipGroupedPositionY_$type } from "igniteui-react-core";
import { DataAbbreviationMode_$type } from "igniteui-react-core";
import { DataLegendValueMode_$type } from "igniteui-react-core";
import { Thickness } from "igniteui-react-core";
import { Brush } from "igniteui-react-core";
import { DataLegendHeaderDateMode_$type } from "igniteui-react-core";
import { DataLegendHeaderTimeMode_$type } from "igniteui-react-core";
import { DataLegendSummaryType_$type } from "igniteui-react-core";
import { LegendItemBadgeShape_$type } from "igniteui-react-core";
import { DataLegendLayoutMode_$type } from "igniteui-react-core";
import { DataLegendUnitsMode_$type } from "igniteui-react-core";
import { DataLegendLabelMode_$type } from "igniteui-react-core";
import { DataToolTipLayerFrame } from "./DataToolTipLayerFrame";
import { Dictionary$2 } from "igniteui-react-core";
import { List$1 } from "igniteui-react-core";
import { Pool$1 } from "igniteui-react-core";
import { DataToolTipSeriesInfo } from "./DataToolTipSeriesInfo";
import { DataContext } from "igniteui-react-core";
import { DataTooltipCollisionInfo } from "./DataTooltipCollisionInfo";
import { DeviceUtils } from "igniteui-react-core";
import { HashSet$1 } from "igniteui-react-core";
import { PropertyMetadata } from "igniteui-react-core";
import { isNaN_ } from "igniteui-react-core";
import { stringEmpty } from "igniteui-react-core";
import { AnnotationLayerView } from "./AnnotationLayerView";
import { PointerTooltip } from "./PointerTooltip";
import { IOnDemandRender_$type } from "igniteui-react-core";
/**
* @hidden
*/
var DataToolTipLayer = /** @class */ /*@__PURE__*/ (function (_super) {
__extends(DataToolTipLayer, _super);
function DataToolTipLayer() {
var _this = _super.call(this) || this;
_this.aax = 1;
_this.ab2 = new Dictionary$2(String_$type, Base.$, 0);
_this.ab3 = new List$1(String_$type, 0);
_this.aap = 8;
_this.aat = 11;
_this.abd = null;
_this.aa5 = null;
_this.aa4 = null;
_this.aa8 = null;
_this.aba = null;
_this.aa7 = null;
_this.aa9 = null;
_this.abc = null;
_this.abb = null;
_this.aa6 = null;
var a = new DataToolTipLayerFrame();
var b = new DataToolTipLayerFrame();
var c = new DataToolTipLayerFrame();
_this.xe = a;
_this.xd = b;
_this.xf = c;
_this.ab = DataToolTipLayer.$;
return _this;
}
DataToolTipLayer.prototype.bk = function () {
return new DataToolTipLayer();
};
DataToolTipLayer.prototype.get_es = function () {
return true;
};
DataToolTipLayer.prototype.ct = function () {
return new DataToolTipLayerView(this);
};
DataToolTipLayer.prototype.q1 = function (a) {
_super.prototype.q1.call(this, a);
this.aa1 = a;
};
DataToolTipLayer.prototype.get_e3 = function () {
return true;
};
Object.defineProperty(DataToolTipLayer.prototype, "aay", {
get: function () {
return this.aax;
},
set: function (a) {
var b = this.aax;
this.aax = a;
if (b != this.aax) {
this.raisePropertyChanged("ActualGroupingMode", enumGetBox(DataToolTipLayerGroupingMode_$type, b), enumGetBox(DataToolTipLayerGroupingMode_$type, this.aax));
}
},
enumerable: false,
configurable: true
});
DataToolTipLayer.prototype.aa0 = function () {
var e_1, _a;
var a = true;
var b = true;
var c = true;
var d = true;
if (this.aaz != 0) {
return this.aaz;
}
var e = this.aaf();
if (e != null) {
try {
for (var _b = __values(fromEnum(e.db())), _c = _b.next(); !_c.done; _c = _b.next()) {
var f = _c.value;
if (!f.et && !f.fw) {
a = false;
}
if (!f.et && !f.fp) {
b = false;
}
if (!f.et && !f.fx) {
c = false;
}
if (!f.et && !f.ft) {
d = false;
}
}
}
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;
}
}
}
if (a || b || c || d) {
return 2;
}
return 1;
};
DataToolTipLayer.prototype.ra = function (a, b, c, d) {
_super.prototype.ra.call(this, a, b, c, d);
switch (b) {
case DataToolTipLayer.$$p[42]:
this.rs(true);
break;
case DataToolTipLayer.$$p[49]:
this.rs(true);
break;
case DataToolTipLayer.$$p[12]:
this.aay = this.aa0();
break;
case "ActualGroupingMode":
this.rs(true);
break;
case DataToolTipLayer.$$p[10]:
this.aaq = this.aas();
break;
case DataToolTipLayer.$$p[11]:
this.aau = this.aaw();
break;
case "SeriesViewer":
this.aa1.cs();
break;
case DataToolTipLayer.$$p[31]:
case DataToolTipLayer.$$p[24]:
case DataToolTipLayer.$$p[5]:
case DataToolTipLayer.$$p[23]:
case DataToolTipLayer.$$p[4]:
case DataToolTipLayer.$$p[28]:
case DataToolTipLayer.$$p[50]:
case DataToolTipLayer.$$p[52]:
case DataToolTipLayer.$$p[53]:
case DataToolTipLayer.$$p[54]:
case DataToolTipLayer.$$p[51]:
case DataToolTipLayer.$$p[57]:
case DataToolTipLayer.$$p[56]:
case DataToolTipLayer.$$p[55]:
case DataToolTipLayer.$$p[58]:
case DataToolTipLayer.$$p[59]:
case DataToolTipLayer.$$p[63]:
case DataToolTipLayer.$$p[62]:
case DataToolTipLayer.$$p[61]:
case DataToolTipLayer.$$p[60]:
case "ValueTextStyle":
case DataToolTipLayer.$$p[16]:
case DataToolTipLayer.$$p[15]:
case DataToolTipLayer.$$p[13]:
case DataToolTipLayer.$$p[14]:
case DataToolTipLayer.$$p[17]:
case DataToolTipLayer.$$p[22]:
case DataToolTipLayer.$$p[20]:
case DataToolTipLayer.$$p[21]:
case DataToolTipLayer.$$p[18]:
case DataToolTipLayer.$$p[19]:
case "HeaderTextStyle":
case DataToolTipLayer.$$p[8]:
case DataToolTipLayer.$$p[9]:
case DataToolTipLayer.$$p[6]:
case DataToolTipLayer.$$p[7]:
case "GroupTextStyle":
case DataToolTipLayer.$$p[35]:
case "SummaryTitleTextStyle":
case DataToolTipLayer.$$p[38]:
case DataToolTipLayer.$$p[37]:
case DataToolTipLayer.$$p[36]:
case DataToolTipLayer.$$p[34]:
case DataToolTipLayer.$$p[41]:
case "SummaryValueTextStyle":
case DataToolTipLayer.$$p[33]:
case DataToolTipLayer.$$p[32]:
case "SummaryLabelTextStyle":
case DataToolTipLayer.$$p[40]:
case DataToolTipLayer.$$p[39]:
case "SummaryUnitsTextStyle":
case DataToolTipLayer.$$p[0]:
case DataToolTipLayer.$$p[1]:
case DataToolTipLayer.$$p[45]:
case DataToolTipLayer.$$p[48]:
case DataToolTipLayer.$$p[46]:
case DataToolTipLayer.$$p[47]:
case "UnitsTextStyle":
case DataToolTipLayer.$$p[44]:
case DataToolTipLayer.$$p[43]:
case "TitleTextStyle":
case DataToolTipLayer.$$p[25]:
case DataToolTipLayer.$$p[26]:
case DataToolTipLayer.$$p[27]:
case "LabelTextStyle":
this.afq(b, c, d);
break;
}
};
DataToolTipLayer.prototype.afq = function (a, b, c) {
if (!this.ab2.containsKey(a)) {
this.ab3.add(a);
this.ab2.addItem(a, c);
}
else {
this.ab2.item(a, c);
}
this.rs(true);
};
DataToolTipLayer.prototype.afu = function (a, b) {
switch (a) {
case DataToolTipLayer.$$p[12]:
this.aaz = EnumUtil.getEnumValue(DataToolTipLayerGroupingMode_$type, b);
break;
case DataToolTipLayer.$$p[29]:
this.ab7 = b;
break;
case DataToolTipLayer.$$p[30]:
this.ab8 = b;
break;
case DataToolTipLayer.$$p[2]:
this.ab5 = b;
break;
case DataToolTipLayer.$$p[3]:
this.ab6 = b;
break;
case DataToolTipLayer.$$p[10]:
this.aar = EnumUtil.getEnumValue(DataTooltipGroupedPositionX_$type, b);
break;
case DataToolTipLayer.$$p[11]:
this.aav = EnumUtil.getEnumValue(DataTooltipGroupedPositionY_$type, b);
break;
case DataToolTipLayer.$$p[31]:
this.abx = b;
break;
case DataToolTipLayer.$$p[24]:
this.aad = b;
break;
case DataToolTipLayer.$$p[5]:
this.z8 = b;
break;
case DataToolTipLayer.$$p[23]:
this.aac = b;
break;
case DataToolTipLayer.$$p[4]:
this.z7 = b;
break;
case DataToolTipLayer.$$p[50]:
this.aah = EnumUtil.getEnumValue(DataAbbreviationMode_$type, b);
break;
case DataToolTipLayer.$$p[52]:
this.ac7 = typeGetValue(b);
break;
case DataToolTipLayer.$$p[53]:
this.ac8 = typeGetValue(b);
break;
case DataToolTipLayer.$$p[54]:
this.aao = EnumUtil.getEnumValue(DataLegendValueMode_$type, b);
break;
case DataToolTipLayer.$$p[51]:
this.ae8 = b;
break;
case DataToolTipLayer.$$p[57]:
this.abz = b;
break;
case DataToolTipLayer.$$p[56]:
this.afe = b;
break;
case DataToolTipLayer.$$p[55]:
this.aae = b;
break;
case DataToolTipLayer.$$p[58]:
this.aid = b;
break;
case DataToolTipLayer.$$p[59]:
this.ab0 = b;
break;
case DataToolTipLayer.$$p[63]:
this.afn = b;
break;
case DataToolTipLayer.$$p[62]:
this.ab1 = b;
break;
case DataToolTipLayer.$$p[61]:
this.aie = b;
break;
case DataToolTipLayer.$$p[60]:
this.ahw = b;
break;
case "ValueTextStyle":
this.abn = b;
break;
case DataToolTipLayer.$$p[16]:
this.adv = b;
break;
case DataToolTipLayer.$$p[15]:
this.aab = b;
break;
case DataToolTipLayer.$$p[13]:
this.adr = b;
break;
case DataToolTipLayer.$$p[14]:
this.aai = EnumUtil.getEnumValue(DataLegendHeaderDateMode_$type, b);
break;
case DataToolTipLayer.$$p[17]:
this.aaj = EnumUtil.getEnumValue(DataLegendHeaderTimeMode_$type, b);
break;
case DataToolTipLayer.$$p[22]:
this.ad0 = b;
break;
case DataToolTipLayer.$$p[20]:
this.aho = b;
break;
case DataToolTipLayer.$$p[21]:
this.ah7 = b;
break;
case DataToolTipLayer.$$p[18]:
this.ah6 = b;
break;
case DataToolTipLayer.$$p[19]:
this.abq = b;
break;
case "HeaderTextStyle":
this.abf = b;
break;
case DataToolTipLayer.$$p[28]:
this.aal = EnumUtil.getEnumValue(DataLegendLayoutMode_$type, b);
break;
case DataToolTipLayer.$$p[8]:
this.ahn = b;
break;
case DataToolTipLayer.$$p[9]:
this.ah5 = b;
break;
case DataToolTipLayer.$$p[6]:
this.ah4 = b;
break;
case DataToolTipLayer.$$p[7]:
this.abp = b;
break;
case "GroupTextStyle":
this.abe = b;
break;
case DataToolTipLayer.$$p[35]:
this.ahr = b;
break;
case "SummaryTitleTextStyle":
this.abi = b;
break;
case DataToolTipLayer.$$p[38]:
this.aam = EnumUtil.getEnumValue(DataLegendSummaryType_$type, b);
break;
case DataToolTipLayer.$$p[37]:
this.aek = b;
break;
case DataToolTipLayer.$$p[36]:
this.aia = b;
break;
case DataToolTipLayer.$$p[34]:
this.ah9 = b;
break;
case DataToolTipLayer.$$p[41]:
this.aht = b;
break;
case "SummaryValueTextStyle":
this.abk = b;
break;
case DataToolTipLayer.$$p[33]:
this.aef = b;
break;
case DataToolTipLayer.$$p[32]:
this.ahq = b;
break;
case "SummaryLabelTextStyle":
this.abh = b;
break;
case DataToolTipLayer.$$p[40]:
this.aeq = b;
break;
case DataToolTipLayer.$$p[39]:
this.ahs = b;
break;
case "SummaryUnitsTextStyle":
this.abj = b;
break;
case DataToolTipLayer.$$p[0]:
this.ah3 = b;
break;
case DataToolTipLayer.$$p[1]:
this.aa3 = EnumUtil.getEnumValue(LegendItemBadgeShape_$type, b);
break;
case DataToolTipLayer.$$p[45]:
this.aan = EnumUtil.getEnumValue(DataLegendUnitsMode_$type, b);
break;
case DataToolTipLayer.$$p[48]:
this.ae1 = b;
break;
case DataToolTipLayer.$$p[46]:
this.ahv = b;
break;
case DataToolTipLayer.$$p[47]:
this.aic = b;
break;
case "UnitsTextStyle":
this.abm = b;
break;
case DataToolTipLayer.$$p[44]:
this.aib = b;
break;
case DataToolTipLayer.$$p[43]:
this.ahu = b;
break;
case "TitleTextStyle":
this.abl = b;
break;
case DataToolTipLayer.$$p[25]:
this.aak = EnumUtil.getEnumValue(DataLegendLabelMode_$type, b);
break;
case DataToolTipLayer.$$p[26]:
this.ahp = b;
break;
case DataToolTipLayer.$$p[27]:
this.ah8 = b;
break;
case "LabelTextStyle":
this.abg = b;
break;
}
};
DataToolTipLayer.prototype.afr = function (a) {
for (var b = 0; b < this.ab3.count; b++) {
var c = this.ab3._inner[b];
a.updatePropertyByName(c, this.ab2.item(c));
}
};
DataToolTipLayer.prototype.ys = function (a, b) {
{
if (!this.a1.c) {
this.rs(b);
}
}
};
DataToolTipLayer.prototype.yt = function (a, b) {
if (!this.a1.c) {
this.rs(b);
}
};
DataToolTipLayer.prototype.yv = function (a, b) {
var e_2, _a;
var _this = this;
_super.prototype.yv.call(this, a, b);
this.aax = this.aa0();
var c = a;
var d = this.aa1.cg;
var e = this.aby;
var f = false;
c.m.clear();
c.i.clear();
c.l.clear();
c.g.clear();
c.f.clear();
c.k.clear();
c.j.clear();
c.h.clear();
if (isNaN_(this.z4.x) && isNaN_(this.z4.y)) {
d.count = 0;
return;
}
{
if (this.aay == 2) {
var g_1 = 0;
{
try {
for (var _b = __values(fromEnum(this.dc.series)), _c = _b.next(); !_c.done; _c = _b.next()) {
var h = _c.value;
if (this.xk(h)) {
this.aft(h, c, e, f, g_1);
g_1++;
}
if (h.isStacked) {
h.p3(function (i) {
if (_this.xk(i)) {
_this.aft(i, c, e, f, g_1);
g_1++;
}
if (i.eh) {
i.p1(function (j) {
if (_this.xk(j)) {
_this.aft(j, c, e, f, g_1);
g_1++;
}
return true;
});
}
return true;
});
}
if (h.eh) {
h.p1(function (i) {
if (_this.xk(i)) {
_this.aft(i, c, e, f, g_1);
g_1++;
}
return true;
});
}
}
}
catch (e_2_1) {
e_2 = { error: e_2_1 };
}
finally {
try {
if (_c && !_c.done && (_a = _b.return))
_a.call(_b);
}
finally {
if (e_2)
throw e_2.error;
}
}
this.afp(c);
}
d.count = g_1;
}
else {
var i = this.aaf();
var j = this.ab4(i);
var k = this.aa2(i, j, e);
this.afs(k, c, e);
}
}
};
DataToolTipLayer.prototype.ab4 = function (a) {
var e_3, _a;
var b = new List$1(Series.$, 0);
if (a == null) {
return b;
}
try {
for (var _b = __values(fromEnum(a.df)), _c = _b.next(); !_c.done; _c = _b.next()) {
var c = _c.value;
b.add(c);
}
}
catch (e_3_1) {
e_3 = { error: e_3_1 };
}
finally {
try {
if (_c && !_c.done && (_a = _b.return))
_a.call(_b);
}
finally {
if (e_3)
throw e_3.error;
}
}
return b;
};
DataToolTipLayer.prototype.aaf = function () {
var e_4, _a, e_5, _b;
if (this.aag != null) {
return this.aag;
}
if (this.dc == null) {
return null;
}
try {
for (var _c = __values(fromEnum(this.dc.series)), _d = _c.next(); !_d.done; _d = _c.next()) {
var a = _d.value;
if (a.ez) {
var b = a.a0();
if (b != null && b.co()) {
return b;
}
}
}
}
catch (e_4_1) {
e_4 = { error: e_4_1 };
}
finally {
try {
if (_d && !_d.done && (_a = _c.return))
_a.call(_c);
}
finally {
if (e_4)
throw e_4.error;
}
}
try {
for (var _e = __values(fromEnum(this.dc.series)), _f = _e.next(); !_f.done; _f = _e.next()) {
var c = _f.value;
if (!c.ez) {
var d = c.ai();
var e = d != null && d.length > 0 ? d[0] : null;
if (e != null && e.co()) {
return e;
}
}
}
}
catch (e_5_1) {
e_5 = { error: e_5_1 };
}
finally {
try {
if (_f && !_f.done && (_b = _e.return))
_b.call(_e);
}
finally {
if (e_5)
throw e_5.error;
}
}
return null;
};
DataToolTipLayer.prototype.aa2 = function (a, b, c) {
var d = 1.7976931348623157E+308;
var e = -1.7976931348623157E+308;
var f = new List$1(DataContext.$, 0);
var g = new List$1(Base.$, 0);
var h = false;
var i = true;
var j = { $type: Point_$type, x: NaN, y: NaN };
var k = 0;
var l = 0;
var _loop_1 = function (m) {
var n = b.item(m);
k = n.dc.l;
l = n.dc.m;
if (n.ez) {
var o = n;
var p_1 = new List$1(Series.$, 0);
if (o.isStacked) {
o.p3(function (q) {
p_1.add(q);
if (q.eh) {
q.p1(function (r) {
p_1.add(r);
return true;
});
}
return true;
});
}
else if (o.eh) {
p_1.add(o);
o.p1(function (q) {
p_1.add(q);
return true;
});
}
else {
p_1.add(o);
}
for (var q = 0; q < p_1.count; q++) {
var r = p_1._inner[q];
var s = p_1._inner[q];
if (s.dc == null) {
continue;
}
if (!r.categoryAxis.co()) {
continue;
}
if (i) {
h = s.isVertical;
}
else {
if (h != s.isVertical) {
continue;
}
}
var t = this_1.yo(s);
if (!t.c) {
continue;
}
j = s.v9(t.d);
var u = s.we(t.d, c, false);
if (h) {
if (!isNaN_(u.y)) {
d = Math.min(d, u.y);
e = Math.max(e, u.y);
}
}
else {
if (!isNaN_(u.x)) {
d = Math.min(d, u.x);
e = Math.max(e, u.x);
}
}
}
}
else {
var v = n.ai();
for (var w = 0; w < v.length; w++) {
if (!v[w].co()) {
continue;
}
}
var x = n.we(this_1.z4, c, false);
j = n.v9(this_1.z4);
if (h) {
if (!isNaN_(x.y)) {
d = Math.min(d, x.y);
e = Math.max(e, x.y);
}
}
else {
if (!isNaN_(x.x)) {
d = Math.min(d, x.x);
e = Math.max(e, x.x);
}
}
}
var y = null;
var z = n.kn(this_1.z4);
if (n.e4 && z != null) {
y = n.a3(z);
}
else {
y = new DataContext();
y.item = z;
y.series = n;
}
f.add(y);
};
var this_1 = this;
for (var m = 0; m < b.count; m++) {
_loop_1(m);
}
var aa = 0;
var ab = 0;
if (h) {
ab = (d + e) / 2;
aa = this.wu.right;
if (!isNaN_(j.x)) {
aa = j.x;
}
if (ab < 0 || ab > this.wu.bottom) {
ab = NaN;
}
}
else {
aa = (d + e) / 2;
if (!isNaN_(j.y)) {
ab = j.y;
}
if (aa < 0 || aa > this.wu.right) {
aa = NaN;
}
}
var ac = new DataToolTipSeriesInfo();
ac.f = { $type: Point_$type, x: aa, y: ab };
ac.e = { $type: Point_$type, x: j.x, y: j.y };
ac.b = f;
ac.a = h;
return ac;
};
DataToolTipLayer.prototype.p7 = function () {
this.z4 = { $type: Point_$type, x: NaN, y: NaN };
this.rs(false);
this.aa1.cq(false);
};
DataToolTipLayer.prototype.p8 = function () {
this.z4 = { $type: Point_$type, x: NaN, y: NaN };
this.rs(false);
this.aa1.cq(true);
};
Object.defineProperty(DataToolTipLayer.prototype, "ah0", {
get: function () {
var a = RectUtil.n(this.cw.b1);
var b = new Size(1, this.cw.b1.width, this.cw.b1.height);
return new Rect(3, a, b);
},
enumerable: false,
configurable: true
});
Object.defineProperty(DataToolTipLayer.prototype, "ahz", {
get: function () {
var a = RectUtil.n(this.cw.b1);
var b = new Size(1, this.cw.b1.width, this.cw.b1.height);
return new Rect(3, this.aa1.ct(a), b);
},
enumerable: false,
configurable: true
});
Object.defineProperty(DataToolTipLayer.prototype, "ahy", {
get: function () {
var a = new Rect(0, 0, 0, this.dc.m, this.dc.l);
var b = RectUtil.n(a);
var c = new Size(1, a.width, a.height);
return new Rect(3, this.aa1.ct(b), c);
},
enumerable: false,
configurable: true
});
Object.defineProperty(DataToolTipLayer.prototype, "ah2", {
get: function () {
var a = { $type: Point_$type, x: 0, y: 0 };
return new Rect(3, a, this.aa1.cy());
},
enumerable: false,
configurable: true
});
DataToolTipLayer.prototype.ah1 = function () {
return this.ah0;
};
DataToolTipLayer.prototype.abu = function (a, b, c) {
if (Rect.l_op_Equality(a, Rect.empty)) {
return false;
}
var d = a.top;
return c < d;
};
DataToolTipLayer.prototype.abr = function (a, b, c, d) {
if (Rect.l_op_Equality(a, Rect.empty)) {
return false;
}
var e = a.bottom;
return c + d.height >= e;
};
DataToolTipLayer.prototype.abs = function (a, b, c) {
if (Rect.l_op_Equality(a, Rect.empty)) {
return false;
}
var d = a.left;
return c < d;
};
DataToolTipLayer.prototype.abt = function (a, b, c, d) {
if (Rect.l_op_Equality(a, Rect.empty)) {
return false;
}
var e = a.right;
return c + d.width > e;
};
DataToolTipLayer.prototype.acx = function (a, b) {
return a.top + b;
};
DataToolTipLayer.prototype.acv = function (a, b, c) {
return a.bottom - c.height - b;
};
DataToolTipLayer.prototype.acw = function (a, b) {
return ((a.bottom + a.top) / 2) - (b.height / 2);
};
DataToolTipLayer.prototype.ac6 = function (a, b, c, d, e) {
var f = c.y - d.height - b;
return f;
};
DataToolTipLayer.prototype.ac4 = function (a, b, c, d, e) {
var f = c.y + b;
return f;
};
DataToolTipLayer.prototype.ac5 = function (a, b, c, d, e) {
var f = c.y - (d.height / 2);
return f;
};
DataToolTipLayer.prototype.ac0 = function (a, b, c, d, e) {
var f = c.y - d.height;
f = f - b;
return f;
};
DataToolTipLayer.prototype.acy = function (a, b, c, d, e) {
var f = c.y;
f = f + b;
return f;
};
DataToolTipLayer.prototype.acz = function (a, b, c, d, e) {
var f = c.y - (d.height / 2);
return f;
};
DataToolTipLayer.prototype.acg = function (a, b) {
return a.left + b;
};
DataToolTipLayer.prototype.aci = function (a, b, c) {
return (a.right - (c.width)) - b;
};
DataToolTipLayer.prototype.ach = function (a, b, c) {
return ((a.right + a.left) / 2) - (c.width / 2) + b;
};
DataToolTipLayer.prototype.acp = function (a, b, c, d, e) {
var f = (c.x - d.width) - b;
return f;
};
DataToolTipLayer.prototype.acr = function (a, b, c, d, e) {
var f = c.x + b;
return f;
};
DataToolTipLayer.prototype.acq = function (a, b, c, d, e) {
var f = (c.x - (d.width / 2));
f = f + b;
return f;
};
DataToolTipLayer.prototype.acm = function (a, b, c, d, e) {
var f = c.x - d.width;
f = f - b;
return f;
};
DataToolTipLayer.prototype.aco = function (a, b, c, d, e) {
var f = c.x;
f = f + b;
return f;
};
DataToolTipLayer.prototype.acn = function (a, b, c, d, e) {
var f = c.x - (d.width / 2);
f = f + b;
return f;
};
DataToolTipLayer.prototype.acc = function (a, b, c, d, e, f, g, h) {
switch (a) {
case 1:
{
return this.ac0(e, b, h, f, true);
}
case 2:
{
return this.acy(e, b, h, f, true);
}
case 3:
{
return this.acz(e, b, h, f, true);
}
case 5: return this.ac1(e, c, b, h, f);
case 6: return this.ac2(e, c, b, h, f);
case 4: return this.ac3(e, c, b, h, f);
case 8: return this.acs(e, c, b, h, f);
case 9: return this.act(e, c, b, h, f);
case 7: return this.acu(e, c, b, h, f);
case 13: return this.acx(d, b);
case 14: return this.acv(d, b, f);
case 15: return this.acw(d, f);
case 10: return this.ac6(e, b, g, f, true);
case 12: return this.ac5(e, b, g, f, true);
case 11:
default: return this.ac4(e, b, g, f, true);
}
};
DataToolTipLayer.prototype.acj = function (a, b, c, d, e) {
var f = d.x;
f = f + b / 2;
f = f - e.width;
f = f - c;
return f;
};
DataToolTipLayer.prototype.ack = function (a, b, c, d, e) {
var f = d.x;
f = f + b / 2;
f = f - e.width / 2;
f = f + c;
return f;
};
DataToolTipLayer.prototype.acl = function (a, b, c, d, e) {
var f = d.x;
f = f + b / 2;
f = f + c;
return f;
};
DataToolTipLayer.prototype.acd = function (a, b, c, d, e) {
var f = d.x;
f = f - b / 2;
f = f - e.width;
f = f - c;
return f;
};
DataToolTipLayer.prototype.ace = function (a, b, c, d, e) {
var f = d.x;
f = f - b / 2;
f = f - e.width / 2;
f = f + c;
return f;
};
DataToolTipLayer.prototype.acf = function (a, b, c, d, e) {
var f = d.x;
f = f - b / 2;
f = f + c;
return f;
};
DataToolTipLayer.prototype.acu = function (a, b, c, d, e) {
var f = d.y;
f = f + b / 2;
f = f - e.height;
f = f - c;
return f;
};
DataToolTipLayer.prototype.act = function (a, b, c, d, e) {
var f = d.y;
f = f + b / 2;
f = f - e.height / 2;
f = f + c;
return f;
};
DataToolTipLayer.prototype.acs = function (a, b, c, d, e) {
var f = d.y;
f = f + b / 2;
f = f + c;
return f;
};
DataToolTipLayer.prototype.ac3 = function (a, b, c, d, e) {
var f = d.y;
f = f - b / 2;
f = f - e.height;
f = f - c;
return f;
};
DataToolTipLayer.prototype.ac2 = function (a, b, c, d, e) {
var f = d.y;
f = f - b / 2;
f = f - e.height / 2;
f = f + c;
return f;
};
DataToolTipLayer.prototype.ac1 = function (a, b, c, d, e) {
var f = d.y;
f = f - b / 2;
f = f + c;
return f;
};
DataToolTipLayer.prototype.acb = function (a, b, c, d, e, f, g, h) {
switch (a) {
case 10: return this.acp(e, b, g, f, true);
case 11: return this.acr(e, b, g, f, true);
case 12: return this.acq(e, b, g, f, true);
case 13: return this.acg(d, b);
case 14: return this.aci(e, b, f);
case 15: return this.ach(e, b, f);
case 5: return this.acf(e, c, b, h, f);
case 6: return this.ace(e, c, b, h, f);
case 4: return this.acd(e, c, b, h, f);
case 8: return this.acl(e, c, b, h, f);
case 9: return this.ack(e, c, b, h, f);
case 7: return this.acj(e, c, b, h, f);
case 1:
{
return this.acm(e, b, h, f, true);
}
case 3:
{
return this.acn(e, b, h, f, true);
}
case 2:
default:
{
return this.aco(e, b, h, f, true);
}
}
};
DataToolTipLayer.prototype.ahx = function (a, b, c, d) {
var e = this.aaq;
var f = this.aau;
var g = this.aaf();
var h = 0;
if (g != null && g.cb && this.dc != null) {
h = g.getCategorySize(this.dc.v5, this.wu, this.getEffectiveViewport());
if (g.categoryMode == 0) {
h = 0;
}
}
var i = this.ab9(e);
var j = this.aca(f);
var k = this.acb(e, i, h, this.ah0, a, b, c, d);
var l = this.acc(f, j, h, this.ah0, a, b, c, d);
var m = this.abv(a, i, k, b);
var n = this.abw(a, j, l, b);
if (!m) {
var o = this.z9(e);
var p = 0;
while (!m && p < o.length) {
e = o[p];
i = this.ab9(e);
k = this.acb(e, i, h, this.ah0, a, b, c, d);
m = this.abv(a, i, k, b);
p++;
}
}
if (!n) {
var q = this.aaa(f);
var r = 0;
while (!n && r < q.length) {
f = q[r];
j = this.aca(f);
l = this.acc(f, j, h, this.ah0, a, b, c, d);
n = this.abw(a, j, l, b);
r++;
}
}
return { $type: Point_$type, x: k, y: l };
};
DataToolTipLayer.prototype.aca = function (a) {
if (!isNaN_(this.ab8)) {
return this.ab8;
}
switch (a) {
case 1: return this.ab6;
case 2: return this.ab6;
case 3: return 0;
case 4: return this.ab6;
case 5: return this.ab6;
case 6: return this.ab6;
case 7: return this.ab6;
case 8: return this.ab6;
case 9: return 0;
case 10: return this.ab6;
case 11: return this.ab6;
case 12: return 0;
case 13: return this.ab6;
case 14: return this.ab6;
case 15: return 0;
}
return this.ab6;
};
DataToolTipLayer.prototype.ab9 = function (a) {
if (!isNaN_(this.ab7)) {
return this.ab7;
}
switch (a) {
case 4: return this.ab5;
case 6: return 0;
case 5: return this.ab5;
case 13: return this.ab5;
case 15: return 0;
case 14: return this.ab5;
case 7: return this.ab5;
case 9: return 0;
case 8: return this.ab5;
case 1: return this.ab5;
case 3: return 0;
case 2: return this.ab5;
case 10: return this.ab5;
case 12: return 0;
case 11: return this.ab5;
}
return this.ab5;
};
DataToolTipLayer.prototype.aaa = function (a) {
var b = [a];
switch (a) {
case 1:
b = [2, 3, 13, 14];
break;
case 2:
b = [1, 3, 14, 13];
break;
case 3:
b = [1, 2];
break;
case 4:
b = [8, 7, 3, 13, 14];
break;
case 5:
b = [7, 8, 3, 13, 14];
break;
case 6:
b = [9, 8, 4, 3];
break;
case 7:
b = [5, 4, 2, 14, 13];
break;
case 8:
b = [4, 5, 3, 14, 13];
break;
case 9:
b = [6, 4, 8, 3];
break;
case 10:
b = [11, 12, 2, 1, 3, 13, 14];
break;
case 11:
b = [10, 12, 1, 2, 3, 14, 13];
break;
case 12:
b = [10, 11];
break;
case 13: break;
case 14: break;
case 15: break;
}
return b;
};
DataToolTipLayer.prototype.z9 = function (a) {
var b = [a];
switch (a) {
case 1:
b = [2, 3, 13, 14];
break;
case 2:
b = [1, 3, 14, 13];
break;
case 3:
b = [1, 2];
break;
case 4:
b = [8, 7, 3, 13, 14];
break;
case 5:
b = [7, 8, 1, 14, 13];
break;
case 6:
b = [9, 8, 4, 3];
break;
case 7:
b = [5, 4, 2, 14, 13];
break;
case 8:
b = [4, 5, 3, 13, 14];
break;
case 9:
b = [6, 4, 8, 3];
break;
case 10:
b = [11, 12, 2, 1, 3, 13, 14];
break;
case 11:
b = [10, 12, 1, 2, 3, 14, 13];
break;
case 12:
b = [10, 11];
break;
case 13: break;
case 14: break;
case 15: break;
}
return b;
};
DataToolTipLayer.prototype.abv = function (a, b, c, d) {
return !(this.abs(a, b, c) || this.abt(a, b, c, d));
};
DataToolTipLayer.prototype.abw = function (a, b, c, d) {
return !(this.abu(a, b, c) || this.abr(a, b, c, d));
};
DataToolTipLayer.prototype.afp = function (a) {
var b = new List$1(DataTooltipCollisionInfo.$, 0);
for (var c = 0; c < a.f.count; c++) {
var d = new DataTooltipCollisionInfo();
d.d = c;
d.e = { $type: Point_$type, x: a.f._inner[c], y: a.g._inner[c] };
d.c = a.k._inner[c];
d.a = a.j._inner[c];
d.b = a.m._inner[c];
if (isNaN_(d.e.x) || isNaN_(d.e.y)) {
continue;
}
b.add(d);
}
b.aa(function (e, f) {
if (e.e.y < f.e.y) {
return -1;
}
if (e.e.y > f.e.y) {
return 1;
}
if (e.b < f.b) {
return -1;
}
if (e.b > f.b) {
return 1;
}
return 0;
});
var e = this.abo(b);
if (!e) {
return;
}
for (var f = 0; f < b.count - 1; f++) {
var g = b._inner[f];
var h = b._inner[f + 1];
var i = new Rect(0, g.e.x, g.e.y, g.c, g.a);
var j = new Rect(0, h.e.x, h.e.y, h.c, h.a);
if (i.intersectsWith(j) || i.top > j.bottom) {
h.e = { $type: Point_$type, x: h.e.x, y: i.bottom + 1 };
}
}
if (b._inner[b.count - 1].e.y + b._inner[b.count - 1].a > this.cw.b1.height) {
b._inner[b.count - 1].e = { $type: Point_$type, x: b._inner[b.count - 1].e.x, y: b._inner[b.count - 1].e.y - ((b._inner[b.count - 1].e.y + b._inner[b.count - 1].a) - this.cw.b1.height) };
}
for (var k = b.count - 1; k >= 1; k--) {
var l = b._inner[k];
var m = b._inner[k - 1];
var n = new Rect(0, l.e.x, l.e.y, l.c, l.a);
var o = new Rect(0, m.e.x, m.e.y, m.c, m.a);
if (n.intersectsWith(o) || n.top < o.bottom) {
m.e = { $type: Point_$type, x: m.e.x, y: n.top - (o.height + 1) };
}
}
for (var p = 0; p < b.count; p++) {
var q = b._inner[p].d;
var r = b._inner[p];
a.f._inner[q] = r.e.x;
a.g._inner[q] = r.e.y;
}
};
DataToolTipLayer.prototype.abo = function (a) {
if (a.count <= 1) {
return false;
}
var b = this.cw.b1;
for (var c = 0; c < a.count - 1; c++) {
var d = a._inner[c];
var e = a._inner[c + 1];
var f = new Rect(0, d.e.x, d.e.y, d.c, d.a);
var g = new Rect(0, e.e.x, e.e.y, e.c, e.a);
if (f.intersectsWith(g)) {
return true;
}
}
return false;
};
DataToolTipLayer.prototype.aft = function (a, b, c, d, e) {
var _this = this;
var f = this.yo(a);
if (!f.c) {
return;
}
var g = a.we(f.d, c, d);
var h = this.aa1.cg;
var i = this.z4;
if (!c) {
i = this.wj(g);
}
var j = a.kn(i);
var k = h.item(e);
var l = this.cw.b1;
var m = this.aa1.cf(k);
if (!Base.equalsStatic(m.target, this.dc)) {
m.target = this.dc;
}
var n = new List$1(String_$type, 0);
if (a.eh && this.aay == 2) {
a.p1(function (o) {
if (_this.xk(o)) {
n.add(o.dataLegendKey);
}
return true;
});
}
m.includedSeries = [a.dataLegendKey];
m.excludedSeries = n.toArray();
this.afr(m);
m.targetCursorPositionX = this.z4.x;
m.targetCursorPositionY = this.z4.y;
if (!this.aa1.ci(k, a)) {
return;
}
var o = this.aa1.cx(k);
b.i.add1(k);
var p = g.x;
var q = g.x;
q = Math.max(q, l.left);
q = Math.min(q, l.right);
b.l.add(q);
var r = g.y;
r = Math.max(r, l.top);
r = Math.min(r, l.bottom);
b.m.add(r);
var s = DeviceUtils.g(10);
var t = g.x + s;
if (t + o.width > l.right) {
t = (l.right - o.width) - s;
}
if (t < l.left) {
t = l.left;
}
b.f.add(t);
var u = (g.y - o.height) - s;
if (u + o.height > l.bottom) {
u = (l.bottom - o.height) - s;
}
if (u < l.top) {
u = l.top;
}
b.g.add(u);
b.k.add(o.width);
b.j.add(o.height);
var v = this.vb;
if (v == null) {
v = this.vh;
}
if (v == null) {
v = a.vb;
}
b.h.add(v);
};
DataToolTipLayer.prototype.afs = function (a, b, c) {
var e_6, _a;
this.aap = this.aas();
this.aat = this.aaw();
var d = a.f;
var e = a.e;
var f = 0;
var g = this.aa1.cg.item(0);
this.aa1.ci(g, null);
var h = this.aa1.cf(g);
if (!Base.equalsStatic(h.target, this.dc)) {
h.target = this.dc;
}
var i = new List$1(String_$type, 0);
var j = this.aaf();
if (j != null) {
try {
for (var _b = __values(fromEnum(j.db())), _c = _b.next(); !_c.done; _c = _b.next()) {
var k = _c.value;
if (k.isStacked) {
k.p3(function (l) {
i.add(l.dataLegendKey);
if (l.eh) {
l.p1(function (m) {
i.add(m.dataLegendKey);
return true;
});
}
return true;
});
}
else if (k.eh) {
i.add(k.dataLegendKey);
k.p1(function (l) {
i.add(l.dataLegendKey);
return true;
});
}
else {
i.add(k.dataLegendKey);
}
}
}
catch (e_6_1) {
e_6 = { error: e_6_1 };
}
finally {
try {
if (_c && !_c.done && (_a = _b.return))
_a.call(_b);
}
finally {
if (e_6)
throw e_6.error;
}
}
h.includedSeries = i.toArray();
h.excludedSeries = null;
}
else {
h.includedSeries = null;
h.excludedSeries = null;
}
this.afr(h);
h.targetCursorPositionX = this.z4.x;
h.targetCursorPositionY = this.z4.y;
var l = this.aa1.cx(g);
var m = 0;
var n = 0;
var o = 0;
var p = 0;
var q = false;
var r = false;
o = d.x;
p = d.y;
var s = this.cw.b1;
var t = this.aa1.cy();
var u = this.ah1();
var v = this.ahx(u, l, e, d);
var w = v.x;
var x = v.y;
{
}
b.l.add(w);
b.m.add(x);
b.f.add(w);
b.g.add(x);
b.k.add(l.width);
b.j.add(l.height);
b.i.add1(g);
var y = null;
b.h.add(y);
this.aa1.cg.count = 1;
};
DataToolTipLayer.prototype.ac9 = function (a) {
return a.toolTip;
};
DataToolTipLayer.prototype.yy = function (a, b) {
_super.prototype.yy.call(this, a, b);