/*
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 { __extends } from "tslib";
import { DataPieBaseChart } from "./DataPieBaseChart";
import { typeCast, EnumUtil, enumGetBox, markType } from "igniteui-angular-core";
import { List$1 } from "igniteui-angular-core";
import { DataSeriesType_$type } from "igniteui-angular-core";
import { IDataSeriesAdapterRule_$type } from "igniteui-angular-core";
import { SimplePieSeriesRule } from "igniteui-angular-core";
import { SubCollectionsRule } from "igniteui-angular-core";
import { DataPieChartType_$type } from "./DataPieChartType";
import { CategoryTransitionInMode_$type } from "./CategoryTransitionInMode";
import { TransitionInSpeedType_$type } from "./TransitionInSpeedType";
import { BrushUtil } from "igniteui-angular-core";
import { AxisDefaults } from "./AxisDefaults";
import { Defaults } from "./Defaults";
import { DeviceUtils } from "igniteui-angular-core";
import { RadialBase } from "./RadialBase";
import { RadialPieSeries } from "./RadialPieSeries";
/**
 * @hidden
 */
var DataPieChart = /** @class */ /*@__PURE__*/ (function (_super) {
    __extends(DataPieChart, _super);
    function DataPieChart() {
        var _this = _super.call(this) || this;
        _this.amm = 1000;
        _this.amn = 1000;
        _this.amg = null;
        _this.amh = null;
        _this.amc = 0;
        _this.amk = true;
        _this.ama = 0;
        _this.ame = 3;
        _this.vc();
        return _this;
    }
    DataPieChart.prototype.vw = function () {
        _super.prototype.vw.call(this);
        if (this.dataChart == null) {
            return;
        }
        var a = this.dataChart.dp.j.e();
        if (this.ahk == null) {
            this.ahk = a.k;
        }
        if (this.ahr == null) {
            this.ahr = a.k;
        }
        this.adf = 0;
        this.ahs = BrushUtil.j(0, 0, 0, 0);
        this.ahv = BrushUtil.j(0, 0, 0, 0);
        this.aho = BrushUtil.j(0, 0, 0, 0);
        this.ahl = BrushUtil.j(0, 0, 0, 0);
        this.acs = 0;
        this.ahp = BrushUtil.j(0, 0, 0, 0);
        this.act = AxisDefaults.axis_TickStroke;
        this.ah6 = 1;
        this.ah7 = 1;
        this.crosshairsDisplayMode = 1;
        this.gv = true;
        this.jw = Defaults.crosshairLineThickness;
        this.y9 = Defaults.crosshairLineBrush;
        this.y4 = Defaults.crosshairXAxisAnnotationBackground;
        this.y5 = Defaults.crosshairXAxisAnnotationTextColor;
        this.autoCalloutsVisible = true;
        this.ht = true;
        this.hb = false;
        this.hj = false;
        this.b0 = 1;
        this.bw = 11;
        this.aml = true;
        this.yy = BrushUtil.j(255, 255, 255, 255);
        this.jv = DeviceUtils.g(2);
        this.gr = true;
        this.gp = true;
        this.gm = true;
        this.dm = 4;
        this.dk = 4;
    };
    DataPieChart.prototype.vy = function (a, b) {
        _super.prototype.vy.call(this, a, b);
        a.ki = this.amo;
        a.kj = this.amp;
        a.df = this.ami;
        a.dg = this.amj;
    };
    DataPieChart.prototype.wr = function (a, b, c) {
        var _this = this;
        _super.prototype.wr.call(this, a, b, c);
        switch (a) {
            case "TransitionInDuration":
                this.vl(function (d) { return d.ki = _this.amo; });
                break;
            case "TransitionOutDuration":
                this.vl(function (d) { return d.kj = _this.amp; });
                break;
            case "TransitionInEasingFunction":
                this.vl(function (d) { return d.df = _this.ami; });
                break;
            case "TransitionOutEasingFunction":
                this.vl(function (d) { return d.dg = _this.amj; });
                break;
        }
    };
    Object.defineProperty(DataPieChart.prototype, "amo", {
        get: function () {
            return this.amm;
        },
        set: function (a) {
            var b = this.amo;
            if (a != b) {
                this.amm = a;
                this.wn("TransitionInDuration", b, this.amo);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataPieChart.prototype, "amp", {
        get: function () {
            return this.amn;
        },
        set: function (a) {
            var b = this.amp;
            if (a != b) {
                this.amn = a;
                this.wn("TransitionOutDuration", b, this.amp);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataPieChart.prototype, "ami", {
        get: function () {
            return this.amg;
        },
        set: function (a) {
            var b = this.ami;
            if (a != b) {
                this.amg = a;
                this.wn("TransitionInEasingFunction", b, this.ami);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataPieChart.prototype, "amj", {
        get: function () {
            return this.amh;
        },
        set: function (a) {
            var b = this.amj;
            if (a != b) {
                this.amh = a;
                this.wn("TransitionOutEasingFunction", b, this.amj);
            }
        },
        enumerable: false,
        configurable: true
    });
    DataPieChart.prototype.amr = function () {
        var cvd_ = this.mc();
        cvd_.scaleByViewport();
        return (cvd_.serialize());
    };
    DataPieChart.prototype.get_h7 = function () {
        return ((function () {
            var $ret = new List$1(DataSeriesType_$type, 0);
            $ret.add(35);
            return $ret;
        })());
    };
    Object.defineProperty(DataPieChart.prototype, "h7", {
        get: function () {
            return this.get_h7();
        },
        enumerable: false,
        configurable: true
    });
    DataPieChart.prototype.get_h6 = function () {
        return ((function () {
            var $ret = new List$1(IDataSeriesAdapterRule_$type, 0);
            $ret.add(new SimplePieSeriesRule());
            $ret.add(new SubCollectionsRule());
            return $ret;
        })());
    };
    Object.defineProperty(DataPieChart.prototype, "h6", {
        get: function () {
            return this.get_h6();
        },
        enumerable: false,
        configurable: true
    });
    DataPieChart.prototype.get_aja = function () {
        return false;
    };
    DataPieChart.prototype.bf = function (a) {
        if (this.amd == 0) {
            return a.suggestedSeries;
        }
        if (this.amd == 1) {
            return 35;
        }
        return 35;
    };
    DataPieChart.prototype.dd = function (a, b) {
        var c = _super.prototype.dd.call(this, a, b);
        return c;
    };
    DataPieChart.prototype.vr = function (a, b) {
        _super.prototype.vr.call(this, a, b);
    };
    DataPieChart.prototype.vx = function (a, b) {
        _super.prototype.vx.call(this, a, b);
        var c = typeCast(RadialBase.$, a);
        if (c == null) {
            return;
        }
        c.z1 = this.aml;
        c.zd = this.amb;
        c.c6 = this.amf;
    };
    DataPieChart.prototype.u1 = function (a, b) {
        _super.prototype.u1.call(this, a, b);
        var c = typeCast(RadialPieSeries.$, a);
        if (c != null) {
            c.xk = this.c3(a, b);
        }
    };
    DataPieChart.prototype.c2 = function (a) {
        return 13;
    };
    DataPieChart.prototype.wn = function (a, b, c) {
        _super.prototype.wn.call(this, a, b, c);
        switch (a) {
            case "ChartType":
                this.vi();
                break;
            case "IsTransitionInEnabled":
                this.vg(function (d) {
                    var e = typeCast(RadialBase.$, d);
                    if (e == null) {
                        return;
                    }
                    e.z1 = c;
                });
                break;
            case "TransitionInMode":
                this.vg(function (d) {
                    var e = typeCast(RadialBase.$, d);
                    if (e == null) {
                        return;
                    }
                    e.zd = EnumUtil.getEnumValue(CategoryTransitionInMode_$type, c);
                });
                break;
            case "TransitionInSpeedType":
                this.vg(function (d) {
                    var e = typeCast(RadialBase.$, d);
                    if (e == null) {
                        return;
                    }
                    e.c6 = EnumUtil.getEnumValue(TransitionInSpeedType_$type, c);
                });
                break;
        }
    };
    DataPieChart.prototype.get_cc = function () {
        return 4;
    };
    Object.defineProperty(DataPieChart.prototype, "cc", {
        get: function () {
            return this.get_cc();
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataPieChart.prototype, "amd", {
        get: function () {
            return this.amc;
        },
        set: function (a) {
            if (a != this.amc) {
                var b = this.amd;
                this.amc = a;
                this.wn("ChartType", enumGetBox(DataPieChartType_$type, b), enumGetBox(DataPieChartType_$type, this.amd));
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataPieChart.prototype, "aml", {
        get: function () {
            return this.amk;
        },
        set: function (a) {
            var b = this.aml;
            if (a != b) {
                this.amk = a;
                this.wn("IsTransitionInEnabled", b, this.aml);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataPieChart.prototype, "amb", {
        get: function () {
            return this.ama;
        },
        set: function (a) {
            var b = this.amb;
            if (a != b) {
                this.ama = a;
                this.wn("TransitionInMode", enumGetBox(CategoryTransitionInMode_$type, b), enumGetBox(CategoryTransitionInMode_$type, this.amb));
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataPieChart.prototype, "amf", {
        get: function () {
            return this.ame;
        },
        set: function (a) {
            var b = this.amf;
            if (a != b) {
                this.ame = a;
                this.wn("TransitionInSpeedType", enumGetBox(TransitionInSpeedType_$type, b), enumGetBox(TransitionInSpeedType_$type, this.amf));
            }
        },
        enumerable: false,
        configurable: true
    });
    DataPieChart.$t = markType(DataPieChart, 'DataPieChart', DataPieBaseChart.$);
    return DataPieChart;
}(DataPieBaseChart));
export { DataPieChart };
