igniteui-react-charts
Version:
Ignite UI React charting components for building rich data visualizations using TypeScript APIs.
1,504 lines (1,503 loc) • 166 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-react-core";
import { IDataLegendTarget_$type } from "igniteui-react-core";
import { IToolbarTarget_$type } from "igniteui-react-core";
import { IDomainChartLike_$type } from "./IDomainChartLike";
import { ArrayExtension } from "igniteui-react-core";
import { List$1 } from "igniteui-react-core";
import { Brush } from "igniteui-react-core";
import { XamDataChart } from "./XamDataChart";
import { DataSeriesType_$type } from "igniteui-react-core";
import { MarkerType_$type } from "./MarkerType";
import { Color } from "igniteui-react-core";
import { ColorUtil } from "igniteui-react-core";
import { IDomainChartToolbarProvider_$type } from "./IDomainChartToolbarProvider";
import { DVContainer } from "igniteui-react-core";
import { DataToolTipLayerGroupingMode_$type } 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 { 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 { DataLegendUnitsMode_$type } from "igniteui-react-core";
import { DataLegendLabelMode_$type } from "igniteui-react-core";
import { ChartSortDescriptionCollection } from "./ChartSortDescriptionCollection";
import { FilterExpressionCollection } from "igniteui-react-core";
import { ChartSummaryDescriptionCollection } from "./ChartSummaryDescriptionCollection";
import { SeriesSelectionMode_$type } from "./SeriesSelectionMode";
import { SeriesSelectionBehavior_$type } from "./SeriesSelectionBehavior";
import { ChartSelectedItemCollection } from "./ChartSelectedItemCollection";
import { SortGroupParser } from "igniteui-react-core";
import { FilterExpressionParsingHelper } from "igniteui-react-core";
import { FilterStringErrorsParsingEventArgs } from "./FilterStringErrorsParsingEventArgs";
import { SummaryParser } from "igniteui-react-core";
import { BrushCollection } from "igniteui-react-core";
import { SeriesHighlightedValuesDisplayMode_$type } from "igniteui-react-core";
import { Visibility_$type } from "igniteui-react-core";
import { Rect } from "igniteui-react-core";
import { HorizontalAlignment_$type } from "igniteui-react-core";
import { UnknownValuePlotting_$type } from "igniteui-react-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-react-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-react-core";
import { ToolTipType_$type } from "./ToolTipType";
import { CrosshairsDisplayMode_$type } from "./CrosshairsDisplayMode";
import { CalloutCollisionMode_$type } from "igniteui-react-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-react-core";
import { Dictionary$2 } from "igniteui-react-core";
import { DataSeries } from "igniteui-react-core";
import { ICommandStateChangedListener_$type } from "igniteui-react-core";
import { DeviceUtils } from "igniteui-react-core";
import { ObservableCollection$1 } from "igniteui-react-core";
import { DataSeriesAdapter } from "igniteui-react-core";
import { ChartSortDescription } from "./ChartSortDescription";
import { ChartSummaryDescription } from "./ChartSummaryDescription";
import { Random } from "igniteui-react-core";
import { ValueLayerValueMode_$type } from "./ValueLayerValueMode";
import { ObservableColorCollection } from "igniteui-react-core";
import { BrushCollectionUtil } from "igniteui-react-core";
import { IToolbarContextAccessor_$type } from "igniteui-react-core";
import { HashSet$1 } from "igniteui-react-core";
import { ChartSeriesEventArgs } from "./ChartSeriesEventArgs";
import { DomainChartSeriesPointerEventArgs } from "./DomainChartSeriesPointerEventArgs";
import { DomainChartPlotAreaPointerEventArgs } from "./DomainChartPlotAreaPointerEventArgs";
import { BrushUtil } from "igniteui-react-core";
import { IUnknownValuePlotting_$type } from "igniteui-react-core";
import { ITrendLineSeries_$type } from "./ITrendLineSeries";
import { IDataSource_$type } from "igniteui-react-core";
import { isNaN_ } from "igniteui-react-core";
import { stringIsNullOrEmpty, stringEmpty, stringStartsWith } from "igniteui-react-core";
/**
* @hidden
*/
export let DomainChart = /*@__PURE__*/ (() => {
class DomainChart extends Base {
provideContainer(a) {
if (a == null) {
this.vs((b) => {
b.destroy();
b.provideContainer(null);
});
return;
}
let b = this.ly;
this.ly = a;
if (this.fi != null && this.ly != null && b == null) {
this.ly.setTimeout(this.fi, 0);
this.fi = null;
}
let c = ((() => {
let $ret = new XamDataChart();
$ret.e7 = true;
return $ret;
})());
c.jb = this;
c.c9.b4(a);
this.dataChart = c;
this.vc();
}
destroy() {
this.f4 = true;
this.provideContainer(null);
}
vc() {
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.j;
this.vd();
}
vd() {
}
u9(a) {
if (a == null) {
return;
}
a.ih = this.kk;
a.ie = this.ki;
a.ig = this.kj;
a.id = this.kh;
a.vr = this.zb;
a.ia = this.kd;
a.ic = this.kf;
a.ib = this.ke;
a.h9 = this.kc;
a.vq = this.za;
if (!isNaN_(this.j5)) {
a.h4 = this.j5;
}
}
u6() {
}
vf(a, b) {
a.kd = this.lo;
a.de = this.eu;
}
v7(a, b, c) {
switch (a) {
case "TitleTopMargin":
if (this.dataChart != null) {
this.dataChart.ih = this.kk;
}
break;
case "TitleLeftMargin":
if (this.dataChart != null) {
this.dataChart.ie = this.ki;
}
break;
case "PixelScalingRatio":
if (this.dataChart != null) {
this.vs((d) => d.h4 = this.j5);
}
break;
case "TitleRightMargin":
if (this.dataChart != null) {
this.dataChart.ig = this.kj;
}
break;
case "TitleBottomMargin":
if (this.dataChart != null) {
this.dataChart.id = this.kh;
}
break;
case "TitleTextColor":
if (this.dataChart != null) {
this.dataChart.vr = this.zb;
}
break;
case "SubtitleLeftMargin":
if (this.dataChart != null) {
this.dataChart.ia = this.kd;
}
break;
case "SubtitleTopMargin":
if (this.dataChart != null) {
this.dataChart.ic = this.kf;
}
break;
case "SubtitleRightMargin":
if (this.dataChart != null) {
this.dataChart.ib = this.ke;
}
break;
case "SubtitleBottomMargin":
if (this.dataChart != null) {
this.dataChart.h9 = this.kc;
}
break;
case "SubtitleTextColor":
if (this.dataChart != null) {
this.dataChart.vq = this.za;
}
break;
case "LeftMargin":
if (this.dataChart != null) {
this.dataChart.h3 = this.j2;
}
break;
case "TopMargin":
if (this.dataChart != null) {
this.dataChart.ii = this.kl;
}
break;
case "RightMargin":
if (this.dataChart != null) {
this.dataChart.h8 = this.kb;
}
break;
case "BottomMargin":
if (this.dataChart != null) {
this.dataChart.hq = this.jo;
}
break;
case "TransitionDuration":
this.u2((d) => d.kd = this.lo);
break;
case "TransitionEasingFunction":
this.u2((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.v3("TooltipTemplates", b, this.tooltipTemplates);
}
}
get j5() {
return this.it;
}
set j5(a) {
let b = this.it;
if (a != b) {
this.it = a;
this.v3("PixelScalingRatio", b, this.j5);
}
}
get toolTip() {
return this.lu;
}
set toolTip(a) {
let b = this.toolTip;
if (b != a) {
this.lu = a;
this.v3("ToolTip", b, this.toolTip);
}
}
get ki() {
return this.i6;
}
set ki(a) {
let b = this.ki;
if (a != b) {
this.i6 = a;
this.v3("TitleLeftMargin", b, this.ki);
}
}
get kj() {
return this.i7;
}
set kj(a) {
let b = this.kj;
if (a != b) {
this.i7 = a;
this.v3("TitleRightMargin", b, this.kj);
}
}
get kk() {
return this.i8;
}
set kk(a) {
let b = this.kk;
if (a != b) {
this.i8 = a;
this.v3("TitleTopMargin", b, this.kk);
}
}
get kh() {
return this.i5;
}
set kh(a) {
let b = this.kh;
if (a != b) {
this.i5 = a;
this.v3("TitleBottomMargin", b, this.kh);
}
}
get kd() {
return this.i1;
}
set kd(a) {
let b = this.kd;
if (a != b) {
this.i1 = a;
this.v3("SubtitleLeftMargin", b, this.kd);
}
}
get kf() {
return this.i3;
}
set kf(a) {
let b = this.kf;
if (a != b) {
this.i3 = a;
this.v3("SubtitleTopMargin", b, this.kf);
}
}
get ke() {
return this.i2;
}
set ke(a) {
let b = this.ke;
if (a != b) {
this.i2 = a;
this.v3("SubtitleRightMargin", b, this.ke);
}
}
get kc() {
return this.i0;
}
set kc(a) {
let b = this.kc;
if (a != b) {
this.i0 = a;
this.v3("SubtitleBottomMargin", b, this.kc);
}
}
get za() {
return this.x9;
}
set za(a) {
let b = this.za;
if (a != b) {
this.x9 = a;
this.v3("SubtitleTextColor", b, this.za);
}
}
get zb() {
return this.ya;
}
set zb(a) {
let b = this.zb;
if (a != b) {
this.ya = a;
this.v3("TitleTextColor", b, this.zb);
}
}
get_j2() {
return this.iq;
}
set_j2(a) {
let b = this.j2;
if (a != b) {
this.iq = a;
this.v3("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.v3("TopMargin", b, this.kl);
}
}
get kb() {
return this.iz;
}
set kb(a) {
let b = this.kb;
if (a != b) {
this.iz = a;
this.v3("RightMargin", b, this.kb);
}
}
get jo() {
return this.ia;
}
set jo(a) {
let b = this.jo;
if (a != b) {
this.ia = a;
this.v3("BottomMargin", b, this.jo);
}
}
get lo() {
return this.lc;
}
set lo(a) {
let b = this.lo;
if (a != b) {
this.lc = a;
this.v3("TransitionDuration", b, this.lo);
}
}
get eu() {
return this.et;
}
set eu(a) {
let b = this.eu;
if (a != b) {
this.et = a;
this.v3("TransitionEasingFunction", b, this.eu);
}
}
get ll() {
return this.k8;
}
set ll(a) {
let b = this.ll;
if (a != b) {
this.k8 = a;
this.v3("HighlightingTransitionDuration", b, this.ll);
}
}
get ln() {
return this.la;
}
set ln(a) {
let b = this.ln;
if (a != b) {
this.la = a;
this.v3("SelectionTransitionDuration", b, this.ln);
}
}
get lk() {
return this.k7;
}
set lk(a) {
let b = this.lk;
if (a != b) {
this.k7 = a;
this.v3("FocusTransitionDuration", b, this.lk);
}
}
va(a) {
if (this.dataChart == null) {
return;
}
a.mb = this.tb;
a.lz = this.s0;
}
vg(a, b) {
this.vh(a, b);
}
u7() {
}
vh(a, b) {
if (a == null) {
return;
}
if (this.ea == 3) {
return;
}
let toolTipTemplate_ = ArrayExtension.getModulus$1(Base.$, this.tooltipTemplates, b);
if (toolTipTemplate_ == null) {
a.gp = true;
}
else {
let series_ = a;
a.gp = false;
series_.externalObject.tooltipTemplate = toolTipTemplate_;
}
}
w9(a, b, c) {
}
l0(a) {
return a;
return null;
}
k0(a) {
return null;
}
v8(a, b, c) {
switch (a) {
case "SubtitleTextStyle":
if (this.dataChart != null) {
this.dataChart.lz = this.s0;
}
break;
case "TitleTextStyle":
if (this.dataChart != null) {
this.dataChart.mb = this.tb;
}
break;
case "TooltipTemplate":
if (this.hf) {
return;
}
this.hf = true;
this.tooltipTemplate = this.l0(this.tooltipTemplate);
this.hf = false;
if (this.dataChart != null) {
this.dataChart.jd = this.tooltipTemplate;
}
this.toolTip = this.tooltipTemplate;
break;
case "ToolTip":
this.u3((d, e) => this.vh(d, e));
break;
case "TooltipTemplates":
if (this.tooltipTemplates == null) {
break;
}
this.hf = true;
this.u3((d, e) => {
let f = this.l0(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.v3("Widget", b, this.cl);
}
}
get s0() {
return this.mv;
}
set s0(a) {
let b = this.s0;
if (a != b) {
this.mv = a;
this.v3("SubtitleTextStyle", b, this.s0);
}
}
get tb() {
return this.mx;
}
set tb(a) {
let b = this.tb;
if (a != b) {
this.mx = a;
this.v3("TitleTextStyle", b, this.tb);
}
}
get dataChart() {
return this.eh;
}
set dataChart(a) {
let b = this.dataChart;
if (b != a) {
this.eh = a;
this.v3("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.v0));
this.dataChart.nc(b);
this.dataChart.al.q();
}
v0(a, b) {
this.f1 = false;
let c = this.dataChart;
c.imageCaptured = delegateRemove(c.imageCaptured, runOn(this, this.v0));
if (this.fj != null) {
this.fj(this, b);
this.fj = null;
}
}
get isDetached() {
return this.f5 || this.f4;
}
onDetachedFromUI() {
this.f5 = true;
this.vs((a) => a.onDetachedFromUI());
}
onAttachedToUI() {
this.f5 = false;
this.vs((a) => a.onAttachedToUI());
}
constructor() {
super();
this.ly = null;
this.lv = null;
this.hw = null;
this.it = NaN;
this.lu = 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.x9 = null;
this.ya = null;
this.iq = NaN;
this.i9 = NaN;
this.iz = NaN;
this.ia = NaN;
this.lc = 0;
this.et = null;
this.k8 = 300;
this.la = 300;
this.k7 = 300;
this.kz = null;
this.hf = false;
this.ck = null;
this.mv = null;
this.mx = 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.lb = 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.ml = stringEmpty();
this.fy = true;
this.mm = null;
this.f = null;
this.zs = new Thickness(0, DeviceUtils.g(5));
this.fz = true;
this.mn = "N/A";
this.f0 = false;
this.zt = new Thickness(1, DeviceUtils.g(2), DeviceUtils.g(0), DeviceUtils.g(2), DeviceUtils.g(0));
this.x2 = null;
this.e5 = null;
this.mf = null;
this.c = null;
this.me = stringEmpty();
this.bi = 0;
this.bk = 0;
this.mg = null;
this.xu = null;
this.zm = new Thickness(1, DeviceUtils.g(2), DeviceUtils.g(0), DeviceUtils.g(0), DeviceUtils.g(0));
this.zl = new Thickness(0, DeviceUtils.g(5));
this.fw = true;
this.ex = null;
this.xt = null;
this.zk = new Thickness(1, DeviceUtils.g(2), DeviceUtils.g(0), DeviceUtils.g(0), DeviceUtils.g(0));
this.zj = new Thickness(0, DeviceUtils.g(5));
this.fv = false;
this.ew = null;
this.xx = null;
this.e0 = null;
this.bo = 0;
this.mi = null;
this.zp = new Thickness(1, DeviceUtils.g(2), DeviceUtils.g(0), DeviceUtils.g(0), DeviceUtils.g(0));
this.zo = new Thickness(0, DeviceUtils.g(5));
this.xz = null;
this.e2 = null;
this.mh = null;
this.xw = null;
this.ez = null;
this.mj = null;
this.xy = null;
this.e1 = null;
this.zi = new Thickness(0, DeviceUtils.g(0));
this.cq = 0;
this.bq = 0;
this.mk = null;
this.x1 = null;
this.zr = new Thickness(0, DeviceUtils.g(0));
this.e4 = null;
this.zq = new Thickness(0, DeviceUtils.g(0));
this.x0 = null;
this.e3 = null;
this.bm = 0;
this.xv = null;
this.zn = 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.x8 = null;
this.x5 = null;
this.dt = 0;
this.an = new ChartSelectedItemCollection();
this.am = new ChartSelectedItemCollection();
this.ms = null;
this.mo = null;
this.mq = null;
this.mp = null;
this.mr = null;
this.filterStringErrorsParsing = null;
this.mt = null;
this.lt = null;
this.lr = null;
this.ls = null;
this.lq = 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.z6 = 0;
this.z7 = 0;
this.zf = new Rect(0, 0, 0, 1, 1);
this.mw = null;
this.mu = null;
this.xe = 1;
this.xd = 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.k9 = 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.a8 = 0;
this.dp = 0;
this.dr = 0;
this.dk = 0;
this.di = 0;
this.cm = 0;
this.cr = 0;
this.co = 0;
this.ld = 7;
this.d9 = 4;
this.bb = 0;
this.fu = false;
this.xs = null;
this.ic = NaN;
this.xr = null;
this.ft = true;
this.xn = null;
this.xp = null;
this.xo = null;
this.xq = null;
this.k2 = -1;
this.k3 = -1;
this.gb = false;
this.gd = true;
this.f2 = false;
this.x3 = null;
this.x4 = 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.xh = null;
this.xl = null;
this.xm = null;
this.xk = null;
this.xi = null;
this.xj = null;
this.k1 = -1;
this.h4 = null;
this.ai = null;
this.mc = null;
this.md = null;
this.mb = "CalloutLabel";
this.ma = "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.x6 = null;
this.x7 = 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.yb = null;
this.yc = 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.vb();
this.uo();
}
vb() {
this.bf = this.bh(true);
let a = this.bf.dataSeries;
a.collectionChanged = delegateCombine(a.collectionChanged, runOn(this, this.vv));
this.bg = this.bh(false);
let b = this.bg.dataSeries;
b.collectionChanged = delegateCombine(b.collectionChanged, runOn(this, this.vz));
}
w7(a, b, c) {
if (a) {
b.e = c;
}
else {
b.n(c);
}
}
w6(a, b, c) {
if (a) {
b.syncTarget = c;
}
else {
b.o(c);
}
}
w8(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.w7(a, this.a3, b.sortDescriptions);
this.w7(a, this.ay, b.groupDescriptions);
this.w6(a, this.en, b.filterExpressions);
this.w6(a, this.eo, b.highlightFilterExpressions);
this.w8(a, this.a7, b.summaryDescriptions);
this.w7(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.w6(a, this.el, b.filterExpressions);
}
}
{
if (this.eo.k.count == 0) {
this.w6(a, this.em, b.highlightFilterExpressions);
}
}
{
if (this.a3.j.count == 0) {
this.w7(a, this.aw, b.sortDescriptions);
}
if (this.az.j.count == 0) {
this.w7(a, this.av, b.postSortDescriptions);
}
}
{
if (this.ay.j.count == 0) {
this.w7(a, this.au, b.groupDescriptions);
}
}
{
if (this.a7.j.count == 0) {
this.w8(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.vs((a) => a.notifyContainerResized());
}
vq() {
this.vs((a) => {
for (let b = 0; b < a.series.count; b++) {
a.series._inner[b].qn();
}
});
}
uv() {
if (this.dataChart == null) {
return;
}
if (this.g8) {
this.us();
}
this.dataChart.flush();
}
u4() {
if (this.dataChart == null) {
return;
}
this.dataChart.ny();
}
wl(a) {
if (this.propertyChanged != null) {
this.propertyChanged(this, new PropertyChangedEventArgs(a));
}
}
ux(a) {
this.uy((b, c) => a(b));
}
uy(a) {
if (this.dataChart == null) {
return;
}
for (let b = 0; b < this.dataChart.series.count; b++) {
a(this.dataChart.series._inner[b], b);
}
}
u2(a) {
this.u3((b, c) => a(b));
}
u3(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.es) {
a(c, b);
}
}
}
u0(a) {
this.u1((b, c) => a(b));
}
u1(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);
}
}
}
wx() {
this.ux((a) => a.rx());
}
vs(a) {
this.vt(a, true);
}
vt(a, b) {
this.vu(a, b, null);
}
vu(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;
}
qt(a) {
let b = EnumUtil.getName(DataSeriesType_$type, a.suggestedSeries);
let c = "series_" + (a.index + 1) + "_" + b;
return c;
}
qu(a, b) {
if (this.g5 && this.hl) {
let c = "";
let d = 5 + Math.round(DomainChart.l8.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;
}
}
qs() {
return stringEmpty();
}
wa() {
let a = this.wc(runOn(this, this.us), this.g8);
this.g8 = a.p1;
}
um() {
if (this.dataChart == null) {
return;
}
this.g7 = false;
let a = false;
if (this.gy()) {
a = true;
this.ul();
}
if (a) {
this.uu();
this.xa();
}
}
xa() {
this.hr.clear();
}
ul() {
let a = 0;
for (let b of fromEnum(this.bg.dataSeries)) {
if (b.index == -1) {
b.index = a;
}
if (!stringIsNullOrEmpty(this.qt(b))) {
this.hr.item(this.qt(b), b);
}
a++;
}
}
h6(a) {
return a.data;
}
h7(a) {
return a.highlightedData;
}
uu() {
if (this.g8) {
let a = 0;
for (let b of fromEnum(this.bf.dataSeries)) {
if (b.index == -1) {
b.index = a;
}
if (!stringIsNullOrEmpty(this.qt(b))) {
if (this.hr.containsKey(this.qt(b))) {
let c = this.hr.item(this.qt(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;
}
w0() {
if (this.dataChart == null) {
return;
}
this.g8 = false;
this.w2();
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.wy(d);
this.wz(d);
c++;
}
this.xb();
this.uy(runOn(this, this.ve));
}
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);
}
xb() {
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.mc != null || this.md != null || this.mb != null || this.ma != null) {
for (let e of fromEnum(this.dataChart.series)) {
let f = this.c6();
this.ce.setTargetSeries(f, e);
this.ce.setCollisionChannel(f, "MainChartCollisionChannel");
this.w5(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.w5(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.un(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.xr);
this.ce.setCrosshairVerticalLineVisibility(i, this.g4() ? 0 : 1);
this.ce.setCrosshairVerticalLineStroke(i, this.xs);
this.ce.setCrosshairOnAxesEnabled(i, this.ft);
this.ce.setCrosshairXAxisBackground(i, this.xn);
this.ce.setCrosshairXAxisForeground(i, this.xo);
this.ce.setCrosshairYAxisBackground(i, this.xp);
this.ce.setCrosshairYAxisForeground(i, this.xq);
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.x3);
this.ce.setFinalValueForeground(j, this.x4);
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;
}
case 4:
{
let m = this.c9();
c.add(m);
break;
}
case 3:
{
this.ux((n) => n.gp = false);
break;
}
case 0:
{
this.ux((n) => n.gp = true);
break;