igniteui-webcomponents-charts
Version:
Ignite UI Web Components charting components for building rich data visualizations using TypeScript APIs.
1,492 lines (1,491 loc) • 169 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, INotifyPropertyChanged_$type, BaseError, PropertyChangedEventArgs, runOn, delegateCombine, delegateRemove, Delegate_$type, fromEnum, String_$type, EnumUtil, enumGetBox, typeCast, markType, TypeRegistrar, getInstanceType } from "igniteui-webcomponents-core";
import { IDataLegendTarget_$type } from "igniteui-webcomponents-core";
import { IToolbarTarget_$type } from "igniteui-webcomponents-core";
import { IDomainChartLike_$type } from "./IDomainChartLike";
import { ArrayExtension } from "igniteui-webcomponents-core";
import { List$1 } from "igniteui-webcomponents-core";
import { Brush } from "igniteui-webcomponents-core";
import { XamDataChart } from "./XamDataChart";
import { DataSeriesType_$type } from "igniteui-webcomponents-core";
import { MarkerType_$type } from "./MarkerType";
import { Color } from "igniteui-webcomponents-core";
import { ColorUtil } from "igniteui-webcomponents-core";
import { IDomainChartToolbarProvider_$type } from "./IDomainChartToolbarProvider";
import { DVContainer } from "igniteui-webcomponents-core";
import { DataToolTipLayerGroupingMode_$type } 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 { 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 { DataLegendUnitsMode_$type } from "igniteui-webcomponents-core";
import { DataLegendLabelMode_$type } from "igniteui-webcomponents-core";
import { ChartSortDescriptionCollection } from "./ChartSortDescriptionCollection";
import { FilterExpressionCollection } from "igniteui-webcomponents-core";
import { ChartSummaryDescriptionCollection } from "./ChartSummaryDescriptionCollection";
import { SeriesSelectionMode_$type } from "./SeriesSelectionMode";
import { SeriesSelectionBehavior_$type } from "./SeriesSelectionBehavior";
import { ChartSelectedItemCollection } from "./ChartSelectedItemCollection";
import { SortGroupParser } from "igniteui-webcomponents-core";
import { FilterExpressionParsingHelper } from "igniteui-webcomponents-core";
import { FilterStringErrorsParsingEventArgs } from "./FilterStringErrorsParsingEventArgs";
import { SummaryParser } from "igniteui-webcomponents-core";
import { BrushCollection } from "igniteui-webcomponents-core";
import { SeriesHighlightedValuesDisplayMode_$type } from "igniteui-webcomponents-core";
import { Visibility_$type } from "igniteui-webcomponents-core";
import { Rect } from "igniteui-webcomponents-core";
import { HorizontalAlignment_$type } from "igniteui-webcomponents-core";
import { UnknownValuePlotting_$type } from "igniteui-webcomponents-core";
import { SeriesOutlineMode_$type } from "./SeriesOutlineMode";
import { MarkerOutlineMode_$type } from "./MarkerOutlineMode";
import { MarkerFillMode_$type } from "./MarkerFillMode";
import { MarkerAutomaticBehavior_$type } from "./MarkerAutomaticBehavior";
import { TrendLineType_$type } from "igniteui-webcomponents-core";
import { TrendLineTypeCollection } from "./TrendLineTypeCollection";
import { ComputedPlotAreaMarginMode_$type } from "./ComputedPlotAreaMarginMode";
import { SeriesPlotAreaMarginHorizontalMode_$type } from "./SeriesPlotAreaMarginHorizontalMode";
import { SeriesPlotAreaMarginVerticalMode_$type } from "./SeriesPlotAreaMarginVerticalMode";
import { SeriesHighlightingMode_$type } from "./SeriesHighlightingMode";
import { SeriesHighlightingBehavior_$type } from "./SeriesHighlightingBehavior";
import { LegendHighlightingMode_$type } from "./LegendHighlightingMode";
import { LegendItemBadgeMode_$type } from "igniteui-webcomponents-core";
import { ToolTipType_$type } from "./ToolTipType";
import { CrosshairsDisplayMode_$type } from "./CrosshairsDisplayMode";
import { CalloutCollisionMode_$type } from "igniteui-webcomponents-core";
import { SeriesViewerScrollbarMode_$type } from "./SeriesViewerScrollbarMode";
import { SeriesViewerHorizontalScrollbarPosition_$type } from "./SeriesViewerHorizontalScrollbarPosition";
import { SeriesViewerVerticalScrollbarPosition_$type } from "./SeriesViewerVerticalScrollbarPosition";
import { Defaults } from "./Defaults";
import { Series } from "./Series";
import { CaptureImageSettings } from "igniteui-webcomponents-core";
import { Dictionary$2 } from "igniteui-webcomponents-core";
import { DataSeries } from "igniteui-webcomponents-core";
import { ICommandStateChangedListener_$type } from "igniteui-webcomponents-core";
import { DeviceUtils } from "igniteui-webcomponents-core";
import { ObservableCollection$1 } from "igniteui-webcomponents-core";
import { DataSeriesAdapter } from "igniteui-webcomponents-core";
import { ChartSortDescription } from "./ChartSortDescription";
import { ChartSummaryDescription } from "./ChartSummaryDescription";
import { Random } from "igniteui-webcomponents-core";
import { ValueLayerValueMode_$type } from "./ValueLayerValueMode";
import { ObservableColorCollection } from "igniteui-webcomponents-core";
import { BrushCollectionUtil } from "igniteui-webcomponents-core";
import { IToolbarContextAccessor_$type } from "igniteui-webcomponents-core";
import { HashSet$1 } from "igniteui-webcomponents-core";
import { ChartSeriesEventArgs } from "./ChartSeriesEventArgs";
import { DomainChartSeriesPointerEventArgs } from "./DomainChartSeriesPointerEventArgs";
import { DomainChartPlotAreaPointerEventArgs } from "./DomainChartPlotAreaPointerEventArgs";
import { BrushUtil } from "igniteui-webcomponents-core";
import { IUnknownValuePlotting_$type } from "igniteui-webcomponents-core";
import { ITrendLineSeries_$type } from "./ITrendLineSeries";
import { IDataSource_$type } from "igniteui-webcomponents-core";
import { isNaN_ } from "igniteui-webcomponents-core";
import { stringIsNullOrEmpty, stringEmpty, stringStartsWith } from "igniteui-webcomponents-core";
/**
* @hidden
*/
export let DomainChart = /*@__PURE__*/ (() => {
class DomainChart extends Base {
provideContainer(a) {
if (a == null) {
this.v1((b) => {
b.destroy();
b.provideContainer(null);
});
return;
}
let b = this.l4;
this.l4 = a;
if (this.fi != null && this.l4 != null && b == null) {
this.l4.setTimeout(this.fi, 0);
this.fi = null;
}
let c = ((() => {
let $ret = new XamDataChart();
$ret.e8 = true;
return $ret;
})());
c.jf = this;
c.c9.b4(a);
this.dataChart = c;
this.vl();
}
destroy() {
this.f4 = true;
this.provideContainer(null);
}
vl() {
if (this.dataChart == null) {
return;
}
let a = this.dataChart.c9.j.e();
this.z = a.a;
this.ad = a.f;
this.ab = a.b;
this.ac = a.c;
this.af = a.g;
this.jq = Defaults.crosshairLineThickness;
this.vm();
}
vm() {
}
vi(a) {
if (a == null) {
return;
}
a.ii = this.kk;
a.ig = this.ki;
a.ih = this.kj;
a.ie = this.kh;
a.v3 = this.zl;
a.ib = this.kd;
a.id = this.kf;
a.ic = this.ke;
a.ia = this.kc;
a.v2 = this.zk;
if (!isNaN_(this.j5)) {
a.h5 = this.j5;
}
}
vf() {
}
vo(a, b) {
a.ke = this.lu;
a.de = this.eu;
}
wh(a, b, c) {
switch (a) {
case "TitleTopMargin":
if (this.dataChart != null) {
this.dataChart.ii = this.kk;
}
break;
case "TitleLeftMargin":
if (this.dataChart != null) {
this.dataChart.ig = this.ki;
}
break;
case "PixelScalingRatio":
if (this.dataChart != null) {
this.v1((d) => d.h5 = this.j5);
}
break;
case "TitleRightMargin":
if (this.dataChart != null) {
this.dataChart.ih = this.kj;
}
break;
case "TitleBottomMargin":
if (this.dataChart != null) {
this.dataChart.ie = this.kh;
}
break;
case "TitleTextColor":
if (this.dataChart != null) {
this.dataChart.v3 = this.zl;
}
break;
case "SubtitleLeftMargin":
if (this.dataChart != null) {
this.dataChart.ib = this.kd;
}
break;
case "SubtitleTopMargin":
if (this.dataChart != null) {
this.dataChart.id = this.kf;
}
break;
case "SubtitleRightMargin":
if (this.dataChart != null) {
this.dataChart.ic = this.ke;
}
break;
case "SubtitleBottomMargin":
if (this.dataChart != null) {
this.dataChart.ia = this.kc;
}
break;
case "SubtitleTextColor":
if (this.dataChart != null) {
this.dataChart.v2 = this.zk;
}
break;
case "LeftMargin":
if (this.dataChart != null) {
this.dataChart.h4 = this.j2;
}
break;
case "TopMargin":
if (this.dataChart != null) {
this.dataChart.ij = this.kl;
}
break;
case "RightMargin":
if (this.dataChart != null) {
this.dataChart.h9 = this.kb;
}
break;
case "BottomMargin":
if (this.dataChart != null) {
this.dataChart.hr = this.jo;
}
break;
case "TransitionDuration":
this.vb((d) => d.ke = this.lu);
break;
case "TransitionEasingFunction":
this.vb((d) => d.de = this.eu);
break;
}
}
get tooltipTemplate() {
return ArrayExtension.getModulus$1(Base.$, this.tooltipTemplates, 0);
}
set tooltipTemplate(a) {
this.tooltipTemplates = a == null ? null : new List$1(Base.$, 1, [a]);
}
get tooltipTemplates() {
return this.hw;
}
set tooltipTemplates(a) {
let b = this.tooltipTemplates;
if (a != b) {
this.hw = a;
this.wd("TooltipTemplates", b, this.tooltipTemplates);
}
}
get j5() {
return this.it;
}
set j5(a) {
let b = this.it;
if (a != b) {
this.it = a;
this.wd("PixelScalingRatio", b, this.j5);
}
}
get toolTip() {
return this.l0;
}
set toolTip(a) {
let b = this.toolTip;
if (b != a) {
this.l0 = a;
this.wd("ToolTip", b, this.toolTip);
}
}
get ki() {
return this.i6;
}
set ki(a) {
let b = this.ki;
if (a != b) {
this.i6 = a;
this.wd("TitleLeftMargin", b, this.ki);
}
}
get kj() {
return this.i7;
}
set kj(a) {
let b = this.kj;
if (a != b) {
this.i7 = a;
this.wd("TitleRightMargin", b, this.kj);
}
}
get kk() {
return this.i8;
}
set kk(a) {
let b = this.kk;
if (a != b) {
this.i8 = a;
this.wd("TitleTopMargin", b, this.kk);
}
}
get kh() {
return this.i5;
}
set kh(a) {
let b = this.kh;
if (a != b) {
this.i5 = a;
this.wd("TitleBottomMargin", b, this.kh);
}
}
get kd() {
return this.i1;
}
set kd(a) {
let b = this.kd;
if (a != b) {
this.i1 = a;
this.wd("SubtitleLeftMargin", b, this.kd);
}
}
get kf() {
return this.i3;
}
set kf(a) {
let b = this.kf;
if (a != b) {
this.i3 = a;
this.wd("SubtitleTopMargin", b, this.kf);
}
}
get ke() {
return this.i2;
}
set ke(a) {
let b = this.ke;
if (a != b) {
this.i2 = a;
this.wd("SubtitleRightMargin", b, this.ke);
}
}
get kc() {
return this.i0;
}
set kc(a) {
let b = this.kc;
if (a != b) {
this.i0 = a;
this.wd("SubtitleBottomMargin", b, this.kc);
}
}
get zk() {
return this.yj;
}
set zk(a) {
let b = this.zk;
if (a != b) {
this.yj = a;
this.wd("SubtitleTextColor", b, this.zk);
}
}
get zl() {
return this.yk;
}
set zl(a) {
let b = this.zl;
if (a != b) {
this.yk = a;
this.wd("TitleTextColor", b, this.zl);
}
}
get_j2() {
return this.iq;
}
set_j2(a) {
let b = this.j2;
if (a != b) {
this.iq = a;
this.wd("LeftMargin", b, this.j2);
}
}
get j2() {
return this.get_j2();
}
set j2(a) {
this.set_j2(a);
}
get kl() {
return this.i9;
}
set kl(a) {
let b = this.kl;
if (a != b) {
this.i9 = a;
this.wd("TopMargin", b, this.kl);
}
}
get kb() {
return this.iz;
}
set kb(a) {
let b = this.kb;
if (a != b) {
this.iz = a;
this.wd("RightMargin", b, this.kb);
}
}
get jo() {
return this.ia;
}
set jo(a) {
let b = this.jo;
if (a != b) {
this.ia = a;
this.wd("BottomMargin", b, this.jo);
}
}
get lu() {
return this.lf;
}
set lu(a) {
let b = this.lu;
if (a != b) {
this.lf = a;
this.wd("TransitionDuration", b, this.lu);
}
}
get eu() {
return this.et;
}
set eu(a) {
let b = this.eu;
if (a != b) {
this.et = a;
this.wd("TransitionEasingFunction", b, this.eu);
}
}
get lq() {
return this.la;
}
set lq(a) {
let b = this.lq;
if (a != b) {
this.la = a;
this.wd("HighlightingTransitionDuration", b, this.lq);
}
}
get lt() {
return this.ld;
}
set lt(a) {
let b = this.lt;
if (a != b) {
this.ld = a;
this.wd("SelectionTransitionDuration", b, this.lt);
}
}
get lo() {
return this.k8;
}
set lo(a) {
let b = this.lo;
if (a != b) {
this.k8 = a;
this.wd("FocusTransitionDuration", b, this.lo);
}
}
vj(a) {
if (this.dataChart == null) {
return;
}
a.mj = this.tk;
a.l7 = this.s9;
}
vp(a, b) {
this.vq(a, b);
}
vg() {
}
vq(a, b) {
if (a == null) {
return;
}
if (this.ea == 3) {
return;
}
let toolTipTemplate_ = ArrayExtension.getModulus$1(Base.$, this.tooltipTemplates, b);
if (toolTipTemplate_ == null) {
a.gq = true;
}
else {
let series_ = a;
a.gq = false;
series_.externalObject.tooltipTemplate = toolTipTemplate_;
}
}
xj(a, b, c) {
}
l6(a) {
return a;
return null;
}
k0(a) {
return null;
}
wi(a, b, c) {
switch (a) {
case "SubtitleTextStyle":
if (this.dataChart != null) {
this.dataChart.l7 = this.s9;
}
break;
case "TitleTextStyle":
if (this.dataChart != null) {
this.dataChart.mj = this.tk;
}
break;
case "TooltipTemplate":
if (this.hf) {
return;
}
this.hf = true;
this.tooltipTemplate = this.l6(this.tooltipTemplate);
this.hf = false;
if (this.dataChart != null) {
this.dataChart.jh = this.tooltipTemplate;
}
this.toolTip = this.tooltipTemplate;
break;
case "ToolTip":
this.vc((d, e) => this.vq(d, e));
break;
case "TooltipTemplates":
if (this.tooltipTemplates == null) {
break;
}
this.hf = true;
this.vc((d, e) => {
let f = this.l6(ArrayExtension.getModulus$1(Base.$, this.tooltipTemplates, e));
let series_ = d;
let templ_ = f;
series_.externalObject.tooltipTemplate = templ_;
});
this.hf = false;
break;
}
}
get cl() {
return this.ck;
}
set cl(a) {
let b = this.cl;
if (a != b) {
this.ck = a;
this.wd("Widget", b, this.cl);
}
}
get s9() {
return this.m1;
}
set s9(a) {
let b = this.s9;
if (a != b) {
this.m1 = a;
this.wd("SubtitleTextStyle", b, this.s9);
}
}
get tk() {
return this.m3;
}
set tk(a) {
let b = this.tk;
if (a != b) {
this.m3 = a;
this.wd("TitleTextStyle", b, this.tk);
}
}
get dataChart() {
return this.eh;
}
set dataChart(a) {
let b = this.dataChart;
if (b != a) {
this.eh = a;
this.wd("DataChart", b, this.dataChart);
}
}
get currentDataAdapter() {
return this.bf;
}
sendCommandCompleted(a) {
if (this.commandCompleted != null) {
this.commandCompleted(a);
}
}
captureTargetImageToClipboard(a) {
if (this.f1) {
return;
}
this.f1 = true;
this.fj = a;
let b = new CaptureImageSettings();
b.b = true;
b.a = 0;
let c = this.dataChart;
c.imageCaptured = delegateCombine(c.imageCaptured, runOn(this, this.wa));
this.dataChart.nk(b);
this.dataChart.al.q();
}
wa(a, b) {
this.f1 = false;
let c = this.dataChart;
c.imageCaptured = delegateRemove(c.imageCaptured, runOn(this, this.wa));
if (this.fj != null) {
this.fj(this, b);
this.fj = null;
}
}
get isDetached() {
return this.f5 || this.f4;
}
onDetachedFromUI() {
this.f5 = true;
this.v1((a) => a.onDetachedFromUI());
}
onAttachedToUI() {
this.f5 = false;
this.v1((a) => a.onAttachedToUI());
}
constructor() {
super();
this.l4 = null;
this.l1 = null;
this.hw = null;
this.it = NaN;
this.l0 = null;
this.i6 = 0;
this.i7 = 0;
this.i8 = 0;
this.i5 = 0;
this.i1 = 0;
this.i3 = 0;
this.i2 = 0;
this.i0 = 0;
this.yj = null;
this.yk = null;
this.iq = NaN;
this.i9 = NaN;
this.iz = NaN;
this.ia = NaN;
this.lf = 0;
this.et = null;
this.la = 300;
this.ld = 300;
this.k8 = 300;
this.kz = null;
this.hf = false;
this.ck = null;
this.m1 = null;
this.m3 = null;
this.eh = null;
this.f1 = false;
this.fj = null;
this.f5 = false;
this.f4 = false;
this.h0 = null;
this.propertyChanged = null;
this.seriesDataChanged = null;
this.le = 0;
this.g8 = false;
this.g7 = false;
this.hr = new Dictionary$2(String_$type, DataSeries.$, 0);
this.cd = null;
this.hm = false;
this.hv = null;
this.ch = null;
this.f7 = false;
this.ci = null;
this._commandCompleted = null;
this._invalidateActions = null;
this.hs = null;
this.ht = new List$1(ICommandStateChangedListener_$type, 0);
this.by = 0;
this.ig = NaN;
this.ih = NaN;
this.id = DeviceUtils.g(10);
this.ie = DeviceUtils.g(10);
this.bu = 0;
this.bw = 0;
this.fx = true;
this.e = null;
this.b = null;
this.d = null;
this.a = null;
this.bc = 0;
this.k4 = -1;
this.k5 = -1;
this.bs = 0;
this.mr = stringEmpty();
this.fy = true;
this.ms = null;
this.f = null;
this.z2 = new Thickness(0, DeviceUtils.g(5));
this.fz = true;
this.mt = "N/A";
this.f0 = false;
this.z3 = new Thickness(1, DeviceUtils.g(2), DeviceUtils.g(0), DeviceUtils.g(2), DeviceUtils.g(0));
this.yc = null;
this.e5 = null;
this.ml = null;
this.c = null;
this.mk = stringEmpty();
this.bi = 0;
this.bk = 0;
this.mm = null;
this.x4 = null;
this.zw = new Thickness(1, DeviceUtils.g(2), DeviceUtils.g(0), DeviceUtils.g(0), DeviceUtils.g(0));
this.zv = new Thickness(0, DeviceUtils.g(5));
this.fw = true;
this.ex = null;
this.x3 = null;
this.zu = new Thickness(1, DeviceUtils.g(2), DeviceUtils.g(0), DeviceUtils.g(0), DeviceUtils.g(0));
this.zt = new Thickness(0, DeviceUtils.g(5));
this.fv = false;
this.ew = null;
this.x7 = null;
this.e0 = null;
this.bo = 0;
this.mo = null;
this.zz = new Thickness(1, DeviceUtils.g(2), DeviceUtils.g(0), DeviceUtils.g(0), DeviceUtils.g(0));
this.zy = new Thickness(0, DeviceUtils.g(5));
this.x9 = null;
this.e2 = null;
this.mn = null;
this.x6 = null;
this.ez = null;
this.mp = null;
this.x8 = null;
this.e1 = null;
this.zs = new Thickness(0, DeviceUtils.g(0));
this.cq = 0;
this.bq = 0;
this.mq = null;
this.yb = null;
this.z1 = new Thickness(0, DeviceUtils.g(0));
this.e4 = null;
this.z0 = new Thickness(0, DeviceUtils.g(0));
this.ya = null;
this.e3 = null;
this.bm = 0;
this.x5 = null;
this.zx = new Thickness(1, DeviceUtils.g(8), DeviceUtils.g(0), DeviceUtils.g(0), DeviceUtils.g(0));
this.ey = null;
this.seriesAdded = null;
this.seriesRemoved = null;
this.seriesPointerEnter = null;
this.seriesPointerLeave = null;
this.seriesPointerMove = null;
this.seriesPointerDown = null;
this.seriesPointerUp = null;
this.seriesClick = null;
this.plotAreaPointerEnter = null;
this.plotAreaPointerLeave = null;
this.plotAreaPointerMove = null;
this.plotAreaPointerDown = null;
this.plotAreaPointerUp = null;
this.calloutStyleUpdating = null;
this.calloutRenderStyleUpdating = null;
this.selectedSeriesItemsChanged = null;
this.focusedSeriesItemsChanged = null;
this.hz = null;
this.fi = null;
this.fm = false;
this.hq = new Dictionary$2(String_$type, Base.$, 0);
this.hu = new List$1(String_$type, 0);
this.ax = null;
this.at = null;
this.as = null;
this.ej = null;
this.ek = null;
this.a5 = null;
this.er = null;
this.es = null;
this.aw = null;
this.av = null;
this.au = null;
this.em = null;
this.el = null;
this.a4 = null;
this.dw = 0;
this.dv = 0;
this.yi = null;
this.yf = null;
this.dt = 0;
this.an = new ChartSelectedItemCollection();
this.am = new ChartSelectedItemCollection();
this.my = null;
this.mu = null;
this.mw = null;
this.mv = null;
this.mx = null;
this.filterStringErrorsParsing = null;
this.mz = null;
this.lz = null;
this.lx = null;
this.ly = null;
this.lw = null;
this.h = null;
this.g = null;
this.r = null;
this.u = null;
this.p = null;
this.q = null;
this.cf = null;
this.f6 = true;
this.f9 = true;
this.gc = false;
this.ge = false;
this.dg = 1;
this.f8 = false;
this.aag = 0;
this.aah = 0;
this.zp = new Rect(0, 0, 0, 1, 1);
this.m2 = null;
this.m0 = null;
this.xo = 1;
this.xn = 1;
this.ee = 0;
this.iy = NaN;
this.i4 = NaN;
this.dm = 0;
this.cy = 0;
this.cw = 0;
this.ir = NaN;
this.is = NaN;
this.c4 = null;
this.cu = 4;
this.s = null;
this.t = null;
this.lb = 400;
this.h9 = NaN;
this.fl = false;
this.v = null;
this.eb = 0;
this.ja = DeviceUtils.g(1.5);
this.ed = null;
this.gf = false;
this.fk = true;
this.iv = NaN;
this.ix = NaN;
this.iw = NaN;
this.iu = NaN;
this.k9 = 200;
this.k7 = 200;
this.lc = 200;
this.a8 = 0;
this.dp = 0;
this.dr = 0;
this.dk = 0;
this.di = 0;
this.cm = 0;
this.cr = 0;
this.co = 0;
this.lg = 7;
this.d9 = 4;
this.bb = 0;
this.fu = false;
this.x2 = null;
this.ic = NaN;
this.x1 = null;
this.ft = true;
this.xx = null;
this.xz = null;
this.xy = null;
this.x0 = null;
this.k2 = -1;
this.k3 = -1;
this.gb = false;
this.gd = true;
this.f2 = false;
this.yd = null;
this.ye = null;
this.k6 = -1;
this.fn = false;
this.fs = false;
this.fo = false;
this.gg = true;
this.ag = 0;
this.fq = false;
this.fr = false;
this.fp = false;
this.ib = NaN;
this.xr = null;
this.xv = null;
this.xw = null;
this.xu = null;
this.xs = null;
this.xt = null;
this.k1 = -1;
this.h4 = null;
this.ai = null;
this.mi = null;
this.mj = null;
this.mh = "CalloutLabel";
this.mg = "CalloutContent";
this.ev = null;
this.eg = null;
this.w = null;
this.jb = NaN;
this.ga = false;
this.d1 = 0;
this.d2 = 0;
this.dz = 0;
this.d7 = 0;
this.yg = null;
this.yh = null;
this.im = NaN;
this.il = NaN;
this.ii = NaN;
this.ij = NaN;
this.ik = NaN;
this.ip = NaN;
this.io = NaN;
this.f3 = true;
this.yl = null;
this.ym = null;
this.jf = NaN;
this.je = NaN;
this.jc = NaN;
this.ji = NaN;
this.jd = NaN;
this.jh = NaN;
this.jg = NaN;
this.gh = true;
this.jk = NaN;
this.jj = NaN;
this.jm = NaN;
this.jl = NaN;
this.hz = new List$1(Delegate_$type, 0);
this.vk();
this.ux();
}
vk() {
this.bf = this.bh(true);
let a = this.bf.dataSeries;
a.collectionChanged = delegateCombine(a.collectionChanged, runOn(this, this.v4));
this.bg = this.bh(false);
let b = this.bg.dataSeries;
b.collectionChanged = delegateCombine(b.collectionChanged, runOn(this, this.v9));
}
xh(a, b, c) {
if (a) {
b.e = c;
}
else {
b.n(c);
}
}
xg(a, b, c) {
if (a) {
b.syncTarget = c;
}
else {
b.o(c);
}
}
xi(a, b, c) {
if (a) {
b.e = c;
}
else {
b.n(c);
}
}
bh(a) {
this.h0 = new List$1(MarkerType_$type, 0);
let b = new DataSeriesAdapter().e;
if (a) {
this.ax = new ChartSortDescriptionCollection();
this.at = new ChartSortDescriptionCollection();
this.as = new ChartSortDescriptionCollection();
this.a5 = new ChartSummaryDescriptionCollection();
this.ej = new FilterExpressionCollection();
this.ek = new FilterExpressionCollection();
}
this.xh(a, this.a3, b.sortDescriptions);
this.xh(a, this.ay, b.groupDescriptions);
this.xg(a, this.en, b.filterExpressions);
this.xg(a, this.eo, b.highlightFilterExpressions);
this.xi(a, this.a7, b.summaryDescriptions);
this.xh(a, this.az, b.postSortDescriptions);
if (a) {
this.er = new SortGroupParser();
this.es = new SummaryParser();
this.aw = ((() => {
let $ret = new ChartSortDescriptionCollection();
$ret.i = true;
return $ret;
})());
this.av = ((() => {
let $ret = new ChartSortDescriptionCollection();
$ret.i = true;
return $ret;
})());
this.au = ((() => {
let $ret = new ChartSortDescriptionCollection();
$ret.i = true;
return $ret;
})());
this.a4 = ((() => {
let $ret = new ChartSummaryDescriptionCollection();
$ret.i = true;
return $ret;
})());
this.el = ((() => {
let $ret = new FilterExpressionCollection();
$ret.shouldDetachOnTargetChange = true;
return $ret;
})());
this.em = ((() => {
let $ret = new FilterExpressionCollection();
$ret.shouldDetachOnTargetChange = true;
return $ret;
})());
}
{
if (this.en.k.count == 0) {
this.xg(a, this.el, b.filterExpressions);
}
}
{
if (this.eo.k.count == 0) {
this.xg(a, this.em, b.highlightFilterExpressions);
}
}
{
if (this.a3.j.count == 0) {
this.xh(a, this.aw, b.sortDescriptions);
}
if (this.az.j.count == 0) {
this.xh(a, this.av, b.postSortDescriptions);
}
}
{
if (this.ay.j.count == 0) {
this.xh(a, this.au, b.groupDescriptions);
}
}
{
if (this.a7.j.count == 0) {
this.xi(a, this.a4, b.summaryDescriptions);
}
}
if (this.includedProperties != null) {
b.includedProperties = this.includedProperties;
}
if (this.excludedProperties != null) {
b.excludedProperties = this.excludedProperties;
}
b.supportedSeriesTypes = this.h2.toArray();
b.rules.clear();
for (let c of fromEnum(this.h1)) {
b.rules.add(c);
}
let d = new List$1(String_$type, 0);
for (let e of fromEnum(b.rules)) {
d.add(getInstanceType(e).typeName);
}
return b;
}
ha(a) {
return a != 24 && this.h2.contains(a);
}
notifyResized() {
this.v1((a) => a.notifyContainerResized());
}
vz() {
this.v1((a) => {
for (let b = 0; b < a.series.count; b++) {
a.series._inner[b].qp();
}
});
}
u4() {
if (this.dataChart == null) {
return;
}
if (this.g8) {
this.u1();
}
this.dataChart.flush();
}
vd() {
if (this.dataChart == null) {
return;
}
this.dataChart.n6();
}
wv(a) {
if (this.propertyChanged != null) {
this.propertyChanged(this, new PropertyChangedEventArgs(a));
}
}
u6(a) {
this.u7((b, c) => a(b));
}
u7(a) {
if (this.dataChart == null) {
return;
}
for (let b = 0; b < this.dataChart.series.count; b++) {
a(this.dataChart.series._inner[b], b);
}
}
vb(a) {
this.vc((b, c) => a(b));
}
vc(a) {
if (this.dataChart == null) {
return;
}
for (let b = 0; b < this.dataChart.series.count; b++) {
let c = this.dataChart.series._inner[b];
if (!c.et) {
a(c, b);
}
}
}
u9(a) {
this.va((b, c) => a(b));
}
va(a) {
if (this.dataChart == null) {
return;
}
for (let b = 0; b < this.dataChart.series.count; b++) {
let c = this.dataChart.series._inner[b];
if (c.eu) {
a(c, b);
}
}
}
w7() {
this.u6((a) => a.rz());
}
v1(a) {
this.v2(a, true);
}
v2(a, b) {
this.v3(a, b, null);
}
v3(a, b, c) {
if (this.dataChart == null) {
return;
}
a(this.dataChart);
}
hc(a) {
if (!this.ha(a.suggestedSeries)) {
return false;
}
let b = a.data;
if (b == null) {
return false;
}
return true;
}
g2() {
if (this.dataChart == null) {
return false;
}
return true;
}
q0(a) {
let b = EnumUtil.getName(DataSeriesType_$type, a.suggestedSeries);
let c = "series_" + (a.index + 1) + "_" + b;
return c;
}
q1(a, b) {
if (this.g5 && this.hl) {
let c = "";
let d = 5 + Math.round(DomainChart.me.nextDouble() * 4);
for (let e = 0; e < d; e++) {
c = c + "\u2588";
}
return c;
}
if (stringIsNullOrEmpty(a.title)) {
let f = EnumUtil.getName(DataSeriesType_$type, b);
return f + (this.dataChart.series.count + 1);
}
else {
return a.title;
}
}
qz() {
return stringEmpty();
}
wk() {
let a = this.wm(runOn(this, this.u1), this.g8);
this.g8 = a.p1;
}
uv() {
if (this.dataChart == null) {
return;
}
this.g7 = false;
let a = false;
if (this.gy()) {
a = true;
this.uu();
}
if (a) {
this.u3();
this.xk();
}
}
xk() {
this.hr.clear();
}
uu() {
let a = 0;
for (let b of fromEnum(this.bg.dataSeries)) {
if (b.index == -1) {
b.index = a;
}
if (!stringIsNullOrEmpty(this.q0(b))) {
this.hr.item(this.q0(b), b);
}
a++;
}
}
h6(a) {
return a.data;
}
h7(a) {
return a.highlightedData;
}
u3() {
if (this.g8) {
let a = 0;
for (let b of fromEnum(this.bf.dataSeries)) {
if (b.index == -1) {
b.index = a;
}
if (!stringIsNullOrEmpty(this.q0(b))) {
if (this.hr.containsKey(this.q0(b))) {
let c = this.hr.item(this.q0(b));
b.highlightedData = c.data;
}
}
a++;
}
}
if (!this.g8 && this.dataChart != null) {
for (let d = 0; d < this.dataChart.series.count; d++) {
let e = this.dataChart.series._inner[d];
if (this.hr.containsKey(e.name)) {
e.highlightedItemsSource = this.h6(this.hr.item(e.name));
}
}
}
}
gy() {
if (this.actualHighlightedItemsSource == null) {
return false;
}
if (this.bg.dataSeries.count != this.bf.dataSeries.count) {
return false;
}
if (this.bg.dataSeries.count == 0) {
return false;
}
for (let a = 0; a < this.bg.dataSeries.count; a++) {
if (!(this.bg.dataSeries._inner[a].isMatch(this.bf.dataSeries._inner[a]))) {
let b = false;
for (let c = 0; c < this.bf.dataSeries.count; c++) {
if (c == a) {
continue;
}
if (this.bg.dataSeries._inner[a].isMatch(this.bf.dataSeries._inner[c])) {
b = true;
break;
}
}
if (!b) {
return false;
}
}
}
return true;
}
xa() {
if (this.dataChart == null) {
return;
}
this.g8 = false;
this.xc();
if (this.actualItemsSource == null) {
return;
}
let a = new List$1(MarkerType_$type, 0);
for (let b of fromEnum(this.bf.dataSeries)) {
a.add(this.c0(b.suggestedMarker));
}
this.h0 = a;
let c = 0;
for (let d of fromEnum(this.bf.dataSeries)) {
if (!this.hc(d)) {
continue;
}
if (d.index < 0) {
d.index = c;
}
this.w8(d);
this.w9(d);
c++;
}
this.xl();
this.u7(runOn(this, this.vn));
}
df(seriesType_) {
return (this.externalObject.createSeries(seriesType_).i);
}
c6() {
return this.df(28);
}
c8() {
return this.df(27);
}
da() {
return this.df(29);
}
db() {
return this.df(25);
}
c7() {
return this.df(26);
}
c9() {
return this.df(32);
}
de() {
return this.df(33);
}
dd() {
return this.df(34);
}
get ce() {
if (TypeRegistrar.isRegistered("AnnotationLayerProxy")) {
return TypeRegistrar.create("AnnotationLayerProxy");
}
else {
throw new BaseError(1, "annotation layer module is not loaded, but is required.");
}
}
get gx() {
return (TypeRegistrar.isRegistered("AnnotationLayerProxy"));
}
g0(a) {
if (!this.gx) {
return false;
}
return this.ce.matchesType(a);
}
xl() {
let a = this.hy("", true);
if (a != null) {
for (let b = 0; b < a.count; b++) {
this.dataChart.series.add(a._inner[b]);
}
}
}
g3() {
return this.crosshairsDisplayMode == 0 || this.crosshairsDisplayMode == 4 || this.crosshairsDisplayMode == 2;
}
g4() {
return this.crosshairsDisplayMode == 0 || this.crosshairsDisplayMode == 4 || this.crosshairsDisplayMode == 3;
}
get_g1() {
return this.autoCalloutsVisible;
}
get g1() {
return this.get_g1();
}
hy(a, b) {
if (!this.gx) {
return null;
}
let c = new List$1(Series.$, 0);
if (b) {
let d = 1;
if (this.fs) {
if (this.h4 == null) {
if (this.mi != null || this.mj != null || this.mh != null || this.mg != null) {
for (let e of fromEnum(this.dataChart.series)) {
let f = this.c6();
this.ce.setTargetSeries(f, e);
this.ce.setCollisionChannel(f, "MainChartCollisionChannel");
this.xf(f, e, this.bf.dataSeries._inner[d - 1]);
f.name = a + getInstanceType(f).typeName + d.toString();
c.add(f);
d++;
}
;
}
}
else {
let g = this.c6();
this.xf(g, null, this.bf.dataSeries._inner[d - 1]);
g.name = a + getInstanceType(g).typeName + d.toString();
if (this.fs && this.fn) {
this.ce.setCollisionChannel(g, "MainChartCollisionChannel");
}
c.add(g);
}
}
if (this.fn) {
let h = this.c6();
this.uw(h, this.hk);
h.name = a + getInstanceType(h).typeName + d.toString();
if (this.fs && this.fn) {
this.ce.setCollisionChannel(h, "MainChartCollisionChannel");
}
c.add(h);
}
}
switch (this.bb) {
case 0:
case 4:
case 3:
case 2:
{
let i = this.c8();
this.ce.setCrosshairThickness(i, this.ic);
this.ce.setCrosshairUseInterpolation(i, !this.fu);
this.ce.setCrosshairHorizontalLineVisibility(i, this.g3() ? 0 : 1);
this.ce.setCrosshairHorizontalLineStroke(i, this.x1);
this.ce.setCrosshairVerticalLineVisibility(i, this.g4() ? 0 : 1);
this.ce.setCrosshairVerticalLineStroke(i, this.x2);
this.ce.setCrosshairOnAxesEnabled(i, this.ft);
this.ce.setCrosshairXAxisBackground(i, this.xx);
this.ce.setCrosshairXAxisForeground(i, this.xy);
this.ce.setCrosshairYAxisBackground(i, this.xz);
this.ce.setCrosshairYAxisForeground(i, this.x0);
this.ce.setCrosshairXAxisPrecision(i, this.k2);
this.ce.setCrosshairYAxisPrecision(i, this.k3);
c.add(i);
break;
}
case 1:
{
break;
}
}
if (this.f2) {
let j = this.da();
this.ce.setFinalValueBackground(j, this.yd);
this.ce.setFinalValueForeground(j, this.ye);
this.ce.setFinalValuePrecision(j, this.k6);
c.add(j);
}
if (b) {
switch (this.d9) {
case 1:
{
let k = this.db();
c.add(k);
break;
}
case 2:
{
let l = this.c7();
c.add(l);
break;
}