igniteui-react-charts
Version:
Ignite UI React charting components for building rich data visualizations using TypeScript APIs.
1,502 lines (1,501 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-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.v7((b) => {
b.destroy();
b.provideContainer(null);
});
return;
}
let b = this.l8;
this.l8 = a;
if (this.fi != null && this.l8 != null && b == null) {
this.l8.setTimeout(this.fi, 0);
this.fi = null;
}
let c = ((() => {
let $ret = new XamDataChart();
$ret.fc = true;
return $ret;
})());
c.jn = this;
c.dc.b4(a);
this.dataChart = c;
this.vr();
}
destroy() {
this.f6 = true;
this.provideContainer(null);
}
vr() {
if (this.dataChart == null) {
return;
}
let a = this.dataChart.dc.j.e();
this.z = a.a;
this.ad = a.f;
this.ab = a.b;
this.ac = a.c;
this.af = a.g;
this.ju = Defaults.crosshairLineThickness;
this.vs();
}
vs() {
}
vo(a) {
if (a == null) {
return;
}
a.iq = this.ko;
a.io = this.km;
a.ip = this.kn;
a.im = this.kl;
a.wf = this.zr;
a.ij = this.kh;
a.il = this.kj;
a.ik = this.ki;
a.ii = this.kg;
a.we = this.zq;
if (!isNaN_(this.j9)) {
a.ic = this.j9;
}
}
vl() {
}
vu(a, b) {
a.ke = this.ly;
a.de = this.eu;
}
wn(a, b, c) {
switch (a) {
case "TitleTopMargin":
if (this.dataChart != null) {
this.dataChart.iq = this.ko;
}
break;
case "TitleLeftMargin":
if (this.dataChart != null) {
this.dataChart.io = this.km;
}
break;
case "PixelScalingRatio":
if (this.dataChart != null) {
this.v7((d) => d.ic = this.j9);
}
break;
case "TitleRightMargin":
if (this.dataChart != null) {
this.dataChart.ip = this.kn;
}
break;
case "TitleBottomMargin":
if (this.dataChart != null) {
this.dataChart.im = this.kl;
}
break;
case "TitleTextColor":
if (this.dataChart != null) {
this.dataChart.wf = this.zr;
}
break;
case "SubtitleLeftMargin":
if (this.dataChart != null) {
this.dataChart.ij = this.kh;
}
break;
case "SubtitleTopMargin":
if (this.dataChart != null) {
this.dataChart.il = this.kj;
}
break;
case "SubtitleRightMargin":
if (this.dataChart != null) {
this.dataChart.ik = this.ki;
}
break;
case "SubtitleBottomMargin":
if (this.dataChart != null) {
this.dataChart.ii = this.kg;
}
break;
case "SubtitleTextColor":
if (this.dataChart != null) {
this.dataChart.we = this.zq;
}
break;
case "LeftMargin":
if (this.dataChart != null) {
this.dataChart.ib = this.j6;
}
break;
case "TopMargin":
if (this.dataChart != null) {
this.dataChart.ir = this.kp;
}
break;
case "RightMargin":
if (this.dataChart != null) {
this.dataChart.ih = this.kf;
}
break;
case "BottomMargin":
if (this.dataChart != null) {
this.dataChart.hw = this.js;
}
break;
case "TransitionDuration":
this.vh((d) => d.ke = this.ly);
break;
case "TransitionEasingFunction":
this.vh((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.h0;
}
set tooltipTemplates(a) {
let b = this.tooltipTemplates;
if (a != b) {
this.h0 = a;
this.wj("TooltipTemplates", b, this.tooltipTemplates);
}
}
get j9() {
return this.ix;
}
set j9(a) {
let b = this.ix;
if (a != b) {
this.ix = a;
this.wj("PixelScalingRatio", b, this.j9);
}
}
get toolTip() {
return this.l4;
}
set toolTip(a) {
let b = this.toolTip;
if (b != a) {
this.l4 = a;
this.wj("ToolTip", b, this.toolTip);
}
}
get km() {
return this.ja;
}
set km(a) {
let b = this.km;
if (a != b) {
this.ja = a;
this.wj("TitleLeftMargin", b, this.km);
}
}
get kn() {
return this.jb;
}
set kn(a) {
let b = this.kn;
if (a != b) {
this.jb = a;
this.wj("TitleRightMargin", b, this.kn);
}
}
get ko() {
return this.jc;
}
set ko(a) {
let b = this.ko;
if (a != b) {
this.jc = a;
this.wj("TitleTopMargin", b, this.ko);
}
}
get kl() {
return this.i9;
}
set kl(a) {
let b = this.kl;
if (a != b) {
this.i9 = a;
this.wj("TitleBottomMargin", b, this.kl);
}
}
get kh() {
return this.i5;
}
set kh(a) {
let b = this.kh;
if (a != b) {
this.i5 = a;
this.wj("SubtitleLeftMargin", b, this.kh);
}
}
get kj() {
return this.i7;
}
set kj(a) {
let b = this.kj;
if (a != b) {
this.i7 = a;
this.wj("SubtitleTopMargin", b, this.kj);
}
}
get ki() {
return this.i6;
}
set ki(a) {
let b = this.ki;
if (a != b) {
this.i6 = a;
this.wj("SubtitleRightMargin", b, this.ki);
}
}
get kg() {
return this.i4;
}
set kg(a) {
let b = this.kg;
if (a != b) {
this.i4 = a;
this.wj("SubtitleBottomMargin", b, this.kg);
}
}
get zq() {
return this.yp;
}
set zq(a) {
let b = this.zq;
if (a != b) {
this.yp = a;
this.wj("SubtitleTextColor", b, this.zq);
}
}
get zr() {
return this.yq;
}
set zr(a) {
let b = this.zr;
if (a != b) {
this.yq = a;
this.wj("TitleTextColor", b, this.zr);
}
}
get_j6() {
return this.iu;
}
set_j6(a) {
let b = this.j6;
if (a != b) {
this.iu = a;
this.wj("LeftMargin", b, this.j6);
}
}
get j6() {
return this.get_j6();
}
set j6(a) {
this.set_j6(a);
}
get kp() {
return this.jd;
}
set kp(a) {
let b = this.kp;
if (a != b) {
this.jd = a;
this.wj("TopMargin", b, this.kp);
}
}
get kf() {
return this.i3;
}
set kf(a) {
let b = this.kf;
if (a != b) {
this.i3 = a;
this.wj("RightMargin", b, this.kf);
}
}
get js() {
return this.ie;
}
set js(a) {
let b = this.js;
if (a != b) {
this.ie = a;
this.wj("BottomMargin", b, this.js);
}
}
get ly() {
return this.lj;
}
set ly(a) {
let b = this.ly;
if (a != b) {
this.lj = a;
this.wj("TransitionDuration", b, this.ly);
}
}
get eu() {
return this.et;
}
set eu(a) {
let b = this.eu;
if (a != b) {
this.et = a;
this.wj("TransitionEasingFunction", b, this.eu);
}
}
get lu() {
return this.le;
}
set lu(a) {
let b = this.lu;
if (a != b) {
this.le = a;
this.wj("HighlightingTransitionDuration", b, this.lu);
}
}
get lx() {
return this.lh;
}
set lx(a) {
let b = this.lx;
if (a != b) {
this.lh = a;
this.wj("SelectionTransitionDuration", b, this.lx);
}
}
get ls() {
return this.lc;
}
set ls(a) {
let b = this.ls;
if (a != b) {
this.lc = a;
this.wj("FocusTransitionDuration", b, this.ls);
}
}
vp(a) {
if (this.dataChart == null) {
return;
}
a.ms = this.tq;
a.mg = this.tf;
}
vv(a, b) {
this.vw(a, b);
}
vm() {
}
vw(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_;
}
}
xp(a, b, c) {
}
ma(a) {
return a;
return null;
}
k4(a) {
return null;
}
wo(a, b, c) {
switch (a) {
case "SubtitleTextStyle":
if (this.dataChart != null) {
this.dataChart.mg = this.tf;
}
break;
case "TitleTextStyle":
if (this.dataChart != null) {
this.dataChart.ms = this.tq;
}
break;
case "TooltipTemplate":
if (this.hj) {
return;
}
this.hj = true;
this.tooltipTemplate = this.ma(this.tooltipTemplate);
this.hj = false;
if (this.dataChart != null) {
this.dataChart.jp = this.tooltipTemplate;
}
this.toolTip = this.tooltipTemplate;
break;
case "ToolTip":
this.vi((d, e) => this.vw(d, e));
break;
case "TooltipTemplates":
if (this.tooltipTemplates == null) {
break;
}
this.hj = true;
this.vi((d, e) => {
let f = this.ma(ArrayExtension.getModulus$1(Base.$, this.tooltipTemplates, e));
let series_ = d;
let templ_ = f;
series_.externalObject.tooltipTemplate = templ_;
});
this.hj = false;
break;
}
}
get cl() {
return this.ck;
}
set cl(a) {
let b = this.cl;
if (a != b) {
this.ck = a;
this.wj("Widget", b, this.cl);
}
}
get tf() {
return this.m5;
}
set tf(a) {
let b = this.tf;
if (a != b) {
this.m5 = a;
this.wj("SubtitleTextStyle", b, this.tf);
}
}
get tq() {
return this.m7;
}
set tq(a) {
let b = this.tq;
if (a != b) {
this.m7 = a;
this.wj("TitleTextStyle", b, this.tq);
}
}
get dataChart() {
return this.eh;
}
set dataChart(a) {
let b = this.dataChart;
if (b != a) {
this.eh = a;
this.wj("DataChart", b, this.dataChart);
}
}
get currentDataAdapter() {
return this.bf;
}
sendCommandCompleted(a) {
if (this.commandCompleted != null) {
this.commandCompleted(a);
}
}
captureTargetImageToClipboard(a) {
if (this.f3) {
return;
}
this.f3 = 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.wg));
this.dataChart.nt(b);
this.dataChart.al.q();
}
wg(a, b) {
this.f3 = false;
let c = this.dataChart;
c.imageCaptured = delegateRemove(c.imageCaptured, runOn(this, this.wg));
if (this.fj != null) {
this.fj(this, b);
this.fj = null;
}
}
get isDetached() {
return this.f7 || this.f6;
}
onDetachedFromUI() {
this.f7 = true;
this.v7((a) => a.onDetachedFromUI());
}
onAttachedToUI() {
this.f7 = false;
this.v7((a) => a.onAttachedToUI());
}
constructor() {
super();
this.l8 = null;
this.l5 = null;
this.h0 = null;
this.ix = NaN;
this.l4 = null;
this.ja = 0;
this.jb = 0;
this.jc = 0;
this.i9 = 0;
this.i5 = 0;
this.i7 = 0;
this.i6 = 0;
this.i4 = 0;
this.yp = null;
this.yq = null;
this.iu = NaN;
this.jd = NaN;
this.i3 = NaN;
this.ie = NaN;
this.lj = 0;
this.et = null;
this.le = 300;
this.lh = 300;
this.lc = 300;
this.k3 = null;
this.hj = false;
this.ck = null;
this.m5 = null;
this.m7 = null;
this.eh = null;
this.f3 = false;
this.fj = null;
this.f7 = false;
this.f6 = false;
this.h4 = null;
this.propertyChanged = null;
this.seriesDataChanged = null;
this.li = 0;
this.hc = false;
this.hb = false;
this.hv = new Dictionary$2(String_$type, DataSeries.$, 0);
this.cd = null;
this.hq = false;
this.hz = null;
this.ch = null;
this.f9 = false;
this.ci = null;
this._commandCompleted = null;
this._invalidateActions = null;
this.hw = null;
this.hx = new List$1(ICommandStateChangedListener_$type, 0);
this.by = 0;
this.ik = NaN;
this.il = NaN;
this.ii = DeviceUtils.g(10);
this.ij = DeviceUtils.g(10);
this.bu = 0;
this.bw = 0;
this.fz = true;
this.e = null;
this.b = null;
this.d = null;
this.a = null;
this.bc = 0;
this.k8 = -1;
this.k9 = -1;
this.bs = 0;
this.mv = stringEmpty();
this.f0 = true;
this.mw = null;
this.f = null;
this.z8 = new Thickness(0, DeviceUtils.g(5));
this.f1 = true;
this.mx = "N/A";
this.f2 = false;
this.z9 = new Thickness(1, DeviceUtils.g(2), DeviceUtils.g(0), DeviceUtils.g(2), DeviceUtils.g(0));
this.yi = null;
this.e5 = null;
this.mp = null;
this.c = null;
this.mo = stringEmpty();
this.bi = 0;
this.bk = 0;
this.mq = null;
this.ya = null;
this.z2 = new Thickness(1, DeviceUtils.g(2), DeviceUtils.g(0), DeviceUtils.g(0), DeviceUtils.g(0));
this.z1 = new Thickness(0, DeviceUtils.g(5));
this.fy = true;
this.ex = null;
this.x9 = null;
this.z0 = new Thickness(1, DeviceUtils.g(2), DeviceUtils.g(0), DeviceUtils.g(0), DeviceUtils.g(0));
this.zz = new Thickness(0, DeviceUtils.g(5));
this.fx = false;
this.ew = null;
this.yd = null;
this.e0 = null;
this.bo = 0;
this.ms = null;
this.z5 = new Thickness(1, DeviceUtils.g(2), DeviceUtils.g(0), DeviceUtils.g(0), DeviceUtils.g(0));
this.z4 = new Thickness(0, DeviceUtils.g(5));
this.yf = null;
this.e2 = null;
this.mr = null;
this.yc = null;
this.ez = null;
this.mt = null;
this.ye = null;
this.e1 = null;
this.zy = new Thickness(0, DeviceUtils.g(0));
this.cq = 0;
this.bq = 0;
this.mu = null;
this.yh = null;
this.z7 = new Thickness(0, DeviceUtils.g(0));
this.e4 = null;
this.z6 = new Thickness(0, DeviceUtils.g(0));
this.yg = null;
this.e3 = null;
this.bm = 0;
this.yb = null;
this.z3 = 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.h3 = null;
this.fi = null;
this.fm = false;
this.hu = new Dictionary$2(String_$type, Base.$, 0);
this.hy = 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.yo = null;
this.yl = null;
this.dt = 0;
this.an = new ChartSelectedItemCollection();
this.am = new ChartSelectedItemCollection();
this.m2 = null;
this.my = null;
this.m0 = null;
this.mz = null;
this.m1 = null;
this.filterStringErrorsParsing = null;
this.m3 = null;
this.l3 = null;
this.l1 = null;
this.l2 = null;
this.l0 = null;
this.h = null;
this.g = null;
this.r = null;
this.u = null;
this.p = null;
this.q = null;
this.cf = null;
this.f8 = true;
this.gb = true;
this.ge = false;
this.gg = false;
this.dg = 1;
this.ga = false;
this.aam = 0;
this.aan = 0;
this.zv = new Rect(0, 0, 0, 1, 1);
this.m6 = null;
this.m4 = null;
this.xu = 1;
this.xt = 1;
this.ee = 0;
this.i2 = NaN;
this.i8 = NaN;
this.dm = 0;
this.cy = 0;
this.cw = 0;
this.iv = NaN;
this.iw = NaN;
this.c4 = null;
this.cu = 4;
this.s = null;
this.t = null;
this.lf = 400;
this.id = NaN;
this.fl = false;
this.v = null;
this.eb = 0;
this.je = DeviceUtils.g(1.5);
this.ed = null;
this.gh = false;
this.fk = true;
this.iz = NaN;
this.i1 = NaN;
this.i0 = NaN;
this.iy = NaN;
this.ld = 200;
this.lb = 200;
this.lg = 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.lk = 7;
this.d9 = 4;
this.bb = 0;
this.fw = false;
this.x8 = null;
this.ih = NaN;
this.x7 = null;
this.ft = true;
this.fv = false;
this.fu = false;
this.x3 = null;
this.x5 = null;
this.x4 = null;
this.x6 = null;
this.k6 = -1;
this.k7 = -1;
this.gd = false;
this.gf = true;
this.f4 = false;
this.yj = null;
this.yk = null;
this.la = -1;
this.fn = false;
this.fs = false;
this.fo = false;
this.gi = true;
this.ag = 0;
this.fq = false;
this.fr = false;
this.fp = false;
this.ig = NaN;
this.xx = null;
this.x1 = null;
this.x2 = null;
this.x0 = null;
this.xy = null;
this.xz = null;
this.k5 = -1;
this.h8 = null;
this.ai = null;
this.mm = null;
this.mn = null;
this.ml = "CalloutLabel";
this.mk = "CalloutContent";
this.ev = null;
this.eg = null;
this.w = null;
this.jf = NaN;
this.gc = false;
this.d1 = 0;
this.d2 = 0;
this.dz = 0;
this.d7 = 0;
this.ym = null;
this.yn = null;
this.ir = NaN;
this.iq = NaN;
this.im = NaN;
this.io = NaN;
this.ip = NaN;
this.it = NaN;
this.is = NaN;
this.f5 = true;
this.yr = null;
this.ys = null;
this.jj = NaN;
this.ji = NaN;
this.jg = NaN;
this.jm = NaN;
this.jh = NaN;
this.jl = NaN;
this.jk = NaN;
this.gj = true;
this.jo = NaN;
this.jn = NaN;
this.jq = NaN;
this.jp = NaN;
this.h3 = new List$1(Delegate_$type, 0);
this.vq();
this.u3();
}
vq() {
this.bf = this.bh(true);
let a = this.bf.dataSeries;
a.collectionChanged = delegateCombine(a.collectionChanged, runOn(this, this.wa));
this.bg = this.bh(false);
let b = this.bg.dataSeries;
b.collectionChanged = delegateCombine(b.collectionChanged, runOn(this, this.wf));
}
xn(a, b, c) {
if (a) {
b.e = c;
}
else {
b.n(c);
}
}
xm(a, b, c) {
if (a) {
b.syncTarget = c;
}
else {
b.o(c);
}
}
xo(a, b, c) {
if (a) {
b.e = c;
}
else {
b.n(c);
}
}
bh(a) {
this.h4 = 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.xn(a, this.a3, b.sortDescriptions);
this.xn(a, this.ay, b.groupDescriptions);
this.xm(a, this.en, b.filterExpressions);
this.xm(a, this.eo, b.highlightFilterExpressions);
this.xo(a, this.a7, b.summaryDescriptions);
this.xn(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.xm(a, this.el, b.filterExpressions);
}
}
{
if (this.eo.k.count == 0) {
this.xm(a, this.em, b.highlightFilterExpressions);
}
}
{
if (this.a3.j.count == 0) {
this.xn(a, this.aw, b.sortDescriptions);
}
if (this.az.j.count == 0) {
this.xn(a, this.av, b.postSortDescriptions);
}
}
{
if (this.ay.j.count == 0) {
this.xn(a, this.au, b.groupDescriptions);
}
}
{
if (this.a7.j.count == 0) {
this.xo(a, this.a4, b.summaryDescriptions);
}
}
if (this.includedProperties != null) {
b.includedProperties = this.includedProperties;
}
if (this.excludedProperties != null) {
b.excludedProperties = this.excludedProperties;
}
b.supportedSeriesTypes = this.h6.toArray();
b.rules.clear();
for (let c of fromEnum(this.h5)) {
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;
}
he(a) {
return a != 24 && this.h6.contains(a);
}
notifyResized() {
this.v7((a) => a.notifyContainerResized());
}
v5() {
this.v7((a) => {
for (let b = 0; b < a.series.count; b++) {
a.series._inner[b].qp();
}
});
}
va() {
if (this.dataChart == null) {
return;
}
if (this.hc) {
this.u7();
}
this.dataChart.flush();
}
vj() {
if (this.dataChart == null) {
return;
}
this.dataChart.of();
}
w1(a) {
if (this.propertyChanged != null) {
this.propertyChanged(this, new PropertyChangedEventArgs(a));
}
}
vc(a) {
this.vd((b, c) => a(b));
}
vd(a) {
if (this.dataChart == null) {
return;
}
for (let b = 0; b < this.dataChart.series.count; b++) {
a(this.dataChart.series._inner[b], b);
}
}
vh(a) {
this.vi((b, c) => a(b));
}
vi(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);
}
}
}
vf(a) {
this.vg((b, c) => a(b));
}
vg(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);
}
}
}
xd() {
this.vc((a) => a.rz());
}
v7(a) {
this.v8(a, true);
}
v8(a, b) {
this.v9(a, b, null);
}
v9(a, b, c) {
if (this.dataChart == null) {
return;
}
a(this.dataChart);
}
hg(a) {
if (!this.he(a.suggestedSeries)) {
return false;
}
let b = a.data;
if (b == null) {
return false;
}
return true;
}
g6() {
if (this.dataChart == null) {
return false;
}
return true;
}
q6(a) {
let b = EnumUtil.getName(DataSeriesType_$type, a.suggestedSeries);
let c = "series_" + (a.index + 1) + "_" + b;
return c;
}
q7(a, b) {
if (this.g9 && this.hp) {
let c = "";
let d = 5 + Math.round(DomainChart.mi.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;
}
}
q5() {
return stringEmpty();
}
wq() {
let a = this.ws(runOn(this, this.u7), this.hc);
this.hc = a.p1;
}
u1() {
if (this.dataChart == null) {
return;
}
this.hb = false;
let a = false;
if (this.g2()) {
a = true;
this.u0();
}
if (a) {
this.u9();
this.xq();
}
}
xq() {
this.hv.clear();
}
u0() {
let a = 0;
for (let b of fromEnum(this.bg.dataSeries)) {
if (b.index == -1) {
b.index = a;
}
if (!stringIsNullOrEmpty(this.q6(b))) {
this.hv.item(this.q6(b), b);
}
a++;
}
}
ia(a) {
return a.data;
}
ib(a) {
return a.highlightedData;
}
u9() {
if (this.hc) {
let a = 0;
for (let b of fromEnum(this.bf.dataSeries)) {
if (b.index == -1) {
b.index = a;
}
if (!stringIsNullOrEmpty(this.q6(b))) {
if (this.hv.containsKey(this.q6(b))) {
let c = this.hv.item(this.q6(b));
b.highlightedData = c.data;
}
}
a++;
}
}
if (!this.hc && this.dataChart != null) {
for (let d = 0; d < this.dataChart.series.count; d++) {
let e = this.dataChart.series._inner[d];
if (this.hv.containsKey(e.name)) {
e.highlightedItemsSource = this.ia(this.hv.item(e.name));
}
}
}
}
g2() {
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;
}
xg() {
if (this.dataChart == null) {
return;
}
this.hc = false;
this.xi();
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.h4 = a;
let c = 0;
for (let d of fromEnum(this.bf.dataSeries)) {
if (!this.hg(d)) {
continue;
}
if (d.index < 0) {
d.index = c;
}
this.xe(d);
this.xf(d);
c++;
}
this.xr();
this.vd(runOn(this, this.vt));
}
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 g1() {
return (TypeRegistrar.isRegistered("AnnotationLayerProxy"));
}
g4(a) {
if (!this.g1) {
return false;
}
return this.ce.matchesType(a);
}
xr() {
let a = this.h2("", true);
if (a != null) {
for (let b = 0; b < a.count; b++) {
this.dataChart.series.add(a._inner[b]);
}
}
}
g7() {
return this.crosshairsDisplayMode == 0 || this.crosshairsDisplayMode == 4 || this.crosshairsDisplayMode == 2;
}
g8() {
return this.crosshairsDisplayMode == 0 || this.crosshairsDisplayMode == 4 || this.crosshairsDisplayMode == 3;
}
get_g5() {
return this.autoCalloutsVisible;
}
get g5() {
return this.get_g5();
}
h2(a, b) {
if (!this.g1) {
return null;
}
let c = new List$1(Series.$, 0);
if (b) {
let d = 1;
if (this.fs) {
if (this.h8 == null) {
if (this.mm != null || this.mn != null || this.ml != null || this.mk != null) {
for (let e of fromEnum(this.dataChart.series)) {
let f = this.c6();
this.ce.setTargetSeries(f, e);
this.ce.setCollisionChannel(f, "MainChartCollisionChannel");
this.xl(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.xl(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.u2(h, this.ho);
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.ih);
this.ce.setCrosshairUseInterpolation(i, !this.fw);
this.ce.setCrosshairHorizontalLineVisibility(i, this.g7() ? 0 : 1);
this.ce.setCrosshairHorizontalLineStroke(i, this.x7);
this.ce.setCrosshairVerticalLineVisibility(i, this.g8() ? 0 : 1);
this.ce.setCrosshairVerticalLineStroke(i, this.x8);
this.ce.setCrosshairOnAxesEnabled(i, this.ft);
this.ce.setCrosshairXAxisBackground(i, this.x3);
this.ce.setCrosshairXAxisForeground(i, this.x4);
this.ce.setCrosshairYAxisBackground(i, this.x5);
this.ce.setCrosshairYAxisForeground(i, this.x6);
this.ce.setCrosshairXAxisPrecision(i, this.k6);
this.ce.setCrosshairYAxisPrecision(i, this.k7);
this.ce.setCrosshairSkipZeroValueFragments(i, this.fv);
this.ce.setCrosshairSkipInvalidData(i, this.fu);
c.add(i);
break;
}
case 1:
{
break;
}
}
if (this.f4) {
let j = this.da();
this.ce.setFinalValueBackground(j, this.yj);
this.ce.setFinalValueForeground(j, this.yk);
this.ce.setFinalValuePrecision(j, this.la);
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;
}