igniteui-angular-charts
Version:
Ignite UI Angular charting components for building rich data visualizations for modern web apps.
1,460 lines • 165 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-angular-core";
import { IDataLegendTarget_$type } from "igniteui-angular-core";
import { IToolbarTarget_$type } from "igniteui-angular-core";
import { IDomainChartLike_$type } from "./IDomainChartLike";
import { ArrayExtension } from "igniteui-angular-core";
import { List$1 } from "igniteui-angular-core";
import { Brush } from "igniteui-angular-core";
import { XamDataChart } from "./XamDataChart";
import { DataSeriesType_$type } from "igniteui-angular-core";
import { MarkerType_$type } from "./MarkerType";
import { Color } from "igniteui-angular-core";
import { ColorUtil } from "igniteui-angular-core";
import { IDomainChartToolbarProvider_$type } from "./IDomainChartToolbarProvider";
import { DVContainer } from "igniteui-angular-core";
import { DataToolTipLayerGroupingMode_$type } from "igniteui-angular-core";
import { DataTooltipGroupedPositionX_$type } from "igniteui-angular-core";
import { DataTooltipGroupedPositionY_$type } from "igniteui-angular-core";
import { DataAbbreviationMode_$type } from "igniteui-angular-core";
import { DataLegendValueMode_$type } from "igniteui-angular-core";
import { Thickness } from "igniteui-angular-core";
import { DataLegendHeaderDateMode_$type } from "igniteui-angular-core";
import { DataLegendHeaderTimeMode_$type } from "igniteui-angular-core";
import { DataLegendSummaryType_$type } from "igniteui-angular-core";
import { LegendItemBadgeShape_$type } from "igniteui-angular-core";
import { DataLegendUnitsMode_$type } from "igniteui-angular-core";
import { DataLegendLabelMode_$type } from "igniteui-angular-core";
import { ChartSortDescriptionCollection } from "./ChartSortDescriptionCollection";
import { FilterExpressionCollection } from "igniteui-angular-core";
import { ChartSummaryDescriptionCollection } from "./ChartSummaryDescriptionCollection";
import { SeriesSelectionMode_$type } from "./SeriesSelectionMode";
import { SeriesSelectionBehavior_$type } from "./SeriesSelectionBehavior";
import { ChartSelectedItemCollection } from "./ChartSelectedItemCollection";
import { SortGroupParser } from "igniteui-angular-core";
import { FilterExpressionParsingHelper } from "igniteui-angular-core";
import { FilterStringErrorsParsingEventArgs } from "./FilterStringErrorsParsingEventArgs";
import { SummaryParser } from "igniteui-angular-core";
import { BrushCollection } from "igniteui-angular-core";
import { SeriesHighlightedValuesDisplayMode_$type } from "igniteui-angular-core";
import { Visibility_$type } from "igniteui-angular-core";
import { Rect } from "igniteui-angular-core";
import { HorizontalAlignment_$type } from "igniteui-angular-core";
import { UnknownValuePlotting_$type } from "igniteui-angular-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-angular-core";
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-angular-core";
import { ToolTipType_$type } from "./ToolTipType";
import { CrosshairsDisplayMode_$type } from "./CrosshairsDisplayMode";
import { CalloutCollisionMode_$type } from "igniteui-angular-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-angular-core";
import { Dictionary$2 } from "igniteui-angular-core";
import { DataSeries } from "igniteui-angular-core";
import { ICommandStateChangedListener_$type } from "igniteui-angular-core";
import { DeviceUtils } from "igniteui-angular-core";
import { ObservableCollection$1 } from "igniteui-angular-core";
import { DataSeriesAdapter } from "igniteui-angular-core";
import { ChartSortDescription } from "./ChartSortDescription";
import { ChartSummaryDescription } from "./ChartSummaryDescription";
import { Random } from "igniteui-angular-core";
import { ValueLayerValueMode_$type } from "./ValueLayerValueMode";
import { ObservableColorCollection } from "igniteui-angular-core";
import { BrushCollectionUtil } from "igniteui-angular-core";
import { ChartSeriesEventArgs } from "./ChartSeriesEventArgs";
import { DomainChartSeriesPointerEventArgs } from "./DomainChartSeriesPointerEventArgs";
import { DomainChartPlotAreaPointerEventArgs } from "./DomainChartPlotAreaPointerEventArgs";
import { BrushUtil } from "igniteui-angular-core";
import { IUnknownValuePlotting_$type } from "igniteui-angular-core";
import { ITrendLineSeries_$type } from "./ITrendLineSeries";
import { isNaN_ } from "igniteui-angular-core";
import { stringIsNullOrEmpty, stringEmpty, stringStartsWith } from "igniteui-angular-core";
/**
* @hidden
*/
export let DomainChart = /*@__PURE__*/ (() => {
class DomainChart extends Base {
constructor() {
super();
this.lt = null;
this.lq = null;
this.hr = null;
this.io = NaN;
this.lp = null;
this.i1 = 0;
this.i2 = 0;
this.i3 = 0;
this.i0 = 0;
this.iw = 0;
this.iy = 0;
this.ix = 0;
this.iv = 0;
this.xx = null;
this.xy = null;
this.ik = NaN;
this.i4 = NaN;
this.iu = NaN;
this.h5 = NaN;
this.k7 = 0;
this.er = null;
this.k3 = 300;
this.k5 = 300;
this.k2 = 300;
this.ku = null;
this.hc = false;
this.ck = null;
this.mq = null;
this.ms = null;
this.ee = null;
this.fz = false;
this.fh = null;
this.f3 = false;
this.f2 = false;
this.hv = null;
this.propertyChanged = null;
this.k6 = 0;
this.g5 = false;
this.g4 = false;
this.hn = new Dictionary$2(String_$type, DataSeries.$, 0);
this.cd = null;
this.hj = false;
this.hq = null;
this.ch = null;
this.f5 = false;
this.ci = null;
this._commandCompleted = null;
this._invalidateActions = null;
this.eq = null;
this.ho = new List$1(ICommandStateChangedListener_$type, 0);
this.by = 0;
this.ia = NaN;
this.ib = NaN;
this.h8 = DeviceUtils.g(10);
this.h9 = DeviceUtils.g(10);
this.bu = 0;
this.bw = 0;
this.fv = true;
this.e = null;
this.b = null;
this.d = null;
this.a = null;
this.bc = 0;
this.kz = -1;
this.k0 = -1;
this.bs = 0;
this.mg = stringEmpty();
this.fw = true;
this.mh = null;
this.f = null;
this.zg = new Thickness(0, DeviceUtils.g(5));
this.fx = true;
this.mi = "N/A";
this.fy = false;
this.zh = new Thickness(1, DeviceUtils.g(2), DeviceUtils.g(0), DeviceUtils.g(2), DeviceUtils.g(0));
this.xq = null;
this.e3 = null;
this.ma = null;
this.c = null;
this.l9 = stringEmpty();
this.bi = 0;
this.bk = 0;
this.mb = null;
this.xi = null;
this.za = new Thickness(1, DeviceUtils.g(2), DeviceUtils.g(0), DeviceUtils.g(0), DeviceUtils.g(0));
this.y9 = new Thickness(0, DeviceUtils.g(5));
this.fu = true;
this.ev = null;
this.xh = null;
this.y8 = new Thickness(1, DeviceUtils.g(2), DeviceUtils.g(0), DeviceUtils.g(0), DeviceUtils.g(0));
this.y7 = new Thickness(0, DeviceUtils.g(5));
this.ft = false;
this.eu = null;
this.xl = null;
this.ey = null;
this.bo = 0;
this.md = null;
this.zd = new Thickness(1, DeviceUtils.g(2), DeviceUtils.g(0), DeviceUtils.g(0), DeviceUtils.g(0));
this.zc = new Thickness(0, DeviceUtils.g(5));
this.xn = null;
this.e0 = null;
this.mc = null;
this.xk = null;
this.ex = null;
this.me = null;
this.xm = null;
this.ez = null;
this.y6 = new Thickness(0, DeviceUtils.g(0));
this.cq = 0;
this.bq = 0;
this.mf = null;
this.xp = null;
this.zf = new Thickness(0, DeviceUtils.g(0));
this.e2 = null;
this.ze = new Thickness(0, DeviceUtils.g(0));
this.xo = null;
this.e1 = null;
this.bm = 0;
this.xj = null;
this.zb = new Thickness(1, DeviceUtils.g(8), DeviceUtils.g(0), DeviceUtils.g(0), DeviceUtils.g(0));
this.ew = 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.hu = null;
this.fg = null;
this.fk = false;
this.hm = new Dictionary$2(String_$type, Base.$, 0);
this.hp = new List$1(String_$type, 0);
this.ax = null;
this.at = null;
this.as = null;
this.eg = null;
this.eh = null;
this.a5 = null;
this.eo = null;
this.ep = null;
this.aw = null;
this.av = null;
this.au = null;
this.ej = null;
this.ei = null;
this.a4 = null;
this.dv = 0;
this.du = 0;
this.xw = null;
this.xt = null;
this.ds = 0;
this.an = new ChartSelectedItemCollection();
this.am = new ChartSelectedItemCollection();
this.mn = null;
this.mj = null;
this.ml = null;
this.mk = null;
this.mm = null;
this.filterStringErrorsParsing = null;
this.mo = null;
this.lo = null;
this.lm = null;
this.ln = null;
this.ll = null;
this.h = null;
this.g = null;
this.r = null;
this.u = null;
this.p = null;
this.q = null;
this.cf = null;
this.f4 = true;
this.f7 = true;
this.ga = false;
this.gc = false;
this.df = 1;
this.f6 = false;
this.zu = 0;
this.zv = 0;
this.y3 = new Rect(0, 0, 0, 1, 1);
this.mr = null;
this.mp = null;
this.w2 = 1;
this.w1 = 1;
this.eb = 0;
this.it = NaN;
this.iz = NaN;
this.dl = 0;
this.cy = 0;
this.cw = 0;
this.il = NaN;
this.im = NaN;
this.c4 = null;
this.cu = 4;
this.s = null;
this.t = null;
this.k4 = 400;
this.h4 = NaN;
this.fj = false;
this.v = null;
this.ea = 0;
this.i5 = DeviceUtils.g(1.5);
this.fi = true;
this.iq = NaN;
this.is = NaN;
this.ir = NaN;
this.ip = NaN;
this.a8 = 0;
this.dn = 0;
this.dq = 0;
this.dj = 0;
this.dh = 0;
this.cm = 0;
this.cr = 0;
this.co = 0;
this.k8 = 7;
this.d8 = 4;
this.bb = 0;
this.fs = false;
this.xg = null;
this.h7 = NaN;
this.xf = null;
this.fr = true;
this.xb = null;
this.xd = null;
this.xc = null;
this.xe = null;
this.kx = -1;
this.ky = -1;
this.f9 = false;
this.gb = true;
this.f0 = false;
this.xr = null;
this.xs = null;
this.k1 = -1;
this.fl = false;
this.fq = false;
this.fm = false;
this.gd = true;
this.ag = 0;
this.fo = false;
this.fp = false;
this.fn = false;
this.h6 = NaN;
this.w5 = null;
this.w9 = null;
this.xa = null;
this.w8 = null;
this.w6 = null;
this.w7 = null;
this.kw = -1;
this.hz = null;
this.ai = null;
this.l7 = null;
this.l8 = null;
this.l6 = "CalloutLabel";
this.l5 = "CalloutContent";
this.et = null;
this.ed = null;
this.w = null;
this.i6 = NaN;
this.f8 = false;
this.d0 = 0;
this.d1 = 0;
this.dy = 0;
this.d6 = 0;
this.xu = null;
this.xv = null;
this.ih = NaN;
this.ig = NaN;
this.ic = NaN;
this.id = NaN;
this.ie = NaN;
this.ij = NaN;
this.ii = NaN;
this.f1 = true;
this.xz = null;
this.x0 = null;
this.ja = NaN;
this.i9 = NaN;
this.i7 = NaN;
this.jd = NaN;
this.i8 = NaN;
this.jc = NaN;
this.jb = NaN;
this.ge = true;
this.jf = NaN;
this.je = NaN;
this.jh = NaN;
this.jg = NaN;
this.hu = new List$1(Delegate_$type, 0);
this.u3();
this.ug();
}
provideContainer(a) {
if (a == null) {
this.vk((b) => {
b.destroy();
b.provideContainer(null);
});
return;
}
let b = this.lt;
this.lt = a;
if (this.fg != null && this.lt != null && b == null) {
this.lt.setTimeout(this.fg, 0);
this.fg = null;
}
let c = ((() => {
let $ret = new XamDataChart();
$ret.e8 = true;
return $ret;
})());
c.ja = this;
c.c9.b4(a);
this.dataChart = c;
this.u4();
}
destroy() {
this.f2 = true;
this.provideContainer(null);
}
u4() {
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.jl = Defaults.j;
this.u5();
}
u5() {
}
u1(a) {
if (a == null) {
return;
}
a.ig = this.kf;
a.id = this.kd;
a.ie = this.ke;
a.ic = this.kc;
a.vq = this.yz;
a.h9 = this.j8;
a.ib = this.ka;
a.ia = this.j9;
a.h8 = this.j7;
a.vp = this.yy;
if (!isNaN_(this.j0)) {
a.h3 = this.j0;
}
}
uy() {
}
u7(a, b) {
a.kc = this.lj;
a.dd = this.es;
}
vx(a, b, c) {
switch (a) {
case "TitleTopMargin":
if (this.dataChart != null) {
this.dataChart.ig = this.kf;
}
break;
case "TitleLeftMargin":
if (this.dataChart != null) {
this.dataChart.id = this.kd;
}
break;
case "PixelScalingRatio":
if (this.dataChart != null) {
this.vk((d) => d.h3 = this.j0);
}
break;
case "TitleRightMargin":
if (this.dataChart != null) {
this.dataChart.ie = this.ke;
}
break;
case "TitleBottomMargin":
if (this.dataChart != null) {
this.dataChart.ic = this.kc;
}
break;
case "TitleTextColor":
if (this.dataChart != null) {
this.dataChart.vq = this.yz;
}
break;
case "SubtitleLeftMargin":
if (this.dataChart != null) {
this.dataChart.h9 = this.j8;
}
break;
case "SubtitleTopMargin":
if (this.dataChart != null) {
this.dataChart.ib = this.ka;
}
break;
case "SubtitleRightMargin":
if (this.dataChart != null) {
this.dataChart.ia = this.j9;
}
break;
case "SubtitleBottomMargin":
if (this.dataChart != null) {
this.dataChart.h8 = this.j7;
}
break;
case "SubtitleTextColor":
if (this.dataChart != null) {
this.dataChart.vp = this.yy;
}
break;
case "LeftMargin":
if (this.dataChart != null) {
this.dataChart.h2 = this.jx;
}
break;
case "TopMargin":
if (this.dataChart != null) {
this.dataChart.ih = this.kg;
}
break;
case "RightMargin":
if (this.dataChart != null) {
this.dataChart.h7 = this.j6;
}
break;
case "BottomMargin":
if (this.dataChart != null) {
this.dataChart.hp = this.jj;
}
break;
case "TransitionDuration":
this.uu((d) => d.kc = this.lj);
break;
case "TransitionEasingFunction":
this.uu((d) => d.dd = this.es);
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.hr;
}
set tooltipTemplates(a) {
let b = this.tooltipTemplates;
if (a != b) {
this.hr = a;
this.vu("TooltipTemplates", b, this.tooltipTemplates);
}
}
get j0() {
return this.io;
}
set j0(a) {
let b = this.io;
if (a != b) {
this.io = a;
this.vu("PixelScalingRatio", b, this.j0);
}
}
get toolTip() {
return this.lp;
}
set toolTip(a) {
let b = this.toolTip;
if (b != a) {
this.lp = a;
this.vu("ToolTip", b, this.toolTip);
}
}
get kd() {
return this.i1;
}
set kd(a) {
let b = this.kd;
if (a != b) {
this.i1 = a;
this.vu("TitleLeftMargin", b, this.kd);
}
}
get ke() {
return this.i2;
}
set ke(a) {
let b = this.ke;
if (a != b) {
this.i2 = a;
this.vu("TitleRightMargin", b, this.ke);
}
}
get kf() {
return this.i3;
}
set kf(a) {
let b = this.kf;
if (a != b) {
this.i3 = a;
this.vu("TitleTopMargin", b, this.kf);
}
}
get kc() {
return this.i0;
}
set kc(a) {
let b = this.kc;
if (a != b) {
this.i0 = a;
this.vu("TitleBottomMargin", b, this.kc);
}
}
get j8() {
return this.iw;
}
set j8(a) {
let b = this.j8;
if (a != b) {
this.iw = a;
this.vu("SubtitleLeftMargin", b, this.j8);
}
}
get ka() {
return this.iy;
}
set ka(a) {
let b = this.ka;
if (a != b) {
this.iy = a;
this.vu("SubtitleTopMargin", b, this.ka);
}
}
get j9() {
return this.ix;
}
set j9(a) {
let b = this.j9;
if (a != b) {
this.ix = a;
this.vu("SubtitleRightMargin", b, this.j9);
}
}
get j7() {
return this.iv;
}
set j7(a) {
let b = this.j7;
if (a != b) {
this.iv = a;
this.vu("SubtitleBottomMargin", b, this.j7);
}
}
get yy() {
return this.xx;
}
set yy(a) {
let b = this.yy;
if (a != b) {
this.xx = a;
this.vu("SubtitleTextColor", b, this.yy);
}
}
get yz() {
return this.xy;
}
set yz(a) {
let b = this.yz;
if (a != b) {
this.xy = a;
this.vu("TitleTextColor", b, this.yz);
}
}
get_jx() {
return this.ik;
}
set_jx(a) {
let b = this.jx;
if (a != b) {
this.ik = a;
this.vu("LeftMargin", b, this.jx);
}
}
get jx() {
return this.get_jx();
}
set jx(a) {
this.set_jx(a);
}
get kg() {
return this.i4;
}
set kg(a) {
let b = this.kg;
if (a != b) {
this.i4 = a;
this.vu("TopMargin", b, this.kg);
}
}
get j6() {
return this.iu;
}
set j6(a) {
let b = this.j6;
if (a != b) {
this.iu = a;
this.vu("RightMargin", b, this.j6);
}
}
get jj() {
return this.h5;
}
set jj(a) {
let b = this.jj;
if (a != b) {
this.h5 = a;
this.vu("BottomMargin", b, this.jj);
}
}
get lj() {
return this.k7;
}
set lj(a) {
let b = this.lj;
if (a != b) {
this.k7 = a;
this.vu("TransitionDuration", b, this.lj);
}
}
get es() {
return this.er;
}
set es(a) {
let b = this.es;
if (a != b) {
this.er = a;
this.vu("TransitionEasingFunction", b, this.es);
}
}
get lg() {
return this.k3;
}
set lg(a) {
let b = this.lg;
if (a != b) {
this.k3 = a;
this.vu("HighlightingTransitionDuration", b, this.lg);
}
}
get li() {
return this.k5;
}
set li(a) {
let b = this.li;
if (a != b) {
this.k5 = a;
this.vu("SelectionTransitionDuration", b, this.li);
}
}
get lf() {
return this.k2;
}
set lf(a) {
let b = this.lf;
if (a != b) {
this.k2 = a;
this.vu("FocusTransitionDuration", b, this.lf);
}
}
u2(a) {
if (this.dataChart == null) {
return;
}
a.ma = this.s6;
a.ly = this.sv;
}
u8(a, b) {
this.u9(a, b);
}
uz() {
}
u9(a, b) {
if (a == null) {
return;
}
if (this.d9 == 3) {
return;
}
let toolTipTemplate_ = ArrayExtension.getModulus$1(Base.$, this.tooltipTemplates, b);
if (toolTipTemplate_ == null) {
a.go = true;
}
else {
let series_ = a;
a.go = false;
series_.externalObject.tooltipTemplate = toolTipTemplate_;
}
}
wy(a, b, c) {
}
lv(a) {
return a;
return null;
}
kv(a) {
return null;
}
vy(a, b, c) {
switch (a) {
case "SubtitleTextStyle":
if (this.dataChart != null) {
this.dataChart.ly = this.sv;
}
break;
case "TitleTextStyle":
if (this.dataChart != null) {
this.dataChart.ma = this.s6;
}
break;
case "TooltipTemplate":
if (this.hc) {
return;
}
this.hc = true;
this.tooltipTemplate = this.lv(this.tooltipTemplate);
this.hc = false;
if (this.dataChart != null) {
this.dataChart.jc = this.tooltipTemplate;
}
this.toolTip = this.tooltipTemplate;
break;
case "ToolTip":
this.uv((d, e) => this.u9(d, e));
break;
case "TooltipTemplates":
if (this.tooltipTemplates == null) {
break;
}
this.hc = true;
this.uv((d, e) => {
let f = this.lv(ArrayExtension.getModulus$1(Base.$, this.tooltipTemplates, e));
let series_ = d;
let templ_ = f;
series_.externalObject.tooltipTemplate = templ_;
});
this.hc = false;
break;
}
}
get cl() {
return this.ck;
}
set cl(a) {
let b = this.cl;
if (a != b) {
this.ck = a;
this.vu("Widget", b, this.cl);
}
}
get sv() {
return this.mq;
}
set sv(a) {
let b = this.sv;
if (a != b) {
this.mq = a;
this.vu("SubtitleTextStyle", b, this.sv);
}
}
get s6() {
return this.ms;
}
set s6(a) {
let b = this.s6;
if (a != b) {
this.ms = a;
this.vu("TitleTextStyle", b, this.s6);
}
}
get dataChart() {
return this.ee;
}
set dataChart(a) {
let b = this.dataChart;
if (b != a) {
this.ee = a;
this.vu("DataChart", b, this.dataChart);
}
}
get currentDataAdapter() {
return this.bf;
}
sendCommandCompleted(a) {
if (this.commandCompleted != null) {
this.commandCompleted(a);
}
}
captureTargetImageToClipboard(a) {
if (this.fz) {
return;
}
this.fz = true;
this.fh = a;
let b = new CaptureImageSettings();
b.b = true;
b.a = 0;
let c = this.dataChart;
c.imageCaptured = delegateCombine(c.imageCaptured, runOn(this, this.vr));
this.dataChart.nb(b);
this.dataChart.al.q();
}
vr(a, b) {
this.fz = false;
let c = this.dataChart;
c.imageCaptured = delegateRemove(c.imageCaptured, runOn(this, this.vr));
if (this.fh != null) {
this.fh(this, b);
this.fh = null;
}
}
get isDetached() {
return this.f3 || this.f2;
}
onDetachedFromUI() {
this.f3 = true;
this.vk((a) => a.onDetachedFromUI());
}
onAttachedToUI() {
this.f3 = false;
this.vk((a) => a.onAttachedToUI());
}
u3() {
this.bf = this.bh(true);
let a = this.bf.dataSeries;
a.collectionChanged = delegateCombine(a.collectionChanged, runOn(this, this.vn));
this.bg = this.bh(false);
let b = this.bg.dataSeries;
b.collectionChanged = delegateCombine(b.collectionChanged, runOn(this, this.vq));
}
ww(a, b, c) {
if (a) {
b.e = c;
}
else {
b.n(c);
}
}
wv(a, b, c) {
if (a) {
b.syncTarget = c;
}
else {
b.o(c);
}
}
wx(a, b, c) {
if (a) {
b.e = c;
}
else {
b.n(c);
}
}
bh(a) {
this.hv = 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.eg = new FilterExpressionCollection();
this.eh = new FilterExpressionCollection();
}
this.ww(a, this.a3, b.sortDescriptions);
this.ww(a, this.ay, b.groupDescriptions);
this.wv(a, this.ek, b.filterExpressions);
this.wv(a, this.el, b.highlightFilterExpressions);
this.wx(a, this.a7, b.summaryDescriptions);
this.ww(a, this.az, b.postSortDescriptions);
if (a) {
this.eo = new SortGroupParser();
this.ep = 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.ei = ((() => {
let $ret = new FilterExpressionCollection();
$ret.shouldDetachOnTargetChange = true;
return $ret;
})());
this.ej = ((() => {
let $ret = new FilterExpressionCollection();
$ret.shouldDetachOnTargetChange = true;
return $ret;
})());
}
{
if (this.ek.k.count == 0) {
this.wv(a, this.ei, b.filterExpressions);
}
}
{
if (this.el.k.count == 0) {
this.wv(a, this.ej, b.highlightFilterExpressions);
}
}
{
if (this.a3.j.count == 0) {
this.ww(a, this.aw, b.sortDescriptions);
}
if (this.az.j.count == 0) {
this.ww(a, this.av, b.postSortDescriptions);
}
}
{
if (this.ay.j.count == 0) {
this.ww(a, this.au, b.groupDescriptions);
}
}
{
if (this.a7.j.count == 0) {
this.wx(a, this.a4, b.summaryDescriptions);
}
}
if (this.includedProperties != null) {
b.includedProperties = this.includedProperties;
}
if (this.excludedProperties != null) {
b.excludedProperties = this.excludedProperties;
}
b.supportedSeriesTypes = this.hx.toArray();
b.rules.clear();
for (let c of fromEnum(this.hw)) {
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;
}
g7(a) {
return a != 24 && this.hx.contains(a);
}
notifyResized() {
this.vk((a) => a.notifyContainerResized());
}
vi() {
this.vk((a) => {
for (let b = 0; b < a.series.count; b++) {
a.series._inner[b].qm();
}
});
}
un() {
if (this.dataChart == null) {
return;
}
if (this.g5) {
this.uk();
}
this.dataChart.flush();
}
uw() {
if (this.dataChart == null) {
return;
}
this.dataChart.nx();
}
wb(a) {
if (this.propertyChanged != null) {
this.propertyChanged(this, new PropertyChangedEventArgs(a));
}
}
up(a) {
this.uq((b, c) => a(b));
}
uq(a) {
if (this.dataChart == null) {
return;
}
for (let b = 0; b < this.dataChart.series.count; b++) {
a(this.dataChart.series._inner[b], b);
}
}
uu(a) {
this.uv((b, c) => a(b));
}
uv(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.er) {
a(c, b);
}
}
}
us(a) {
this.ut((b, c) => a(b));
}
ut(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);
}
}
}
wm() {
this.up((a) => a.ru());
}
vk(a) {
this.vl(a, true);
}
vl(a, b) {
this.vm(a, b, null);
}
vm(a, b, c) {
if (this.dataChart == null) {
return;
}
a(this.dataChart);
}
g9(a) {
if (!this.g7(a.suggestedSeries)) {
return false;
}
let b = a.data;
if (b == null) {
return false;
}
return true;
}
gz() {
if (this.dataChart == null) {
return false;
}
return true;
}
qo(a) {
let b = EnumUtil.getName(DataSeriesType_$type, a.suggestedSeries);
let c = "series_" + (a.index + 1) + "_" + b;
return c;
}
qp(a, b) {
if (this.g2 && this.hi) {
let c = "";
let d = 5 + Math.round(DomainChart.l3.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;
}
}
qn() {
return stringEmpty();
}
v0() {
let a = this.v2(runOn(this, this.uk), this.g5);
this.g5 = a.p1;
}
ue() {
if (this.dataChart == null) {
return;
}
this.g4 = false;
let a = false;
if (this.gv()) {
a = true;
this.ud();
}
if (a) {
this.um();
this.wz();
}
}
wz() {
this.hn.clear();
}
ud() {
let a = 0;
for (let b of fromEnum(this.bg.dataSeries)) {
if (b.index == -1) {
b.index = a;
}
if (!stringIsNullOrEmpty(this.qo(b))) {
this.hn.item(this.qo(b), b);
}
a++;
}
}
h1(a) {
return a.data;
}
h2(a) {
return a.highlightedData;
}
um() {
if (this.g5) {
let a = 0;
for (let b of fromEnum(this.bf.dataSeries)) {
if (b.index == -1) {
b.index = a;
}
if (!stringIsNullOrEmpty(this.qo(b))) {
if (this.hn.containsKey(this.qo(b))) {
let c = this.hn.item(this.qo(b));
b.highlightedData = c.data;
}
}
a++;
}
}
if (!this.g5 && this.dataChart != null) {
for (let d = 0; d < this.dataChart.series.count; d++) {
let e = this.dataChart.series._inner[d];
if (this.hn.containsKey(e.name)) {
e.highlightedItemsSource = this.h1(this.hn.item(e.name));
}
}
}
}
gv() {
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;
}
wp() {
if (this.dataChart == null) {
return;
}
this.g5 = false;
this.wr();
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.hv = a;
let c = 0;
for (let d of fromEnum(this.bf.dataSeries)) {
if (!this.g9(d)) {
continue;
}
if (d.index < 0) {
d.index = c;
}
this.wn(d);
this.wo(d);
c++;
}
this.w0();
this.uq(runOn(this, this.u6));
}
de(seriesType_) {
return (this.externalObject.createSeries(seriesType_).i);
}
c6() {
return this.de(28);
}
c8() {
return this.de(27);
}
da() {
return this.de(29);
}
db() {
return this.de(25);
}
c7() {
return this.de(26);
}
c9() {
return this.de(32);
}
dd() {
return this.de(33);
}
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 gu() {
return (TypeRegistrar.isRegistered("AnnotationLayerProxy"));
}
gx(a) {
if (!this.gu) {
return false;
}
return this.ce.matchesType(a);
}
w0() {
let a = this.ht("", true);
if (a != null) {
for (let b = 0; b < a.count; b++) {
this.dataChart.series.add(a._inner[b]);
}
}
}
g0() {
return this.crosshairsDisplayMode == 0 || this.crosshairsDisplayMode == 4 || this.crosshairsDisplayMode == 2;
}
g1() {
return this.crosshairsDisplayMode == 0 || this.crosshairsDisplayMode == 4 || this.crosshairsDisplayMode == 3;
}
get_gy() {
return this.autoCalloutsVisible;
}
get gy() {
return this.get_gy();
}
ht(a, b) {
if (!this.gu) {
return null;
}
let c = new List$1(Series.$, 0);
if (b) {
let d = 1;
if (this.fq) {
if (this.hz == null) {
if (this.l7 != null || this.l8 != null || this.l6 != null || this.l5 != null) {
for (let e of fromEnum(this.dataChart.series)) {
let f = this.c6();
this.ce.setTargetSeries(f, e);
this.ce.setCollisionChannel(f, "MainChartCollisionChannel");
this.wu(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.wu(g, null, this.bf.dataSeries._inner[d - 1]);
g.name = a + getInstanceType(g).typeName + d.toString();
if (this.fq && this.fl) {
this.ce.setCollisionChannel(g, "MainChartCollisionChannel");
}
c.add(g);
}
}
if (this.fl) {
let h = this.c6();
this.uf(h, this.hh);
h.name = a + getInstanceType(h).typeName + d.toString();
if (this.fq && this.fl) {
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.h7);
this.ce.setCrosshairUseInterpolation(i, !this.fs);
this.ce.setCrosshairHorizontalLineVisibility(i, this.g0() ? 0 : 1);
this.ce.setCrosshairHorizontalLineStroke(i, this.xf);
this.ce.setCrosshairVerticalLineVisibility(i, this.g1() ? 0 : 1);
this.ce.setCrosshairVerticalLineStroke(i, this.xg);
this.ce.setCrosshairOnAxesEnabled(i, this.fr);
this.ce.setCrosshairXAxisBackground(i, this.xb);
this.ce.setCrosshairXAxisForeground(i, this.xc);
this.ce.setCrosshairYAxisBackground(i, this.xd);
this.ce.setCrosshairYAxisForeground(i, this.xe);
this.ce.setCrosshairXAxisPrecision(i, this.kx);
this.ce.setCrosshairYAxisPrecision(i, this.ky);
c.add(i);
break;
}
case 1:
{
break;
}
}
if (this.f0) {
let j = this.da();
this.ce.setFinalValueBackground(