igniteui-webcomponents-charts
Version:
Ignite UI Web Components charting components for building rich data visualizations using TypeScript APIs.
1,904 lines • 67.3 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 { AnnotationLayer } from "./AnnotationLayer";
import { Axis } from "./Axis";
import { DependencyProperty } from "igniteui-webcomponents-core";
import { DataToolTipLayerGroupingMode_$type } from "igniteui-webcomponents-core";
import { Series } from "./Series";
import { Rect } from "igniteui-webcomponents-core";
import { Base, enumGetBox, EnumUtil, fromEnum, typeCast, String_$type, typeGetValue, Point_$type, Array_$type, markType, markDep, runOn, TypeRegistrar } from "igniteui-webcomponents-core";
import { Size } from "igniteui-webcomponents-core";
import { RectUtil } from "igniteui-webcomponents-core";
import { DataTooltipGroupedPositionX_$type } from "igniteui-webcomponents-core";
import { DataTooltipGroupedPositionY_$type } from "igniteui-webcomponents-core";
import { DataAbbreviationMode_$type } from "igniteui-webcomponents-core";
import { DataLegendValueMode_$type } from "igniteui-webcomponents-core";
import { Thickness } from "igniteui-webcomponents-core";
import { Brush } from "igniteui-webcomponents-core";
import { DataLegendHeaderDateMode_$type } from "igniteui-webcomponents-core";
import { DataLegendHeaderTimeMode_$type } from "igniteui-webcomponents-core";
import { DataLegendSummaryType_$type } from "igniteui-webcomponents-core";
import { LegendItemBadgeShape_$type } from "igniteui-webcomponents-core";
import { DataLegendLayoutMode_$type } from "igniteui-webcomponents-core";
import { DataLegendUnitsMode_$type } from "igniteui-webcomponents-core";
import { DataLegendLabelMode_$type } from "igniteui-webcomponents-core";
import { DataToolTipLayerFrame } from "./DataToolTipLayerFrame";
import { Dictionary$2 } from "igniteui-webcomponents-core";
import { List$1 } from "igniteui-webcomponents-core";
import { Pool$1 } from "igniteui-webcomponents-core";
import { DataToolTipSeriesInfo } from "./DataToolTipSeriesInfo";
import { DataContext } from "igniteui-webcomponents-core";
import { DataTooltipCollisionInfo } from "./DataTooltipCollisionInfo";
import { DeviceUtils } from "igniteui-webcomponents-core";
import { HashSet$1 } from "igniteui-webcomponents-core";
import { PropertyMetadata } from "igniteui-webcomponents-core";
import { isNaN_ } from "igniteui-webcomponents-core";
import { stringEmpty } from "igniteui-webcomponents-core";
import { AnnotationLayerView } from "./AnnotationLayerView";
import { PointerTooltip } from "./PointerTooltip";
import { IOnDemandRender_$type } from "igniteui-webcomponents-core";
/**
* @hidden
*/
export let DataToolTipLayer = /*@__PURE__*/ (() => {
class DataToolTipLayer extends AnnotationLayer {
bk() {
return new DataToolTipLayer();
}
get_et() {
return true;
}
constructor() {
super();
this.aa0 = 1;
this.ab5 = new Dictionary$2(String_$type, Base.$, 0);
this.ab6 = new List$1(String_$type, 0);
this.aas = 8;
this.aaw = 11;
this.abg = null;
this.aa8 = null;
this.aa7 = null;
this.abb = null;
this.abd = null;
this.aba = null;
this.abc = null;
this.abf = null;
this.abe = null;
this.aa9 = null;
let a = new DataToolTipLayerFrame();
let b = new DataToolTipLayerFrame();
let c = new DataToolTipLayerFrame();
this.xh = a;
this.xg = b;
this.xi = c;
this.ab = DataToolTipLayer.$;
}
ct() {
return new DataToolTipLayerView(this);
}
q3(a) {
super.q3(a);
this.aa4 = a;
}
get_e4() {
return true;
}
get aa1() {
return this.aa0;
}
set aa1(a) {
let b = this.aa0;
this.aa0 = a;
if (b != this.aa0) {
this.raisePropertyChanged("ActualGroupingMode", enumGetBox(DataToolTipLayerGroupingMode_$type, b), enumGetBox(DataToolTipLayerGroupingMode_$type, this.aa0));
}
}
aa3() {
let a = true;
let b = true;
let c = true;
let d = true;
if (this.aa2 != 0) {
return this.aa2;
}
let e = this.aai();
if (e != null) {
for (let f of fromEnum(e.db())) {
if (!f.eu && !f.fx) {
a = false;
}
if (!f.eu && !f.fq) {
b = false;
}
if (!f.eu && !f.fy) {
c = false;
}
if (!f.eu && !f.fu) {
d = false;
}
}
}
if (a || b || c || d) {
return 2;
}
return 1;
}
rc(a, b, c, d) {
super.rc(a, b, c, d);
switch (b) {
case DataToolTipLayer.$$p[42]:
this.ru(true);
break;
case DataToolTipLayer.$$p[49]:
this.ru(true);
break;
case DataToolTipLayer.$$p[12]:
this.aa1 = this.aa3();
break;
case "ActualGroupingMode":
this.ru(true);
break;
case DataToolTipLayer.$$p[10]:
this.aat = this.aav();
break;
case DataToolTipLayer.$$p[11]:
this.aax = this.aaz();
break;
case "SeriesViewer":
this.aa4.c1();
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.aft(b, c, d);
break;
}
}
aft(a, b, c) {
if (!this.ab5.containsKey(a)) {
this.ab6.add(a);
this.ab5.addItem(a, c);
}
else {
this.ab5.item(a, c);
}
this.ru(true);
}
afx(a, b) {
switch (a) {
case DataToolTipLayer.$$p[12]:
this.aa2 = EnumUtil.getEnumValue(DataToolTipLayerGroupingMode_$type, b);
break;
case DataToolTipLayer.$$p[29]:
this.aca = b;
break;
case DataToolTipLayer.$$p[30]:
this.acb = b;
break;
case DataToolTipLayer.$$p[2]:
this.ab8 = b;
break;
case DataToolTipLayer.$$p[3]:
this.ab9 = b;
break;
case DataToolTipLayer.$$p[10]:
this.aau = EnumUtil.getEnumValue(DataTooltipGroupedPositionX_$type, b);
break;
case DataToolTipLayer.$$p[11]:
this.aay = EnumUtil.getEnumValue(DataTooltipGroupedPositionY_$type, b);
break;
case DataToolTipLayer.$$p[31]:
this.ab0 = b;
break;
case DataToolTipLayer.$$p[24]:
this.aag = b;
break;
case DataToolTipLayer.$$p[5]:
this.aab = b;
break;
case DataToolTipLayer.$$p[23]:
this.aaf = b;
break;
case DataToolTipLayer.$$p[4]:
this.aaa = b;
break;
case DataToolTipLayer.$$p[50]:
this.aak = EnumUtil.getEnumValue(DataAbbreviationMode_$type, b);
break;
case DataToolTipLayer.$$p[52]:
this.ada = typeGetValue(b);
break;
case DataToolTipLayer.$$p[53]:
this.adb = typeGetValue(b);
break;
case DataToolTipLayer.$$p[54]:
this.aar = EnumUtil.getEnumValue(DataLegendValueMode_$type, b);
break;
case DataToolTipLayer.$$p[51]:
this.afb = b;
break;
case DataToolTipLayer.$$p[57]:
this.ab2 = b;
break;
case DataToolTipLayer.$$p[56]:
this.afh = b;
break;
case DataToolTipLayer.$$p[55]:
this.aah = b;
break;
case DataToolTipLayer.$$p[58]:
this.aig = b;
break;
case DataToolTipLayer.$$p[59]:
this.ab3 = b;
break;
case DataToolTipLayer.$$p[63]:
this.afq = b;
break;
case DataToolTipLayer.$$p[62]:
this.ab4 = b;
break;
case DataToolTipLayer.$$p[61]:
this.aih = b;
break;
case DataToolTipLayer.$$p[60]:
this.ahz = b;
break;
case "ValueTextStyle":
this.abq = b;
break;
case DataToolTipLayer.$$p[16]:
this.ady = b;
break;
case DataToolTipLayer.$$p[15]:
this.aae = b;
break;
case DataToolTipLayer.$$p[13]:
this.adu = b;
break;
case DataToolTipLayer.$$p[14]:
this.aal = EnumUtil.getEnumValue(DataLegendHeaderDateMode_$type, b);
break;
case DataToolTipLayer.$$p[17]:
this.aam = EnumUtil.getEnumValue(DataLegendHeaderTimeMode_$type, b);
break;
case DataToolTipLayer.$$p[22]:
this.ad3 = b;
break;
case DataToolTipLayer.$$p[20]:
this.ahr = b;
break;
case DataToolTipLayer.$$p[21]:
this.aia = b;
break;
case DataToolTipLayer.$$p[18]:
this.ah9 = b;
break;
case DataToolTipLayer.$$p[19]:
this.abt = b;
break;
case "HeaderTextStyle":
this.abi = b;
break;
case DataToolTipLayer.$$p[28]:
this.aao = EnumUtil.getEnumValue(DataLegendLayoutMode_$type, b);
break;
case DataToolTipLayer.$$p[8]:
this.ahq = b;
break;
case DataToolTipLayer.$$p[9]:
this.ah8 = b;
break;
case DataToolTipLayer.$$p[6]:
this.ah7 = b;
break;
case DataToolTipLayer.$$p[7]:
this.abs = b;
break;
case "GroupTextStyle":
this.abh = b;
break;
case DataToolTipLayer.$$p[35]:
this.ahu = b;
break;
case "SummaryTitleTextStyle":
this.abl = b;
break;
case DataToolTipLayer.$$p[38]:
this.aap = EnumUtil.getEnumValue(DataLegendSummaryType_$type, b);
break;
case DataToolTipLayer.$$p[37]:
this.aen = b;
break;
case DataToolTipLayer.$$p[36]:
this.aid = b;
break;
case DataToolTipLayer.$$p[34]:
this.aic = b;
break;
case DataToolTipLayer.$$p[41]:
this.ahw = b;
break;
case "SummaryValueTextStyle":
this.abn = b;
break;
case DataToolTipLayer.$$p[33]:
this.aei = b;
break;
case DataToolTipLayer.$$p[32]:
this.aht = b;
break;
case "SummaryLabelTextStyle":
this.abk = b;
break;
case DataToolTipLayer.$$p[40]:
this.aet = b;
break;
case DataToolTipLayer.$$p[39]:
this.ahv = b;
break;
case "SummaryUnitsTextStyle":
this.abm = b;
break;
case DataToolTipLayer.$$p[0]:
this.ah6 = b;
break;
case DataToolTipLayer.$$p[1]:
this.aa6 = EnumUtil.getEnumValue(LegendItemBadgeShape_$type, b);
break;
case DataToolTipLayer.$$p[45]:
this.aaq = EnumUtil.getEnumValue(DataLegendUnitsMode_$type, b);
break;
case DataToolTipLayer.$$p[48]:
this.ae4 = b;
break;
case DataToolTipLayer.$$p[46]:
this.ahy = b;
break;
case DataToolTipLayer.$$p[47]:
this.aif = b;
break;
case "UnitsTextStyle":
this.abp = b;
break;
case DataToolTipLayer.$$p[44]:
this.aie = b;
break;
case DataToolTipLayer.$$p[43]:
this.ahx = b;
break;
case "TitleTextStyle":
this.abo = b;
break;
case DataToolTipLayer.$$p[25]:
this.aan = EnumUtil.getEnumValue(DataLegendLabelMode_$type, b);
break;
case DataToolTipLayer.$$p[26]:
this.ahs = b;
break;
case DataToolTipLayer.$$p[27]:
this.aib = b;
break;
case "LabelTextStyle":
this.abj = b;
break;
}
}
afu(a) {
for (let b = 0; b < this.ab6.count; b++) {
let c = this.ab6._inner[b];
a.updatePropertyByName(c, this.ab5.item(c));
}
}
yv(a, b) {
{
if (!this.a1.c) {
this.ru(b);
}
}
}
yw(a, b) {
if (!this.a1.c) {
this.ru(b);
}
}
yy(a, b) {
super.yy(a, b);
this.aa0 = this.aa3();
let c = a;
let d = this.aa4.cp;
let e = this.ab1;
let 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.z7.x) && isNaN_(this.z7.y)) {
d.count = 0;
return;
}
{
if (this.aa1 == 2) {
let g = 0;
{
for (let h of fromEnum(this.dc.series)) {
if (this.xn(h)) {
this.afw(h, c, e, f, g);
g++;
}
if (h.isStacked) {
h.p5((i) => {
if (this.xn(i)) {
this.afw(i, c, e, f, g);
g++;
}
if (i.ei) {
i.p3((j) => {
if (this.xn(j)) {
this.afw(j, c, e, f, g);
g++;
}
return true;
});
}
return true;
});
}
if (h.ei) {
h.p3((i) => {
if (this.xn(i)) {
this.afw(i, c, e, f, g);
g++;
}
return true;
});
}
}
this.afs(c);
}
d.count = g;
}
else {
let i = this.aai();
let j = this.ab7(i);
let k = this.aa5(i, j, e);
this.afv(k, c, e);
}
}
}
ab7(a) {
let b = new List$1(Series.$, 0);
if (a == null) {
return b;
}
for (let c of fromEnum(a.df)) {
b.add(c);
}
return b;
}
aai() {
if (this.aaj != null) {
return this.aaj;
}
if (this.dc == null) {
return null;
}
for (let a of fromEnum(this.dc.series)) {
if (a.e0) {
let b = a.a0();
if (b != null && b.co()) {
return b;
}
}
}
for (let c of fromEnum(this.dc.series)) {
if (!c.e0) {
let d = c.ai();
let e = d != null && d.length > 0 ? d[0] : null;
if (e != null && e.co()) {
return e;
}
}
}
return null;
}
aa5(a, b, c) {
let d = 1.7976931348623157E+308;
let e = -1.7976931348623157E+308;
let f = new List$1(DataContext.$, 0);
let g = new List$1(Base.$, 0);
let h = false;
let i = true;
let j = { $type: Point_$type, x: NaN, y: NaN };
let k = 0;
let l = 0;
for (let m = 0; m < b.count; m++) {
let n = b.item(m);
k = n.dc.l;
l = n.dc.m;
if (n.e0) {
let o = n;
let p = new List$1(Series.$, 0);
if (o.isStacked) {
o.p5((q) => {
p.add(q);
if (q.ei) {
q.p3((r) => {
p.add(r);
return true;
});
}
return true;
});
}
else if (o.ei) {
p.add(o);
o.p3((q) => {
p.add(q);
return true;
});
}
else {
p.add(o);
}
for (let q = 0; q < p.count; q++) {
let r = p._inner[q];
let s = p._inner[q];
if (s.dc == null) {
continue;
}
if (!r.categoryAxis.co()) {
continue;
}
if (i) {
h = s.isVertical;
}
else {
if (h != s.isVertical) {
continue;
}
}
let t = this.yr(s);
if (!t.c) {
continue;
}
j = s.wc(t.d);
let u = s.wh(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 {
let v = n.ai();
for (let w = 0; w < v.length; w++) {
if (!v[w].co()) {
continue;
}
}
let x = n.wh(this.z7, c, false);
j = n.wc(this.z7);
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);
}
}
}
let y = null;
let z = n.ko(this.z7);
if (n.e5 && z != null) {
y = n.a3(z);
}
else {
y = new DataContext();
y.item = z;
y.series = n;
}
f.add(y);
}
let aa = 0;
let ab = 0;
if (h) {
ab = (d + e) / 2;
aa = this.wx.right;
if (!isNaN_(j.x)) {
aa = j.x;
}
if (ab < 0 || ab > this.wx.bottom) {
ab = NaN;
}
}
else {
aa = (d + e) / 2;
if (!isNaN_(j.y)) {
ab = j.y;
}
if (aa < 0 || aa > this.wx.right) {
aa = NaN;
}
}
let 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;
}
p9() {
this.z7 = { $type: Point_$type, x: NaN, y: NaN };
this.ru(false);
this.aa4.cz(false);
}
qa() {
this.z7 = { $type: Point_$type, x: NaN, y: NaN };
this.ru(false);
this.aa4.cz(true);
}
get ah3() {
let a = RectUtil.n(this.cw.b9);
let b = new Size(1, this.cw.b9.width, this.cw.b9.height);
return new Rect(3, a, b);
}
get ah2() {
let a = RectUtil.n(this.cw.b9);
let b = new Size(1, this.cw.b9.width, this.cw.b9.height);
return new Rect(3, this.aa4.c2(a), b);
}
get ah1() {
let a = new Rect(0, 0, 0, this.dc.m, this.dc.l);
let b = RectUtil.n(a);
let c = new Size(1, a.width, a.height);
return new Rect(3, this.aa4.c2(b), c);
}
get ah5() {
let a = { $type: Point_$type, x: 0, y: 0 };
return new Rect(3, a, this.aa4.c7());
}
ah4() {
return this.ah3;
}
abx(a, b, c) {
if (Rect.l_op_Equality(a, Rect.empty)) {
return false;
}
let d = a.top;
return c < d;
}
abu(a, b, c, d) {
if (Rect.l_op_Equality(a, Rect.empty)) {
return false;
}
let e = a.bottom;
return c + d.height >= e;
}
abv(a, b, c) {
if (Rect.l_op_Equality(a, Rect.empty)) {
return false;
}
let d = a.left;
return c < d;
}
abw(a, b, c, d) {
if (Rect.l_op_Equality(a, Rect.empty)) {
return false;
}
let e = a.right;
return c + d.width > e;
}
ac0(a, b) {
return a.top + b;
}
acy(a, b, c) {
return a.bottom - c.height - b;
}
acz(a, b) {
return ((a.bottom + a.top) / 2) - (b.height / 2);
}
ac9(a, b, c, d, e) {
let f = c.y - d.height - b;
return f;
}
ac7(a, b, c, d, e) {
let f = c.y + b;
return f;
}
ac8(a, b, c, d, e) {
let f = c.y - (d.height / 2);
return f;
}
ac3(a, b, c, d, e) {
let f = c.y - d.height;
f = f - b;
return f;
}
ac1(a, b, c, d, e) {
let f = c.y;
f = f + b;
return f;
}
ac2(a, b, c, d, e) {
let f = c.y - (d.height / 2);
return f;
}
acj(a, b) {
return a.left + b;
}
acl(a, b, c) {
return (a.right - (c.width)) - b;
}
ack(a, b, c) {
return ((a.right + a.left) / 2) - (c.width / 2) + b;
}
acs(a, b, c, d, e) {
let f = (c.x - d.width) - b;
return f;
}
acu(a, b, c, d, e) {
let f = c.x + b;
return f;
}
act(a, b, c, d, e) {
let f = (c.x - (d.width / 2));
f = f + b;
return f;
}
acp(a, b, c, d, e) {
let f = c.x - d.width;
f = f - b;
return f;
}
acr(a, b, c, d, e) {
let f = c.x;
f = f + b;
return f;
}
acq(a, b, c, d, e) {
let f = c.x - (d.width / 2);
f = f + b;
return f;
}
acf(a, b, c, d, e, f, g, h) {
switch (a) {
case 1:
{
return this.ac3(e, b, h, f, true);
}
case 2:
{
return this.ac1(e, b, h, f, true);
}
case 3:
{
return this.ac2(e, b, h, f, true);
}
case 5: return this.ac4(e, c, b, h, f);
case 6: return this.ac5(e, c, b, h, f);
case 4: return this.ac6(e, c, b, h, f);
case 8: return this.acv(e, c, b, h, f);
case 9: return this.acw(e, c, b, h, f);
case 7: return this.acx(e, c, b, h, f);
case 13: return this.ac0(d, b);
case 14: return this.acy(d, b, f);
case 15: return this.acz(d, f);
case 10: return this.ac9(e, b, g, f, true);
case 12: return this.ac8(e, b, g, f, true);
case 11:
default: return this.ac7(e, b, g, f, true);
}
}
acm(a, b, c, d, e) {
let f = d.x;
f = f + b / 2;
f = f - e.width;
f = f - c;
return f;
}
acn(a, b, c, d, e) {
let f = d.x;
f = f + b / 2;
f = f - e.width / 2;
f = f + c;
return f;
}
aco(a, b, c, d, e) {
let f = d.x;
f = f + b / 2;
f = f + c;
return f;
}
acg(a, b, c, d, e) {
let f = d.x;
f = f - b / 2;
f = f - e.width;
f = f - c;
return f;
}
ach(a, b, c, d, e) {
let f = d.x;
f = f - b / 2;
f = f - e.width / 2;
f = f + c;
return f;
}
aci(a, b, c, d, e) {
let f = d.x;
f = f - b / 2;
f = f + c;
return f;
}
acx(a, b, c, d, e) {
let f = d.y;
f = f + b / 2;
f = f - e.height;
f = f - c;
return f;
}
acw(a, b, c, d, e) {
let f = d.y;
f = f + b / 2;
f = f - e.height / 2;
f = f + c;
return f;
}
acv(a, b, c, d, e) {
let f = d.y;
f = f + b / 2;
f = f + c;
return f;
}
ac6(a, b, c, d, e) {
let f = d.y;
f = f - b / 2;
f = f - e.height;
f = f - c;
return f;
}
ac5(a, b, c, d, e) {
let f = d.y;
f = f - b / 2;
f = f - e.height / 2;
f = f + c;
return f;
}
ac4(a, b, c, d, e) {
let f = d.y;
f = f - b / 2;
f = f + c;
return f;
}
ace(a, b, c, d, e, f, g, h) {
switch (a) {
case 10: return this.acs(e, b, g, f, true);
case 11: return this.acu(e, b, g, f, true);
case 12: return this.act(e, b, g, f, true);
case 13: return this.acj(d, b);
case 14: return this.acl(e, b, f);
case 15: return this.ack(e, b, f);
case 5: return this.aci(e, c, b, h, f);
case 6: return this.ach(e, c, b, h, f);
case 4: return this.acg(e, c, b, h, f);
case 8: return this.aco(e, c, b, h, f);
case 9: return this.acn(e, c, b, h, f);
case 7: return this.acm(e, c, b, h, f);
case 1:
{
return this.acp(e, b, h, f, true);
}
case 3:
{
return this.acq(e, b, h, f, true);
}
case 2:
default:
{
return this.acr(e, b, h, f, true);
}
}
}
ah0(a, b, c, d) {
let e = this.aat;
let f = this.aax;
let g = this.aai();
let h = 0;
if (g != null && g.cb && this.dc != null) {
h = g.getCategorySize(this.dc.wh, this.wx, this.getEffectiveViewport());
if (g.categoryMode == 0) {
h = 0;
}
}
let i = this.acc(e);
let j = this.acd(f);
let k = this.ace(e, i, h, this.ah3, a, b, c, d);
let l = this.acf(f, j, h, this.ah3, a, b, c, d);
let m = this.aby(a, i, k, b);
let n = this.abz(a, j, l, b);
if (!m) {
let o = this.aac(e);
let p = 0;
while (!m && p < o.length) {
e = o[p];
i = this.acc(e);
k = this.ace(e, i, h, this.ah3, a, b, c, d);
m = this.aby(a, i, k, b);
p++;
}
}
if (!n) {
let q = this.aad(f);
let r = 0;
while (!n && r < q.length) {
f = q[r];
j = this.acd(f);
l = this.acf(f, j, h, this.ah3, a, b, c, d);
n = this.abz(a, j, l, b);
r++;
}
}
return { $type: Point_$type, x: k, y: l };
}
acd(a) {
if (!isNaN_(this.acb)) {
return this.acb;
}
switch (a) {
case 1: return this.ab9;
case 2: return this.ab9;
case 3: return 0;
case 4: return this.ab9;
case 5: return this.ab9;
case 6: return this.ab9;
case 7: return this.ab9;
case 8: return this.ab9;
case 9: return 0;
case 10: return this.ab9;
case 11: return this.ab9;
case 12: return 0;
case 13: return this.ab9;
case 14: return this.ab9;
case 15: return 0;
}
return this.ab9;
}
acc(a) {
if (!isNaN_(this.aca)) {
return this.aca;
}
switch (a) {
case 4: return this.ab8;
case 6: return 0;
case 5: return this.ab8;
case 13: return this.ab8;
case 15: return 0;
case 14: return this.ab8;
case 7: return this.ab8;
case 9: return 0;
case 8: return this.ab8;
case 1: return this.ab8;
case 3: return 0;
case 2: return this.ab8;
case 10: return this.ab8;
case 12: return 0;
case 11: return this.ab8;
}
return this.ab8;
}
aad(a) {
let 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;
}
aac(a) {
let 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;
}
aby(a, b, c, d) {
return !(this.abv(a, b, c) || this.abw(a, b, c, d));
}
abz(a, b, c, d) {
return !(this.abx(a, b, c) || this.abu(a, b, c, d));
}
afs(a) {
let b = new List$1(DataTooltipCollisionInfo.$, 0);
for (let c = 0; c < a.f.count; c++) {
let 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((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;
});
let e = this.abr(b);
if (!e) {
return;
}
for (let f = 0; f < b.count - 1; f++) {
let g = b._inner[f];
let h = b._inner[f + 1];
let i = new Rect(0, g.e.x, g.e.y, g.c, g.a);
let 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.b9.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.b9.height) };
}
for (let k = b.count - 1; k >= 1; k--) {
let l = b._inner[k];
let m = b._inner[k - 1];
let n = new Rect(0, l.e.x, l.e.y, l.c, l.a);
let 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 (let p = 0; p < b.count; p++) {
let q = b._inner[p].d;
let r = b._inner[p];
a.f._inner[q] = r.e.x;
a.g._inner[q] = r.e.y;
}
}
abr(a) {
if (a.count <= 1) {
return false;
}
let b = this.cw.b9;
for (let c = 0; c < a.count - 1; c++) {
let d = a._inner[c];
let e = a._inner[c + 1];
let f = new Rect(0, d.e.x, d.e.y, d.c, d.a);
let g = new Rect(0, e.e.x, e.e.y, e.c, e.a);
if (f.intersectsWith(g)) {
return true;
}
}
return false;
}
afw(a, b, c, d, e) {
let f = this.yr(a);
if (!f.c) {
return;
}
let g = a.wh(f.d, c, d);
let h = this.aa4.cp;
let i = this.z7;
if (!c) {
i = this.wm(g);
}
let j = a.ko(i);
let k = h.item(e);
let l = this.cw.b9;
let m = this.aa4.co(k);
if (!Base.equalsStatic(m.target, this.dc)) {
m.target = this.dc;
}
let n = new List$1(String_$type, 0);
if (a.ei && this.aa1 == 2) {
a.p3((o) => {
if (this.xn(o)) {
n.add(o.dataLegendKey);
}
return true;
});
}
m.includedSeries = [a.dataLegendKey];
m.excludedSeries = n.toArray();
this.afu(m);
m.targetCursorPositionX = this.z7.x;
m.targetCursorPositionY = this.z7.y;
if (!this.aa4.cr(k, a)) {
return;
}
let o = this.aa4.c6(k);
b.i.add1(k);
let p = g.x;
let q = g.x;
q = Math.max(q, l.left);
q = Math.min(q, l.right);
b.l.add(q);
let r = g.y;
r = Math.max(r, l.top);
r = Math.min(r, l.bottom);
b.m.add(r);
let s = DeviceUtils.g(10);
let 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);
let 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);
let v = this.ve;
if (v == null) {
v = this.vk;
}
if (v == null) {
v = a.ve;
}
b.h.add(v);
}
afv(a, b, c) {
this.aas = this.aav();
this.aaw = this.aaz();
let d = a.f;
let e = a.e;
let f = 0;
let g = this.aa4.cp.item(0);
this.aa4.cr(g, null);
let h = this.aa4.co(g);
if (!Base.equalsStatic(h.target, this.dc)) {
h.target = this.dc;
}
let i = new List$1(String_$type, 0);
let j = this.aai();
if (j != null) {
for (let k of fromEnum(j.db())) {
if (k.isStacked) {
k.p5((l) => {
i.add(l.dataLegendKey);
if (l.ei) {
l.p3((m) => {
i.add(m.dataLegendKey);
return true;
});
}
return true;
});
}
else if (k.ei) {
i.add(k.dataLegendKey);
k.p3((l) => {
i.add(l.dataLegendKey);
return true;
});
}
else {
i.add(k.dataLegendKey);
}
}
h.includedSeries = i.toArray();
h.excludedSeries = null;
}
else {
h.includedSeries = null;
h.excludedSeries = null;
}
this.afu(h);
h.targetCursorPositionX = this.z7.x;
h.targetCursorPositionY = this.z7.y;
let l = this.aa4.c6(g);
let m = 0;
let n = 0;
let o = 0;
let p = 0;
let q = false;
let r = false;
o = d.x;
p = d.y;
let s = this.cw.b9;
let t = this.aa4.c7();
let u = this.ah4();
let v = this.ah0(u, l, e, d);
let w = v.x;
let 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);
let y = null;
b.h.add(y);
this.aa4.cp.count = 1;
}
adc(a) {
return a.toolTip;
}
y1(a, b) {
super.y1(a, b);
let c = a;
let d = c.m.count;
let e = b.b9.left;
let f = b.b9.right;
let g = b.b9.top;
let h = b.b9.bottom;
for (let i = 0; i < d; i++) {
if (isNaN_(c.l._inner[i]) || isNaN_(c.m._inner[i]) || isNaN_(c.f._inner[i]) || isNaN_(c.g._inner[i])) {
this.aa4.cy(c.i._inner[i]);
continue;
}
let j = c.f._inner[i];
let k = c.g._inner[i];
let l = c.k._inner[i];
let m = c.j._inner[i];
let n = false;
if (n) {
this.aa4.cy(c.i._inner[i]);
continue;
}
let o = c.i._inner[i];
let p = Math.min(c.f._inner[i], c.l._inner[i]);
let q = Math.min(c.g._inner[i], c.m._inner[i]);
let r = c.l._inner[i] - c.f._inner[i];
let s = c.m._inner[i] - c.g._inner[i];
if (o != null) {
this.aa4.c0(o, p, q, r, s);
}
}
}
gb() {
return true;
}
get aat() {
return this.aas;
}
set aat(a) {
let b = this.aas;
this.aas = a;
if (b != this.aas) {
this.raisePropertyChanged("ActualGroupedPositionModeX", enumGetBox(DataTooltipGroupedPositionX_$type, b), enumGetBox(DataTooltipGroupedPositionX_$type, this.aas));
}
}
aav() {
if (this.dc == null) {
return 2;
}
let a = false;
let b = false;
let c = false;
let d = false;
let e = this.aai();
if (e == null) {
if (this.aau != 0) {
return this.aau;
}
else {
return 2;
}
}
for (let f of fromEnum(e.df)) {
if (f.e1) {
a = true;
}
if (f.isVertical) {
b = true;
}
if (f.fq) {
c = true;
}
if (f.fx) {
d = true;
}
}
let g = ((() => {
let $ret = new HashSet$1(DataTooltipGroupedPositionX_$type, 0);
$ret.add_1(1);
$ret.add_1(2);
$ret.add_1(3);
$ret.add_1(4);
$ret.add_1(5);
$ret.add_1(6);
$ret.add_1(7);
$ret.add_1(8);
$ret.add_1(9);
return $ret;
})());
let h = g.contains(this.aau);
if (this.aau != 0) {
return this.aau;
}
if (h && b) {
return 11;
}
if (c || d) {
return 11;
}
if (b) {
return 11;
}
if (a) {
return 8;
}
return 8;
}
get aax() {
return this.aaw;
}
set aax(a) {
let b = this.aaw;
this.aaw = a;
if (b != this.aaw) {
this.raisePropertyChanged("ActualPositionModeY", enumGetBox(DataTooltipGroupedPositionY_$type, b), enumGetBox(DataTooltipGroupedPositionY_$type, this.aaw));
}
}
aaz() {
if (this.dc == null) {
return 11;
}
let a = false;
let b = false;
let c = false;
let d = this.aai();
if (d == null) {
if (this.aay != 0) {
return this.aay;
}
else {
return 11;
}
}
for (let e of fromEnum(d.db())) {
if (e.isVertical) {
a = true;
}
if (e.fq) {
b = true;
}
if (e.fx) {
c = true;
}
}
let f = ((() => {
let $ret = new HashSet$1(DataTooltipGroupedPositionY_$type, 0);
$ret.add_1(1);
$ret.add_1(2);
$ret.add_1(3);
$ret.add_1(4);
$ret.add_1(5);
$ret.add_1(6);
$ret.add_1(7);
$ret.add_1(8);
$ret.add_1(9);
return $ret;
})());
let g = f.contains(this.aay);
if (this.aay != 0) {
return this.aay;
}
if (g && !a) {
return 11;
}
if (b || c) {
return 11;
}
if (a) {
return 8;
}
if (!a) {
return 11;
}
return 11;
}
get abq() {
return this.abg;
}
set abq(a) {
let b = this.abg;
this.abg = a;
if (b != this.abg) {
this.raisePropertyChanged("ValueTextStyle", b, this.abg);
}
}
get abi() {
return this.aa8;
}
set abi(a) {
let b = this.aa8;
this.aa8 = a;
if (b != this.aa8) {
this.raisePropertyChanged("HeaderTextStyle", b, this.aa8);
}
}
get abh() {
return this.aa7;
}
set abh(a) {
let b = this.aa7;
this.aa7 = a;
if (b != this.aa7) {
this.raisePropertyChanged("GroupTextStyle", b, this.aa7);
}
}
get abl() {
return this.abb;
}
set abl(a) {
let b = this.abb;
this.abb = a;
if (b != this.abb) {
this.raisePropertyChanged("SummaryTitleTextStyle", b, this.abb);
}
}
get abn() {
return this.abd;
}
set abn(a) {
let b = this.abd;
this.abd = a;
if (b != this.abd) {
this.raisePropertyChanged("SummaryValueTextStyle", b, this.abd);
}
}
get abk() {
return this.aba;
}
set abk(a) {
let b = this.aba;
this.aba = a;
if (b != this.aba) {
this.raisePropertyChanged("SummaryLabelTextStyle", b, this.aba);
}
}
get abm() {
return this.abc;
}
set abm(a) {
let b = this.abc;
this.abc = a;
if (b != this.abc) {
this.raisePropertyChanged("SummaryUnitsTextStyle", b, this.abc);
}
}
get abp() {
return this.abf;
}
set abp(a) {
let b = this.abf;
this.abf = a;
if (b != this.abf) {
this.raisePropertyChanged("UnitsTextStyle", b, this.abf);
}
}
get abo() {
return this.abe;
}
set abo(a) {
let b = this.abe;
this.abe = a;
if (b != this.abe) {
this.raisePropertyChanged("TitleTextStyle", b, this.abe);
}
}
get abj() {
return this.aa9;
}
set abj(a) {
let b = this.aa9;
this.aa9 = a;
if (b != this.aa9) {
this.raisePropertyChanged("LabelTextStyle", b, this.aa9);
}
}
}
DataToolTipLayer.$t = /*@__PURE__*/ markType(DataToolTipLayer, 'DataToolTipLayer', AnnotationLayer.$);
DataToolTipLayer.$$p = /*@__PURE__*/ markDep(DependencyProperty, PropertyMetadata, DataToolTipLayer, 'raisePropertyChanged', ['BadgeMargin:ah6:afy', [Thickness.$, /*@__PURE__*/ new Thickness(1, 0, 0, 0, 0)], 'BadgeShape:aa6:afz', [LegendItemBadgeShape_$type, /*@__PURE__*/ enumGetBox(LegendItemBadgeShape_$type, 0)], 'DefaultPositionOffsetX:ab8:af0', [1, /*@__PURE__*/ DeviceUtils.g(10)], 'DefaultPositionOffsetY:ab9:af1', [1, /*@__PURE__*/ DeviceUtils.g(10)], 'ExcludedColumns:aaa:af2', [Array_$type, null], 'ExcludedSeries:aab:af3', [Array_$type, null], 'GroupRowMargin:ah7:af7', [Thickness.$, /*@__PURE__*/ new Thickness(0, 5)], 'GroupRowVisible:abs:af8', [0, false], 'GroupTextColor:ahq:af9', [Brush.$, null], 'GroupTextMargin:ah8:aga', [Thickness.$, /*@__PURE__*/ new Thickness(1, 2, 0, 0, 0)], 'GroupedPositionModeX:aau:af4', [DataTooltipGroupedPositionX_$type, /*@__PURE__*/ enumGetBox(DataTooltipGroupedPositionX_$type, 0)], 'GroupedPositionModeY:aay:af5', [DataTooltipGroupedPositionY_$type, /*@__PURE__*/ enumGetBox(DataTooltipGroupedPositionY_$type, 0)], 'GroupingMode:aa2:af6', [DataToolTipLayerGroupingMode_$type, /*@__PURE__*/ enumGetBox(DataToolTipLayerGroupingMode_$type, 0)], 'HeaderFormatCulture:adu:agb', [2, /*@__PURE__*/ stringEmpty()], 'HeaderFormatDate:aal:agc', [DataLegendHeaderDateMode_$type, /*@__PURE__*/ enumGetBox(DataLegendHeaderDateMode_$type, 0)], 'HeaderFormatSpecifiers:aae:agd', [Array_$type, null], 'HeaderFormatString:ady:age', [2, null], 'HeaderFormatTime:aam:agf', [DataLegendHeaderTimeMode_$type, /*@__PURE__*/ enumGetBox(DataLegendHeaderTimeMode_$type, 0)], 'HeaderRowMargin:ah9:agg', [Thickness.$, /*@__PURE__*/ new Thickness(0, 5)], 'HeaderRowVisible:abt:agh', [0, true], 'HeaderTextColor:ahr:agi', [Brush.$, null], 'HeaderTextMargin:aia:agj', [Thickness.$, /*@__PURE__*/ new Thickness(1, 2, 0, 0, 0)], 'HeaderText:ad3:agk', [2, null], 'IncludedColumns:aaf:agl', [Array_$type, null], 'IncludedSeries:aag:agm', [Array_$type, null], 'LabelDisplayMode:aan:agn', [DataLegendLabelMode_$type, /*@__PURE__*/ enumGetBox(DataLegendLabelMode_$type, 0)], 'LabelTextColor:ahs:ago', [Brush.$, null], 'LabelTextMargin:aib:agp', [Thickness.$, /*@__PURE__*/ new Thickness(1, 8, 0, 0, 0)], 'LayoutMode:aao:agq', [DataLegendLayoutMode_$type, /*@__PURE__*/ enumGetBox(DataLegendLayoutMode_$type, 0)], 'PositionOffsetX:aca:agr', [1, NaN], 'PositionOffsetY:acb:ags', [1, NaN], 'ShouldUpdateWhenSeriesDataChanges:ab0:agt', [0, true], 'SummaryLabelTextColor:aht:agu', [Brush.$, null], 'SummaryLabelText:aei:agv', [2, null], 'SummaryRowMargin:aic:agw', [Thickness.$, /*@__PURE__*/ new Thickness(0, 5)], 'SummaryTitleTextColor:ahu:agx', [Brush.$, null], 'SummaryTitleTextMargin:aid:agy', [Thickness.$, /*@__PURE__*/ new Thickness(1, 2, 0, 0, 0)], 'SummaryTitleText:aen:agz', [2, null], 'SummaryType:aap:ag0', [DataLegendSummaryType_$type, /*@__PURE__*/ enumGetBox(DataLegendSummaryType_$type, 0)], 'SummaryUnitsTextColor:ahv:ag1', [Brush.$, null], 'SummaryUnitsText:aet:ag2', [2, null], 'SummaryValueTextColor:ahw:ag3', [Brush.$, null], 'TargetAxis:aaj:ag4', [Axis.$, null], 'TitleTextColor:ahx:ag5', [Brush.$, null], 'TitleTextMargin:aie:ag6', [Thickness.$, /*@__PURE__*/ new Thickness(1, 0, 0, 0, 0)], 'UnitsDisplayMode:aaq:ag7', [DataLegendUnitsMode_$type, /*@__PURE__*/ enumGetBox(DataLegendUnitsMode_$type, 0)], 'UnitsTextColor:ahy:ag8', [Brush.$, null], 'UnitsTextMargin:aif:ag9', [Thickness.$, /*@__PURE__*/ new Thickness(1, 0, 0, 0, 0)], 'UnitsText:ae4:aha', [2, null], 'UseInterpolation:ab1:ahb', [0, false], 'ValueFormatAbbreviation:aak:ahc', [DataAbbreviationMode_$type, /*@__PURE__*/ enumGetBox(DataAbbreviationMode_$type, 0)], 'ValueFormatCulture:afb:ahd', [2, /*@__PURE__*/ stringEmpty()], 'ValueFormatMaxFractions:ada:ahe', [1, -1], 'ValueFormatMinFractions:adb:ahf', [1, -1], 'ValueFormatMode:aar:ahg', [DataLegendValueMode_$type, /*@__PURE__*/ enumGetBox(DataLegendValueMode_$type, 0)], 'ValueFormatSpecifiers:aah:ahh', [Array_$type, null], 'ValueFormatString:afh:ahi', [2, null], 'ValueFormatUseGrouping:ab2:ahj', [0, true], 'ValueRowMargin:aig:ahk', [Thickness.$, /*@__PURE__*/ new Thickness(0, 5)], 'ValueRowVisible:ab3:ahl', [0, true], 'ValueTextColor:ahz:ahm', [Brush.$, null], 'ValueTextMargin:aih:ahn', [Thickness.$, /*@__PURE__*/ new Thickness(1, 2, 0, 2, 0)], 'ValueTextUseSeriesColors:ab4:aho', [0, false], 'ValueTextWhenMissingData:afq:ahp', [2, "N/A"]]);
return DataToolTipLayer;
})();
/**
* @hidden
*/
export let DataToolTipLayerView = /*@__PURE__*/ (() => {
class DataToolTipLayerView extends AnnotationLayerView {
constructor(a) {
super(a);
this.cp = null;
this.cs = null;
this.cn = null;
this.cq = false;
this._htmlTest = null;
this.cn = a;
this.htmlTest = /^[^<]*(<[\w\W]+>)[^>]*$/;
this.cs = new List$1(PointerTooltip.$, 0);
}
as() {
super.as();
for (let a = 0; a < this.cp.a.count; a++) {
this.cp.a._inner[a].br();
}
for (let b = 0; b < this.cp.b.count; b++) {
this.cp.b._inner[b].br();
}
this.cp.clear();
}
ct() {
let a = new PointerTooltip();
a.bw(this.f.j0);
a._visibility = 1;
a.ap = this.f.dc.c9.k;
let b = null;
if (TypeRegistrar.isRegistered("XamDataLegend")) {
b = TypeRegistrar.create("XamDataLegend");
}
b.pixelScalingRatio = 1;
b.isEmbeddedInDataTooltip = true;
if (this.f.dc != null) {
let c = this.f.dc.c9.j.ae.createElement("div");
let ren_ = this.f.dc.c9.j.ae.getSubRenderer(c);
let len_ = b;
len_.provideContainer(ren_);
}
a.ai = typeCast(IOnDemandRender_$type, b);
a.ai.shouldOnDemandRender = true;
this.cs.add(a);
return a;
}
cv(a) {
let b = a;
}
cx(a) {
let b = a;
b._visibility = 1;
}
cw(a) {
let b = a;
b.bz();
b.content = null;
this.cs.remove1(a);
}
a4() {
super.a4();
this.cp = ((() => {
let $ret = new Pool$1(Base.$);
$ret.create = runOn(this, this.ct);
$ret.activate = runOn(this, this.cv);
$ret.disactivate = runOn(this, this.cx);
$ret.destroy = runOn(this, this.cw);
return $ret;
})());
}
get htmlTest() {
return this._htmlTest;
}
set htmlTest(a) {
this._htmlTest = a;
}
cr(a, b) {
let c = a;
let d = c.ai;
return true;
}
c6(a) {
let b = a;
let c = new Size(1, Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY);
b.cy = 1;
let d = b.cx(new Size(1, Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY));
b.cy = 0;
return d;
}
c5() {
if (this.f.dc != null) {
let a = this.f.dc.wa();
let b = this.f.dc.c9.a8;
let c = this.f.dc.c9.a7;
return new Rect(0, 0, 0, b, c);
}
return Rect.empty;
}
c4() {
if (this.f.dc != null) {
let a = this.f.dc.wa();
let b = this.f.dc.c9.a8;
let c = this.f.dc.c9.a7;
return new Rect(0, 0, 0, b, c);
}
return Rect.empty;
}
c3() {
let a = 0;
let b = 0;
if (this.f.dc != null) {
let c = this.f.dc.wa();
a += c.x;
b += c.y;
let d = this.f.dc.c9.a8;
let e = this.f.dc.c9.a7;
return new Rect(0, a, b, d, e);
}
return Rect.empty;
}
c2(a) {
let b = 0;
let c = 0;
if (this.f.dc != null) {
let d = this.f.dc.wa();
b += d.x;
c += d.y;
}
return { $type: Point_$type, x: b + a.x, y: c + a.y };
}
c0(a, b, c, d, e) {
let f = null;
if (this.f.dc != null) {
f = this.f.dc.c9.j.i();
}
let g = a;
if (g == null) {
return;
}
if (d == 0 && e == 0) {
g.cy = 1;
}
else {
g.cy = 0;
}
g.aq = f;
g.cs = { $type: Point_$type, x: d, y: e };
g._visibility = 0;
g.n = b;
g.o = c;
}
c7() {
let a = (window.innerWidth);
let b = (window.innerHeight);
return new Size(1, a, b);
}
cy(a) {
if (a != null) {
let b = a;
b._visibility = 1;
}
}
c1() {
if (this.f.dc == null) {
this.cz(true);
}
}
bj(a, b) {
super.bj(a, b);
if (b) {
return;
}
let c = 0;
let d = 0;
let e = this.f.dc;
if (e != null) {
let f = e.c9.j.b8();
c += f.x;
d += f.y;
}
for (let g = 0; g < this.cs.count; g++) {
this.cs._inner[g].by(this.cs._inner[g].n + c, this.cs._inner[g].o + d);
}
}
ax(a) {
super.ax(a);
for (let b = 0; b < this.cs.count; b++) {
let c = this.cs._inner[b];
let d = 0;
let e = 0;
if (this.f.dc != null) {
let f = this.f.dc.wa();
d += f.x;
e += f.y;
}
let g = c.a5();
let h = c.n - d;
let i = c.o - e;
let j = c.ai;
let k = null;
if (j != null) {
k = j.exportVisualData();
}
this.f.bc.addPointerTooltipWithDataLegend(a, g, h, i, k);
}
}
co(a) {
let b = a;
let c = b.ai;
return c;
}
cz(a) {
this.a2();
for (let b = 0; b < this.cs.count; b++) {
this.cy(this.cs._inner[b]);
if (a) {
this.cs._inner[b].bs();
}
}
}
}
DataToolTipLayerView.$t = /*@__PURE__*/ markType(DataToolTipLayerView, 'DataToolTipLayerView', AnnotationLayerView.$);
return DataToolTipLayerView;
})();