/*
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 * as tslib_1 from "tslib";
import { Base, INotifyPropertyChanged_$type, BaseError, PropertyChangedEventArgs, Delegate_$type, fromEnum, String_$type, runOn, delegateCombine, EnumUtil, typeCast, delegateRemove, enumGetBox, markType, TypeRegistrar, getInstanceType } from "igniteui-angular-core";
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 { Rect } from "igniteui-angular-core";
import { HorizontalAlignment_$type } from "igniteui-angular-core";
import { UnknownValuePlotting_$type } from "igniteui-angular-core";
import { TrendLineType_$type } from "igniteui-angular-core";
import { ToolTipType_$type } from "./ToolTipType";
import { CrosshairsDisplayMode_$type } from "./CrosshairsDisplayMode";
import { DeviceUtils } from "igniteui-angular-core";
import { Series } from "./Series";
import { DataSeriesAdapter } from "igniteui-angular-core";
import { ObservableCollection$1 } from "igniteui-angular-core";
import { ObservableColorCollection } from "igniteui-angular-core";
import { BrushCollectionUtil } from "igniteui-angular-core";
import { ChartSeriesEventArgs } from "./ChartSeriesEventArgs";
import { DomainChartSeriesPointerEventArgs } from "./DomainChartSeriesPointerEventArgs";
import { IUnknownValuePlotting_$type } from "igniteui-angular-core";
import { ITrendLineSeries_$type } from "./ITrendLineSeries";
import { Random } from "igniteui-angular-core";
import { isNaN_ } from "igniteui-angular-core";
import { stringIsNullOrEmpty, stringEmpty } from "igniteui-angular-core";
/**
 * @hidden
 */
var DomainChart = /** @class */ (function (_super) {
    tslib_1.__extends(DomainChart, _super);
    function DomainChart() {
        var _this = _super.call(this) || this;
        _this.di = null;
        _this.dh = null;
        _this.bz = null;
        _this.cd = NaN;
        _this.dg = null;
        _this.cm = 0;
        _this.cn = 0;
        _this.co = 0;
        _this.cl = 0;
        _this.ch = 0;
        _this.cj = 0;
        _this.ci = 0;
        _this.cg = 0;
        _this.hx = null;
        _this.hy = null;
        _this.cc = NaN;
        _this.cp = NaN;
        _this.cf = NaN;
        _this.cb = NaN;
        _this.db = 0;
        _this.a0 = null;
        _this.c7 = null;
        _this.bx = false;
        _this.af = null;
        _this.dw = null;
        _this.dy = null;
        _this.ay = null;
        _this.b3 = null;
        _this.propertyChanged = null;
        _this.da = 0;
        _this.br = false;
        _this.ab = null;
        _this.by = null;
        _this.seriesAdded = null;
        _this.seriesRemoved = null;
        _this.seriesPointerEnter = null;
        _this.seriesPointerLeave = null;
        _this.seriesPointerMove = null;
        _this.seriesPointerDown = null;
        _this.seriesPointerUp = null;
        _this.calloutStyleUpdating = null;
        _this.b2 = null;
        _this.a3 = null;
        _this.a6 = false;
        _this.b8 = null;
        _this.b = null;
        _this.a = null;
        _this.e = null;
        _this.h = null;
        _this.ad = null;
        _this.bc = true;
        _this.be = true;
        _this.bd = false;
        _this.h6 = new Rect(0, 0, 0, 1, 1);
        _this.dx = null;
        _this.dv = null;
        _this.hu = 1;
        _this.ht = 1;
        _this.aw = 0;
        _this.ce = 1;
        _this.ck = 1;
        _this.aj = null;
        _this.f = null;
        _this.g = null;
        _this.c9 = 400;
        _this.a5 = false;
        _this.i = null;
        _this.au = 0;
        _this.cq = 1.5;
        _this.a4 = true;
        _this.dc = 7;
        _this.as = 0;
        _this.s = 0;
        _this.ba = true;
        _this.a9 = false;
        _this.bb = false;
        _this.a8 = false;
        _this.a7 = false;
        _this.b7 = null;
        _this.dt = null;
        _this.du = null;
        _this.ds = "CalloutLabel";
        _this.dr = "CalloutContent";
        _this.b2 = new List$1(Delegate_$type, 0);
        _this.gh();
        _this.f3();
        return _this;
    }
    DomainChart.prototype.provideContainer = function (a) {
        if (a == null) {
            this.gx(function (b) { return b.provideContainer(null); });
            return;
        }
        var b = this.di;
        this.di = a;
        if (this.a3 != null && this.di != null && b == null) {
            this.di.setTimeout(this.a3, 0);
            this.a3 = null;
        }
        var c = ((function () {
            var $ret = new XamDataChart();
            $ret.ct = true;
            return $ret;
        })());
        c.provideContainer(a);
        this.dataChart = c;
        this.gi();
    };
    DomainChart.prototype.destroy = function () {
        this.provideContainer(null);
    };
    DomainChart.prototype.gi = function () {
        if (this.dataChart == null) {
            return;
        }
        var a = this.dataChart.bn.i.e();
        this.j = a.a;
        this.n = a.f;
        this.l = a.b;
        this.m = a.c;
        this.o = a.g;
        this.c0 = DeviceUtils.g(1);
        this.gj();
    };
    DomainChart.prototype.gj = function () {
    };
    DomainChart.prototype.gf = function (a) {
        if (a == null) {
            return;
        }
        a.et = this.c4;
        a.er = this.c2;
        a.es = this.c3;
        a.eq = this.c1;
        a.mg = this.h4;
        a.en = this.cx;
        a.ep = this.cz;
        a.eo = this.cy;
        a.em = this.cw;
        a.mf = this.h3;
        if (!isNaN_(this.ct)) {
            a.ek = this.ct;
        }
    };
    DomainChart.prototype.gc = function () {
    };
    DomainChart.prototype.gl = function (a, b) {
        a.fi = this.de;
        a.bu = this.a1;
    };
    DomainChart.prototype.g4 = function (a, b, c) {
        var _this = this;
        switch (a) {
            case "TitleTopMargin":
                if (this.dataChart != null) {
                    this.dataChart.et = this.c4;
                }
                break;
            case "TitleLeftMargin":
                if (this.dataChart != null) {
                    this.dataChart.er = this.c2;
                }
                break;
            case "PixelScalingRatio":
                if (this.dataChart != null) {
                    this.gx(function (d) { return d.ek = _this.ct; });
                }
                break;
            case "TitleRightMargin":
                if (this.dataChart != null) {
                    this.dataChart.es = this.c3;
                }
                break;
            case "TitleBottomMargin":
                if (this.dataChart != null) {
                    this.dataChart.eq = this.c1;
                }
                break;
            case "TitleTextColor":
                if (this.dataChart != null) {
                    this.dataChart.mg = this.h4;
                }
                break;
            case "SubtitleLeftMargin":
                if (this.dataChart != null) {
                    this.dataChart.en = this.cx;
                }
                break;
            case "SubtitleTopMargin":
                if (this.dataChart != null) {
                    this.dataChart.ep = this.cz;
                }
                break;
            case "SubtitleRightMargin":
                if (this.dataChart != null) {
                    this.dataChart.eo = this.cy;
                }
                break;
            case "SubtitleBottomMargin":
                if (this.dataChart != null) {
                    this.dataChart.em = this.cw;
                }
                break;
            case "SubtitleTextColor":
                if (this.dataChart != null) {
                    this.dataChart.mf = this.h3;
                }
                break;
            case "LeftMargin":
                if (this.dataChart != null) {
                    this.dataChart.ej = this.cs;
                }
                break;
            case "TopMargin":
                if (this.dataChart != null) {
                    this.dataChart.eu = this.c5;
                }
                break;
            case "RightMargin":
                if (this.dataChart != null) {
                    this.dataChart.el = this.cv;
                }
                break;
            case "BottomMargin":
                if (this.dataChart != null) {
                    this.dataChart.ef = this.cr;
                }
                break;
            case "TransitionDuration":
                this.f8(function (d) { return d.fi = _this.de; });
                break;
            case "TransitionEasingFunction":
                this.f8(function (d) { return d.bu = _this.a1; });
                break;
        }
    };
    Object.defineProperty(DomainChart.prototype, "tooltipTemplate", {
        get: function () {
            return ArrayExtension.getModulus$1(Base.$, this.tooltipTemplates, 0);
        },
        set: function (a) {
            this.tooltipTemplates = a == null ? null : new List$1(Base.$, 1, [a]);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "tooltipTemplates", {
        get: function () {
            return this.bz;
        },
        set: function (a) {
            var b = this.tooltipTemplates;
            if (a != b) {
                this.bz = a;
                this.g3("TooltipTemplates", b, this.tooltipTemplates);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "ct", {
        get: function () {
            return this.cd;
        },
        set: function (a) {
            var b = this.cd;
            if (a != b) {
                this.cd = a;
                this.g3("PixelScalingRatio", b, this.ct);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "toolTip", {
        get: function () {
            return this.dg;
        },
        set: function (a) {
            var b = this.toolTip;
            if (b != a) {
                this.dg = a;
                this.g3("ToolTip", b, this.toolTip);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "c2", {
        get: function () {
            return this.cm;
        },
        set: function (a) {
            var b = this.c2;
            if (a != b) {
                this.cm = a;
                this.g3("TitleLeftMargin", b, this.c2);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "c3", {
        get: function () {
            return this.cn;
        },
        set: function (a) {
            var b = this.c3;
            if (a != b) {
                this.cn = a;
                this.g3("TitleRightMargin", b, this.c3);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "c4", {
        get: function () {
            return this.co;
        },
        set: function (a) {
            var b = this.c4;
            if (a != b) {
                this.co = a;
                this.g3("TitleTopMargin", b, this.c4);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "c1", {
        get: function () {
            return this.cl;
        },
        set: function (a) {
            var b = this.c1;
            if (a != b) {
                this.cl = a;
                this.g3("TitleBottomMargin", b, this.c1);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "cx", {
        get: function () {
            return this.ch;
        },
        set: function (a) {
            var b = this.cx;
            if (a != b) {
                this.ch = a;
                this.g3("SubtitleLeftMargin", b, this.cx);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "cz", {
        get: function () {
            return this.cj;
        },
        set: function (a) {
            var b = this.cz;
            if (a != b) {
                this.cj = a;
                this.g3("SubtitleTopMargin", b, this.cz);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "cy", {
        get: function () {
            return this.ci;
        },
        set: function (a) {
            var b = this.cy;
            if (a != b) {
                this.ci = a;
                this.g3("SubtitleRightMargin", b, this.cy);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "cw", {
        get: function () {
            return this.cg;
        },
        set: function (a) {
            var b = this.cw;
            if (a != b) {
                this.cg = a;
                this.g3("SubtitleBottomMargin", b, this.cw);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "h3", {
        get: function () {
            return this.hx;
        },
        set: function (a) {
            var b = this.h3;
            if (a != b) {
                this.hx = a;
                this.g3("SubtitleTextColor", b, this.h3);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "h4", {
        get: function () {
            return this.hy;
        },
        set: function (a) {
            var b = this.h4;
            if (a != b) {
                this.hy = a;
                this.g3("TitleTextColor", b, this.h4);
            }
        },
        enumerable: true,
        configurable: true
    });
    DomainChart.prototype.get_cs = function () {
        return this.cc;
    };
    DomainChart.prototype.set_cs = function (a) {
        var b = this.cs;
        if (a != b) {
            this.cc = a;
            this.g3("LeftMargin", b, this.cs);
        }
    };
    Object.defineProperty(DomainChart.prototype, "cs", {
        get: function () {
            return this.get_cs();
        },
        set: function (a) {
            this.set_cs(a);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "c5", {
        get: function () {
            return this.cp;
        },
        set: function (a) {
            var b = this.c5;
            if (a != b) {
                this.cp = a;
                this.g3("TopMargin", b, this.c5);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "cv", {
        get: function () {
            return this.cf;
        },
        set: function (a) {
            var b = this.cv;
            if (a != b) {
                this.cf = a;
                this.g3("RightMargin", b, this.cv);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "cr", {
        get: function () {
            return this.cb;
        },
        set: function (a) {
            var b = this.cr;
            if (a != b) {
                this.cb = a;
                this.g3("BottomMargin", b, this.cr);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "de", {
        get: function () {
            return this.db;
        },
        set: function (a) {
            var b = this.de;
            if (a != b) {
                this.db = a;
                this.g3("TransitionDuration", b, this.de);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "a1", {
        get: function () {
            return this.a0;
        },
        set: function (a) {
            var b = this.a1;
            if (a != b) {
                this.a0 = a;
                this.g3("TransitionEasingFunction", b, this.a1);
            }
        },
        enumerable: true,
        configurable: true
    });
    DomainChart.prototype.gg = function (a) {
        if (this.dataChart == null) {
            return;
        }
        a.gx = this.fk;
        a.gl = this.e9;
    };
    DomainChart.prototype.gm = function (a, b) {
        this.gn(a, b);
    };
    DomainChart.prototype.gd = function () {
    };
    DomainChart.prototype.gn = function (a, b) {
        if (a == null) {
            return;
        }
        var toolTipTemplate_ = ArrayExtension.getModulus$1(Base.$, this.tooltipTemplates, b);
        if (toolTipTemplate_ == null) {
            a.dd = true;
        }
        else {
            var series_ = a;
            a.dd = false;
            series_.externalObject.tooltipTemplate = toolTipTemplate_;
        }
    };
    DomainChart.prototype.hr = function (a, b, c) {
    };
    DomainChart.prototype.dk = function (a) {
        return a;
        return null;
    };
    DomainChart.prototype.c8 = function (a) {
        return null;
    };
    DomainChart.prototype.g5 = function (a, b, c) {
        var _this = this;
        switch (a) {
            case "SubtitleTextStyle":
                if (this.dataChart != null) {
                    this.dataChart.gl = this.e9;
                }
                break;
            case "TitleTextStyle":
                if (this.dataChart != null) {
                    this.dataChart.gx = this.fk;
                }
                break;
            case "TooltipTemplate":
                if (this.bx) {
                    return;
                }
                this.bx = true;
                this.tooltipTemplate = this.dk(this.tooltipTemplate);
                this.bx = false;
                if (this.dataChart != null) {
                    this.dataChart.e8 = this.tooltipTemplate;
                }
                this.toolTip = this.tooltipTemplate;
                break;
            case "ToolTip":
                this.f9(function (d, e) { return _this.gn(d, e); });
                break;
            case "TooltipTemplates":
                if (this.tooltipTemplates == null) {
                    break;
                }
                this.bx = true;
                this.f9(function (d, e) {
                    var f = _this.dk(ArrayExtension.getModulus$1(Base.$, _this.tooltipTemplates, e));
                    var series_ = d;
                    var templ_ = f;
                    series_.externalObject.tooltipTemplate = templ_;
                });
                this.bx = false;
                break;
        }
    };
    Object.defineProperty(DomainChart.prototype, "ag", {
        get: function () {
            return this.af;
        },
        set: function (a) {
            var b = this.ag;
            if (a != b) {
                this.af = a;
                this.g3("Widget", b, this.ag);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "e9", {
        get: function () {
            return this.dw;
        },
        set: function (a) {
            var b = this.e9;
            if (a != b) {
                this.dw = a;
                this.g3("SubtitleTextStyle", b, this.e9);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "fk", {
        get: function () {
            return this.dy;
        },
        set: function (a) {
            var b = this.fk;
            if (a != b) {
                this.dy = a;
                this.g3("TitleTextStyle", b, this.fk);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "dataChart", {
        get: function () {
            return this.ay;
        },
        set: function (a) {
            var b = this.dataChart;
            if (b != a) {
                this.ay = a;
                this.g3("DataChart", b, this.dataChart);
            }
        },
        enumerable: true,
        configurable: true
    });
    DomainChart.prototype.onDetachedFromUI = function () {
        this.gx(function (a) { return a.onDetachedFromUI(); });
    };
    DomainChart.prototype.onAttachedToUI = function () {
        this.gx(function (a) { return a.onAttachedToUI(); });
    };
    DomainChart.prototype.gh = function () {
        var e_1, _a, e_2, _b;
        this.b3 = new List$1(MarkerType_$type, 0);
        this.v = new DataSeriesAdapter().e;
        if (this.d != null) {
            this.v.includedProperties = this.d;
        }
        if (this.c != null) {
            this.v.excludedProperties = this.c;
        }
        this.v.supportedSeriesTypes = this.b5.toArray();
        this.v.rules.clear();
        try {
            for (var _c = tslib_1.__values(fromEnum(this.b4)), _d = _c.next(); !_d.done; _d = _c.next()) {
                var a = _d.value;
                this.v.rules.add(a);
            }
        }
        catch (e_1_1) { e_1 = { error: e_1_1 }; }
        finally {
            try {
                if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
            }
            finally { if (e_1) throw e_1.error; }
        }
        var b = new List$1(String_$type, 0);
        try {
            for (var _e = tslib_1.__values(fromEnum(this.v.rules)), _f = _e.next(); !_f.done; _f = _e.next()) {
                var c = _f.value;
                b.add(getInstanceType(c).typeName);
            }
        }
        catch (e_2_1) { e_2 = { error: e_2_1 }; }
        finally {
            try {
                if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
            }
            finally { if (e_2) throw e_2.error; }
        }
        var d = this.v.dataSeries;
        d.collectionChanged = delegateCombine(d.collectionChanged, runOn(this, this.g0));
    };
    DomainChart.prototype.bt = function (a) {
        return a != 24 && this.b5.contains(a);
    };
    DomainChart.prototype.notifyResized = function () {
        this.gx(function (a) { return a.notifyContainerResized(); });
    };
    DomainChart.prototype.gv = function () {
        this.gx(function (a) {
            for (var b = 0; b < a.series.count; b++) {
                a.series._inner[b].im();
            }
        });
    };
    DomainChart.prototype.f7 = function () {
        if (this.dataChart == null) {
            return;
        }
        if (this.br) {
            this.hl();
        }
        this.dataChart.flush();
    };
    DomainChart.prototype.ga = function () {
        if (this.dataChart == null) {
            return;
        }
        this.dataChart.ho();
    };
    DomainChart.prototype.ha = function (a) {
        if (this.propertyChanged != null) {
            this.propertyChanged(this, new PropertyChangedEventArgs(a));
        }
    };
    DomainChart.prototype.f8 = function (a) {
        this.f9(function (b, c) { return a(b); });
    };
    DomainChart.prototype.f9 = function (a) {
        if (this.dataChart == null) {
            return;
        }
        for (var b = 0; b < this.dataChart.series.count; b++) {
            a(this.dataChart.series._inner[b], b);
        }
    };
    DomainChart.prototype.gx = function (a) {
        this.gy(a, true);
    };
    DomainChart.prototype.gy = function (a, b) {
        this.gz(a, b, null);
    };
    DomainChart.prototype.gz = function (a, b, c) {
        if (this.dataChart == null) {
            return;
        }
        a(this.dataChart);
    };
    DomainChart.prototype.bu = function (a) {
        if (!this.bt(a.suggestedSeries)) {
            return false;
        }
        var b = a.data;
        if (b == null) {
            return false;
        }
        return true;
    };
    DomainChart.prototype.bp = function () {
        if (this.dataChart == null) {
            return false;
        }
        return true;
    };
    DomainChart.prototype.el = function (a) {
        var b = "series_" + (this.dataChart.series.count + 1) + "_" + EnumUtil.getName(DataSeriesType_$type, a.suggestedSeries);
        return b;
    };
    DomainChart.prototype.em = function (a, b) {
        if (stringIsNullOrEmpty(a.title)) {
            var c = EnumUtil.getName(DataSeriesType_$type, b);
            return c + (this.dataChart.series.count + 1);
        }
        else {
            return a.title;
        }
    };
    DomainChart.prototype.ek = function () {
        return stringEmpty();
    };
    DomainChart.prototype.hl = function () {
        var e_3, _a, e_4, _b;
        if (this.dataChart == null) {
            return;
        }
        this.br = false;
        this.hn();
        if (this.itemsSource == null) {
            return;
        }
        var a = new List$1(MarkerType_$type, 0);
        try {
            for (var _c = tslib_1.__values(fromEnum(this.v.dataSeries)), _d = _c.next(); !_d.done; _d = _c.next()) {
                var b = _d.value;
                a.add(this.ah(b.suggestedMarker));
            }
        }
        catch (e_3_1) { e_3 = { error: e_3_1 }; }
        finally {
            try {
                if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
            }
            finally { if (e_3) throw e_3.error; }
        }
        this.b3 = a;
        var c = 0;
        try {
            for (var _e = tslib_1.__values(fromEnum(this.v.dataSeries)), _f = _e.next(); !_f.done; _f = _e.next()) {
                var d = _f.value;
                if (!this.bu(d)) {
                    continue;
                }
                if (d.index < 0) {
                    d.index = c;
                }
                this.hj(d);
                this.hk(d);
                c++;
            }
        }
        catch (e_4_1) { e_4 = { error: e_4_1 }; }
        finally {
            try {
                if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
            }
            finally { if (e_4) throw e_4.error; }
        }
        this.hs();
        this.f9(runOn(this, this.gk));
    };
    DomainChart.prototype.ar = function (seriesType_) {
        return (this.externalObject.createSeries(seriesType_).i);
    };
    DomainChart.prototype.al = function () {
        return this.ar(28);
    };
    DomainChart.prototype.an = function () {
        return this.ar(27);
    };
    DomainChart.prototype.ao = function () {
        return this.ar(29);
    };
    DomainChart.prototype.ap = function () {
        return this.ar(25);
    };
    DomainChart.prototype.am = function () {
        return this.ar(26);
    };
    Object.defineProperty(DomainChart.prototype, "ac", {
        get: function () {
            if (TypeRegistrar.isRegistered("AnnotationLayerProxy")) {
                return TypeRegistrar.create("AnnotationLayerProxy");
            }
            else {
                throw new BaseError(1, "annoation layer module is not loaded, but is required.");
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "bn", {
        get: function () {
            return (TypeRegistrar.isRegistered("AnnotationLayerProxy"));
        },
        enumerable: true,
        configurable: true
    });
    DomainChart.prototype.bo = function (a) {
        if (!this.bn) {
            return false;
        }
        return this.ac.matchesType(a);
    };
    DomainChart.prototype.hs = function () {
        var a = this.b1("", true);
        if (a != null) {
            for (var b = 0; b < a.count; b++) {
                this.dataChart.series.add(a._inner[b]);
            }
        }
    };
    DomainChart.prototype.b1 = function (a, b) {
        var e_5, _a, e_6, _b;
        if (!this.bn) {
            return null;
        }
        var c = new List$1(Series.$, 0);
        if (b) {
            if (this.a8) {
                var d = 1;
                if (this.b7 == null) {
                    try {
                        for (var _c = tslib_1.__values(fromEnum(this.dataChart.series)), _d = _c.next(); !_d.done; _d = _c.next()) {
                            var e = _d.value;
                            var f = this.al();
                            this.ac.setTargetSeries(f, e);
                            this.ac.setCollisionChannel(f, "MainChartCollisionChannel");
                            this.hq(f, e, this.v.dataSeries._inner[d - 1]);
                            f.name = a + getInstanceType(f).typeName + d.toString();
                            c.add(f);
                            d++;
                        }
                    }
                    catch (e_5_1) { e_5 = { error: e_5_1 }; }
                    finally {
                        try {
                            if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
                        }
                        finally { if (e_5) throw e_5.error; }
                    }
                    ;
                }
                else {
                    var g = this.al();
                    this.hq(g, null, this.v.dataSeries._inner[d - 1]);
                    g.name = a + getInstanceType(g).typeName + d.toString();
                    c.add(g);
                }
            }
        }
        switch (this.s) {
            case 4:
            case 3:
            case 2:
                {
                    var h = this.an();
                    this.ac.setUseInterpolation(h, !this.ba);
                    this.ac.setHorizontalLineVisibility(h, (this.s == 2 || this.s == 4) ? 0 : 1);
                    this.ac.setVerticalLineVisibility(h, (this.s == 3 || this.s == 4) ? 0 : 1);
                    this.ac.setIsAxisAnnotationEnabled(h, this.a9);
                    c.add(h);
                    break;
                }
            case 1:
            case 0:
                {
                    break;
                }
        }
        if (this.bb) {
            var i = this.ao();
            c.add(i);
        }
        if (b) {
            switch (this.as) {
                case 1:
                    {
                        var j = this.ap();
                        c.add(j);
                        break;
                    }
                case 2:
                    {
                        var k = this.am();
                        c.add(k);
                        break;
                    }
                case 3:
                    {
                        this.f8(function (l) { return l.dd = false; });
                        break;
                    }
                case 0:
                    {
                        this.f8(function (l) { return l.dd = true; });
                        break;
                    }
            }
        }
        try {
            for (var _e = tslib_1.__values(fromEnum(c)), _f = _e.next(); !_f.done; _f = _e.next()) {
                var l = _f.value;
                if (stringIsNullOrEmpty(l.name) == false) {
                    continue;
                }
                l.name = a + getInstanceType(l).typeName;
            }
        }
        catch (e_6_1) { e_6 = { error: e_6_1 }; }
        finally {
            try {
                if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
            }
            finally { if (e_6) throw e_6.error; }
        }
        return c;
    };
    DomainChart.prototype.hq = function (a, b, c) {
        a.itemsSource = this.b7 != null ? this.b7 : b.itemsSource;
        this.ac.setXMemberPath(a, this.dt);
        this.ac.setYMemberPath(a, this.du);
        this.ac.setLabelMemberPath(a, this.ds);
        this.ac.setContentMemberPath(a, this.dr);
    };
    DomainChart.prototype.hn = function () {
        this.ho(this.dataChart);
    };
    DomainChart.prototype.ho = function (a) {
        var e_7, _a;
        var _this = this;
        if (a != null && a == this.dataChart) {
            this.hm();
        }
        if (a == null || a.series.count == 0) {
            return;
        }
        this.f8(function (b) {
            if (_this.bo(b) && _this.ac.isCalloutLayer(b)) {
                _this.ac.removeCalloutStyleUpdating(b, runOn(_this, _this.g9));
            }
            _this.hh(b);
        });
        try {
            for (var _b = tslib_1.__values(fromEnum(a.series)), _c = _b.next(); !_c.done; _c = _b.next()) {
                var b = _c.value;
                this.hp(b);
            }
        }
        catch (e_7_1) { e_7 = { error: e_7_1 }; }
        finally {
            try {
                if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
            }
            finally { if (e_7) throw e_7.error; }
        }
        a.series.clear();
    };
    DomainChart.prototype.hp = function (a) {
        a.itemsSource = null;
        a.legend = null;
        a.ht();
    };
    DomainChart.prototype.g0 = function (a, b) {
        if (this.dataChart == null) {
            return;
        }
        var c = b.oldItems == null ? "null" : b.oldItems.count.toString();
        var d = b.newItems == null ? "null" : b.newItems.count.toString();
        if (this.br) {
            return;
        }
        var e = this.g8(runOn(this, this.f5), this.br);
        this.br = e.p1;
    };
    DomainChart.prototype.f5 = function () {
        this.hl();
    };
    DomainChart.prototype.hz = function (a) {
        return ArrayExtension.getModulus$1(Brush.$, this.j, a);
    };
    DomainChart.prototype.h2 = function (a) {
        return ArrayExtension.getModulus$1(Brush.$, this.n, a);
    };
    DomainChart.prototype.h0 = function (a) {
        return ArrayExtension.getModulus$1(Brush.$, this.l, a);
    };
    DomainChart.prototype.h1 = function (a) {
        return ArrayExtension.getModulus$1(Brush.$, this.m, a);
    };
    DomainChart.prototype.h5 = function (a) {
        var b = new Color();
        if (this.j == null || this.j.count == 0) {
            b = ArrayExtension.getModulus$1(Color.$, this.b0, a);
        }
        else {
            var c = ArrayExtension.getModulus$1(Brush.$, this.j, a);
            if (c == null) {
                b = ArrayExtension.getModulus$1(Color.$, this.b0, a);
            }
            else {
                b = ColorUtil.j(c);
            }
        }
        return b;
    };
    DomainChart.prototype.a2 = function (a) {
        var b = new ObservableColorCollection();
        b.add(ColorUtil.o(a, 0.5));
        b.add(a);
        return b;
    };
    DomainChart.prototype.k = function (a) {
        var b = this.a2(a);
        var c = BrushCollectionUtil.a(b);
        return c;
    };
    Object.defineProperty(DomainChart.prototype, "b0", {
        get: function () {
            if (this.by != null) {
                return this.by;
            }
            this.by = new List$1(Color.$, 0);
            this.by.add(ColorUtil.k("#FF7446B9"));
            this.by.add(ColorUtil.k("#FF9FB328"));
            this.by.add(ColorUtil.k("#FFF96232"));
            this.by.add(ColorUtil.k("#FF2E9CA6"));
            this.by.add(ColorUtil.k("#FFDC3F76"));
            this.by.add(ColorUtil.k("#FFFF9800"));
            this.by.add(ColorUtil.k("#FF3F51B5"));
            this.by.add(ColorUtil.k("#FF439C47"));
            this.by.add(ColorUtil.k("#FF795548"));
            this.by.add(ColorUtil.k("#FF494747"));
            return this.by;
        },
        enumerable: true,
        configurable: true
    });
    DomainChart.prototype.dj = function () {
        if (this.dataChart == null) {
            return null;
        }
        return this.dataChart.oe();
    };
    DomainChart.prototype.go = function (a, b) {
    };
    DomainChart.prototype.gp = function (a, b, c) {
    };
    DomainChart.prototype.ah = function (a) {
        if (a == 2) {
            return 3;
        }
        else if (a == 12) {
            return 13;
        }
        else if (a == 6) {
            return 7;
        }
        else if (a == 8) {
            return 9;
        }
        else if (a == 11) {
            return 12;
        }
        else if (a == 1) {
            return 1;
        }
        else if (a == 7) {
            return 8;
        }
        else if (a == 10) {
            return 11;
        }
        else if (a == 4) {
            return 5;
        }
        else if (a == 5) {
            return 6;
        }
        else if (a == 9) {
            return 10;
        }
        else if (a == 3) {
            return 4;
        }
        return 2;
    };
    DomainChart.prototype.gu = function (source_, a, b, c) {
        if (this.v != null) {
            this.v.notifySetItem(source_, a, b, c);
        }
        if (this.dataChart != null) {
            this.dataChart.h0(source_, a, b, c);
        }
    };
    DomainChart.prototype.gq = function (source_) {
        if (this.v != null) {
            this.v.notifyClearItems(source_);
        }
        if (this.dataChart != null) {
            this.dataChart.hv(source_);
        }
    };
    DomainChart.prototype.gr = function (source_, a, b) {
        if (this.v != null) {
            this.v.notifyInsertItem(source_, a, b);
        }
        if (this.dataChart != null) {
            this.dataChart.hy(source_, a, b);
        }
    };
    DomainChart.prototype.gs = function (source_, a, b) {
        if (this.v != null) {
            this.v.notifyRemoveItem(source_, a, b);
        }
        if (this.dataChart != null) {
            this.dataChart.hz(source_, a, b);
        }
    };
    DomainChart.prototype.hb = function (a) {
        if (this.seriesAdded != null && a != null) {
            this.seriesAdded(this, new ChartSeriesEventArgs(a));
        }
    };
    DomainChart.prototype.hh = function (a) {
        if (this.seriesRemoved != null && a != null) {
            this.seriesRemoved(this, new ChartSeriesEventArgs(a));
        }
    };
    DomainChart.prototype.hd = function (a, b) {
        if (this.seriesPointerEnter != null && a != null) {
            this.seriesPointerEnter(this, new DomainChartSeriesPointerEventArgs(a, b));
        }
    };
    DomainChart.prototype.he = function (a, b) {
        if (this.seriesPointerLeave != null && a != null) {
            this.seriesPointerLeave(this, new DomainChartSeriesPointerEventArgs(a, b));
        }
    };
    DomainChart.prototype.hf = function (a, b) {
        if (this.seriesPointerMove != null && a != null) {
            this.seriesPointerMove(this, new DomainChartSeriesPointerEventArgs(a, b));
        }
    };
    DomainChart.prototype.hc = function (a, b) {
        if (this.seriesPointerDown != null && a != null) {
            this.seriesPointerDown(this, new DomainChartSeriesPointerEventArgs(a, b));
        }
    };
    DomainChart.prototype.hg = function (a, b) {
        if (this.seriesPointerUp != null && a != null) {
            this.seriesPointerUp(this, new DomainChartSeriesPointerEventArgs(a, b));
        }
    };
    DomainChart.prototype.g9 = function (a, b) {
        if (this.calloutStyleUpdating != null && a != null) {
            this.calloutStyleUpdating(this, b);
        }
    };
    DomainChart.prototype.g7 = function (a) {
        var _this = this;
        if (!this.b2.contains(a)) {
            this.b2.add(a);
            var b = false;
            var c = this.g8(function () {
                a();
                _this.b2.remove(a);
            }, b);
            b = c.p1;
        }
    };
    DomainChart.prototype.g8 = function (a, b) {
        if (!b) {
            b = true;
            if (this.di != null) {
                this.di.setTimeout(a, 0);
            }
            else {
                this.a3 = a;
            }
        }
        return {
            p1: b
        };
    };
    DomainChart.prototype.get_bv = function () {
        return true;
    };
    Object.defineProperty(DomainChart.prototype, "bv", {
        get: function () {
            return this.get_bv();
        },
        enumerable: true,
        configurable: true
    });
    DomainChart.prototype.ge = function (a) {
        var _this = this;
        var b = a == this.dataChart;
        if (b) {
            a.m9 = this.j;
        }
        if (b) {
            a.nc = this.n;
        }
        a.na = this.l;
        a.nb = this.m;
        a.legend = this.legend;
        a.nr = this.bq;
        a.nt = this.bw && this.bv;
        a.seriesMouseEnter = delegateCombine(a.seriesMouseEnter, function (c, d) { return _this.hd(d.series, d.item); });
        a.seriesMouseLeave = delegateCombine(a.seriesMouseLeave, function (c, d) { return _this.he(d.series, d.item); });
        a.seriesMouseMove = delegateCombine(a.seriesMouseMove, function (c, d) { return _this.hf(d.series, d.item); });
        a.seriesMouseLeftButtonDown = delegateCombine(a.seriesMouseLeftButtonDown, function (c, d) { return _this.hc(d.series, d.item); });
        a.seriesMouseLeftButtonUp = delegateCombine(a.seriesMouseLeftButtonUp, function (c, d) { return _this.hg(d.series, d.item); });
        if (b) {
            a.m4 = this.h8;
        }
        if (b) {
            a.gq = this.fd;
        }
        a.lz = this.hw;
        if (b) {
            a.ge = this.e2;
        }
        a.ly = this.hv;
        a.nn = this.bf;
        a.cd = this.bg;
        a.ej = this.cs;
        a.el = this.cv;
        a.eu = this.c5;
        a.ef = this.cr;
        if (a == this.dataChart) {
            this.hl();
        }
        this.gf(a);
        this.gg(a);
    };
    DomainChart.prototype.gk = function (a, b) {
        if (!isNaN_(this.cu)) {
            a.eu = this.cu;
        }
        a.ey = this.c0;
        if (a.isUsableInLegend) {
            a.legend = this.legend;
        }
        if (typeCast(IUnknownValuePlotting_$type, a) !== null) {
            a.unknownValuePlotting = this.ax;
        }
        a.cu = this.bs;
        if (this.bo(a) && this.ac.isCalloutLayer(a)) {
            this.ac.setCalloutStyleUpdatingEventEnabled(a, this.bi);
            this.ac.addCalloutStyleUpdating(a, runOn(this, this.g9));
        }
        this.f1(a, b);
        this.f2(a, b);
        this.gl(a, b);
        this.gm(a, b);
        this.hb(a);
    };
    Object.defineProperty(DomainChart.prototype, "bh", {
        get: function () {
            return this.a6;
        },
        enumerable: true,
        configurable: true
    });
    DomainChart.prototype.f6 = function () {
        if (!this.a6) {
            this.a6 = true;
            this.gb();
        }
    };
    DomainChart.prototype.gb = function () {
        this.gc();
        this.gd();
    };
    DomainChart.prototype.hi = function (a) {
        this.ho(a);
    };
    DomainChart.prototype.f2 = function (a, b) {
        var c = typeCast(ITrendLineSeries_$type, a);
        if (c != null) {
            c.trendLineBrush = ArrayExtension.getModulus$1(Brush.$, this.o, b);
            c.trendLineThickness = this.c6;
            c.trendLineType = this.av;
            c.trendLinePeriod = this.df;
        }
    };
    DomainChart.prototype.ai = function (a, b) {
        if (this.ak == null || this.ak.count == 0) {
            if (this.b3 == null || this.b3.count == 0) {
                return a != null && a.cy ? 1 : 2;
            }
            var c = ArrayExtension.getModulus$1(MarkerType_$type, this.b3, b);
            return c == 2 && a != null && a.cy ? 1 : c;
        }
        return ArrayExtension.getModulus$1(MarkerType_$type, this.ak, b);
    };
    DomainChart.prototype.g3 = function (a, b, c) {
        var _this = this;
        if (this.propertyChanged != null) {
            this.propertyChanged(this, new PropertyChangedEventArgs(a));
        }
        switch (a) {
            case "DataChart":
                this.hi(typeCast(XamDataChart.$, b));
                this.ge(typeCast(XamDataChart.$, c));
                break;
            case "ItemsSource":
                this.v.itemsSource = this.itemsSource;
                break;
            case "IncludedProperties":
                this.v.includedProperties = this.d;
                break;
            case "ExcludedProperties":
                this.v.excludedProperties = this.c;
                break;
            case "Brushes":
                this.gz(function (d) { return d.m9 = _this.j; }, true, a);
                break;
            case "Outlines":
                this.gz(function (d) { return d.nc = _this.n; }, true, a);
                break;
            case "Legend":
                this.gx(function (d) { return d.legend = _this.legend; });
                break;
            case "IsHorizontalZoomEnabled":
                this.gx(function (d) { return d.nr = _this.bq; });
                break;
            case "IsVerticalZoomEnabled":
                this.gx(function (d) { return d.nt = _this.bw; });
                break;
            case "WindowRect":
                this.gy(function (d) { return d.m4 = _this.h8; }, false);
                break;
            case "Title":
                this.gy(function (d) { return d.gq = _this.fd; }, false);
                break;
            case "Subtitle":
                this.gy(function (d) { return d.ge = _this.e2; }, false);
                break;
            case "TitleAlignment":
                this.gx(function (d) { return d.lz = _this.hw; });
                break;
            case "SubtitleAlignment":
                this.gx(function (d) { return d.ly = _this.hv; });
                break;
            case "UnknownValuePlotting":
                this.f8(function (d) {
                    if (typeCast(IUnknownValuePlotting_$type, d) !== null) {
                        d.unknownValuePlotting = _this.ax;
                    }
                });
                break;
            case "IsSeriesHighlightingEnabled":
                this.f8(function (d) { return d.cu = _this.bs; });
                break;
            case "Thickness":
                this.f8(function (d) { return d.ey = _this.c0; });
                break;
            case "Resolution":
                if (!isNaN_(this.cu)) {
                    this.f8(function (d) { return d.eu = _this.cu; });
                }
                break;
            case "TrendLineBrushes":
            case "TrendLineType":
            case "TrendLineThickness":
            case "TrendLinePeriod":
                this.f9(function (d, e) { return _this.f2(d, e); });
                break;
            case "MarkerMaxCount":
                this.f9(function (d, e) { return _this.f1(d, e); });
                break;
            case "MarkerTypes":
                var d = typeCast(ObservableCollection$1.$.specialize(MarkerType_$type), b);
                if (d != null) {
                    d.collectionChanged = delegateRemove(d.collectionChanged, runOn(this, this.g2));
                }
                var e = typeCast(ObservableCollection$1.$.specialize(MarkerType_$type), c);
                if (e != null) {
                    e.collectionChanged = delegateCombine(e.collectionChanged, runOn(this, this.g2));
                }
                this.f9(function (f, g) { return _this.f1(f, g); });
                break;
            case "MarkerBrushes":
                this.gx(function (f) { return f.na = _this.l; });
                break;
            case "MarkerOutlines":
                this.gx(function (f) { return f.nb = _this.m; });
                break;
            case "AlignsGridLinesToPixels":
                this.gx(function (f) { return f.nn = _this.bf; });
                break;
            case "AnimateSeriesWhenAxisRangeChanges":
                this.gx(function (f) { return f.cd = _this.bg; });
                break;
            case "ToolTipType":
            case "CrosshairsDisplayMode":
            case "CrosshairsSnapToData":
            case "CrosshairsAnnotationEnabled":
            case "FinalValueAnnotationsVisible":
            case "CalloutsVisible":
            case "CalloutsItemsSource":
            case "CalloutsXMemberPath":
            case "CalloutsYMemberPath":
            case "CalloutsLabelMemberPath":
            case "CalloutsContentMemberPath":
                var f = this.g8(runOn(this, this.f5), this.br);
                this.br = f.p1;
                break;
        }
        this.g4(a, b, c);
        this.g5(a, b, c);
    };
    DomainChart.prototype.g2 = function (a, b) {
        var _this = this;
        this.f9(function (c, d) { return _this.f1(c, d); });
    };
    Object.defineProperty(DomainChart.prototype, "itemsSource", {
        get: function () {
            return this.b8;
        },
        set: function (a) {
            var b = this.itemsSource;
            if (b != a) {
                this.b8 = a;
                this.g3("ItemsSource", b, this.itemsSource);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "d", {
        get: function () {
            return this.b;
        },
        set: function (a) {
            var b = this.b;
            this.b = a;
            if (b != this.b) {
                this.g3("IncludedProperties", b, this.b);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "c", {
        get: function () {
            return this.a;
        },
        set: function (a) {
            var b = this.a;
            this.a = a;
            if (b != this.a) {
                this.g3("ExcludedProperties", b, this.a);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "j", {
        get: function () {
            return this.e;
        },
        set: function (a) {
            var b = this.j;
            if (a != b) {
                this.e = a;
                this.g3("Brushes", b, this.j);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "n", {
        get: function () {
            return this.h;
        },
        set: function (a) {
            var b = this.n;
            if (a != b) {
                this.h = a;
                this.g3("Outlines", b, this.n);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "legend", {
        get: function () {
            return this.ad;
        },
        set: function (a) {
            var b = this.legend;
            if (a != b) {
                this.ad = a;
                this.g3("Legend", b, this.legend);
            }
        },
        enumerable: true,
        configurable: true
    });
    DomainChart.prototype.get_bq = function () {
        return this.bc;
    };
    DomainChart.prototype.set_bq = function (a) {
        var b = this.bq;
        if (a != b) {
            this.bc = a;
            this.g3("IsHorizontalZoomEnabled", b, this.bq);
        }
    };
    Object.defineProperty(DomainChart.prototype, "bq", {
        get: function () {
            return this.get_bq();
        },
        set: function (a) {
            this.set_bq(a);
        },
        enumerable: true,
        configurable: true
    });
    DomainChart.prototype.get_bw = function () {
        return this.be;
    };
    DomainChart.prototype.set_bw = function (a) {
        var b = this.bw;
        if (a != b) {
            this.be = a;
            this.g3("IsVerticalZoomEnabled", b, this.bw);
        }
    };
    Object.defineProperty(DomainChart.prototype, "bw", {
        get: function () {
            return this.get_bw();
        },
        set: function (a) {
            this.set_bw(a);
        },
        enumerable: true,
        configurable: true
    });
    DomainChart.prototype.get_bs = function () {
        return this.bd;
    };
    DomainChart.prototype.set_bs = function (a) {
        var b = this.bs;
        if (a != b) {
            this.bd = a;
            this.g3("IsSeriesHighlightingEnabled", b, this.bs);
        }
    };
    Object.defineProperty(DomainChart.prototype, "bs", {
        get: function () {
            return this.get_bs();
        },
        set: function (a) {
            this.set_bs(a);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "h8", {
        get: function () {
            return this.h6;
        },
        set: function (a) {
            var b = this.h8;
            if (Rect.l_op_Inequality(a, b)) {
                this.h6 = a;
                this.g3("WindowRect", b, this.h8);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "h7", {
        get: function () {
            return this.dataChart != null ? this.dataChart.m3 : Rect.empty;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "fd", {
        get: function () {
            return this.dx;
        },
        set: function (a) {
            var b = this.fd;
            if (a != b) {
                this.dx = a;
                this.g3("Title", b, this.fd);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "e2", {
        get: function () {
            return this.dv;
        },
        set: function (a) {
            var b = this.e2;
            if (a != b) {
                this.dv = a;
                this.g3("Subtitle", b, this.e2);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "hw", {
        get: function () {
            return this.hu;
        },
        set: function (a) {
            var b = this.hw;
            if (b != a) {
                this.hu = a;
                this.g3("TitleAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.hw));
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "hv", {
        get: function () {
            return this.ht;
        },
        set: function (a) {
            var b = this.hv;
            if (b != a) {
                this.ht = a;
                this.g3("SubtitleAlignment", enumGetBox(HorizontalAlignment_$type, b), enumGetBox(HorizontalAlignment_$type, this.hv));
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "ax", {
        get: function () {
            return this.aw;
        },
        set: function (a) {
            var b = this.ax;
            if (a != b) {
                this.aw = a;
                this.g3("UnknownValuePlotting", enumGetBox(UnknownValuePlotting_$type, b), enumGetBox(UnknownValuePlotting_$type, this.ax));
            }
        },
        enumerable: true,
        configurable: true
    });
    DomainChart.prototype.get_cu = function () {
        return this.ce;
    };
    DomainChart.prototype.set_cu = function (a) {
        var b = this.cu;
        if (a != b) {
            this.ce = a;
            this.g3("Resolution", b, this.cu);
        }
    };
    Object.defineProperty(DomainChart.prototype, "cu", {
        get: function () {
            return this.get_cu();
        },
        set: function (a) {
            this.set_cu(a);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "c0", {
        get: function () {
            return this.ck;
        },
        set: function (a) {
            var b = this.c0;
            if (a != b) {
                this.ck = a;
                this.g3("Thickness", b, this.c0);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "ak", {
        get: function () {
            return this.aj;
        },
        set: function (a) {
            var b = this.ak;
            if (a != b) {
                this.aj = a;
                this.g3("MarkerTypes", b, this.ak);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "l", {
        get: function () {
            return this.f;
        },
        set: function (a) {
            var b = this.l;
            if (a != b) {
                this.f = a;
                this.g3("MarkerBrushes", b, this.l);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "m", {
        get: function () {
            return this.g;
        },
        set: function (a) {
            var b = this.m;
            if (!Base.equalsStatic(a, b)) {
                this.g = a;
                this.g3("MarkerOutlines", b, this.m);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "dd", {
        get: function () {
            return this.c9;
        },
        set: function (a) {
            var b = this.c9;
            if (a != b) {
                this.c9 = a;
                this.g3("MarkerMaxCount", b, this.c9);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "bg", {
        get: function () {
            return this.a5;
        },
        set: function (a) {
            var b = this.a5;
            if (a != b) {
                this.a5 = a;
                this.g3("AnimateSeriesWhenAxisRangeChanges", b, this.a5);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "o", {
        get: function () {
            return this.i;
        },
        set: function (a) {
            var b = this.o;
            if (a != b) {
                this.i = a;
                this.g3("TrendLineBrushes", b, this.o);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "av", {
        get: function () {
            return this.au;
        },
        set: function (a) {
            var b = this.av;
            if (a != b) {
                this.au = a;
                this.g3("TrendLineType", enumGetBox(TrendLineType_$type, b), enumGetBox(TrendLineType_$type, this.av));
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "c6", {
        get: function () {
            return this.cq;
        },
        set: function (a) {
            var b = this.c6;
            if (a != b) {
                this.cq = a;
                this.g3("TrendLineThickness", b, this.c6);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "bf", {
        get: function () {
            return this.a4;
        },
        set: function (a) {
            var b = this.bf;
            if (a != b) {
                this.a4 = a;
                this.g3("AlignsGridLinesToPixels", b, this.bf);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "df", {
        get: function () {
            return this.dc;
        },
        set: function (a) {
            var b = this.df;
            if (a != b) {
                this.dc = a;
                this.g3("TrendLinePeriod", b, this.df);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "at", {
        get: function () {
            return this.as;
        },
        set: function (a) {
            var b = this.at;
            if (a != b) {
                this.as = a;
                this.g3("ToolTipType", enumGetBox(ToolTipType_$type, b), enumGetBox(ToolTipType_$type, this.at));
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "t", {
        get: function () {
            return this.s;
        },
        set: function (a) {
            var b = this.t;
            if (a != b) {
                this.s = a;
                this.g3("CrosshairsDisplayMode", enumGetBox(CrosshairsDisplayMode_$type, b), enumGetBox(CrosshairsDisplayMode_$type, this.t));
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "bl", {
        get: function () {
            return this.ba;
        },
        set: function (a) {
            var b = this.bl;
            if (a != b) {
                this.ba = a;
                this.g3("CrosshairsSnapToData", b, this.bl);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "bk", {
        get: function () {
            return this.a9;
        },
        set: function (a) {
            var b = this.bk;
            if (a != b) {
                this.a9 = a;
                this.g3("CrosshairsAnnotationEnabled", b, this.bk);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "bm", {
        get: function () {
            return this.bb;
        },
        set: function (a) {
            var b = this.bm;
            if (a != b) {
                this.bb = a;
                this.g3("FinalValueAnnotationsVisible", b, this.bm);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "bj", {
        get: function () {
            return this.a8;
        },
        set: function (a) {
            var b = this.bj;
            if (a != b) {
                this.a8 = a;
                this.g3("CalloutsVisible", b, this.bj);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "bi", {
        get: function () {
            return this.a7;
        },
        set: function (a) {
            var b = this.bi;
            if (a != b) {
                this.a7 = a;
                this.g3("CalloutStyleUpdatingEventEnabled", b, this.bi);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "calloutsItemsSource", {
        get: function () {
            return this.b7;
        },
        set: function (a) {
            var b = this.calloutsItemsSource;
            if (a != b) {
                this.b7 = a;
                this.g3("CalloutsItemsSource", b, this.calloutsItemsSource);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "ea", {
        get: function () {
            return this.dt;
        },
        set: function (a) {
            var b = this.ea;
            if (a != b) {
                this.dt = a;
                this.g3("CalloutsXMemberPath", b, this.ea);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "ec", {
        get: function () {
            return this.du;
        },
        set: function (a) {
            var b = this.ec;
            if (a != b) {
                this.du = a;
                this.g3("CalloutsYMemberPath", b, this.ec);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "d6", {
        get: function () {
            return this.ds;
        },
        set: function (a) {
            var b = this.d6;
            if (a != b) {
                this.ds = a;
                this.g3("CalloutsLabelMemberPath", b, this.d6);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(DomainChart.prototype, "d3", {
        get: function () {
            return this.dr;
        },
        set: function (a) {
            var b = this.d3;
            if (a != b) {
                this.dr = a;
                this.g3("CalloutsContentMemberPath", b, this.d3);
            }
        },
        enumerable: true,
        configurable: true
    });
    DomainChart.$t = markType(DomainChart, 'DomainChart', Base.$, [INotifyPropertyChanged_$type]);
    DomainChart.dq = new Random(0);
    return DomainChart;
}(Base));
export { DomainChart };
//# sourceMappingURL=DomainChart.js.map