/*
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, 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.akx = 1000;
        _this.aky = 1000;
        _this.akr = null;
        _this.aks = null;
        _this.akn = 0;
        _this.akv = true;
        _this.akl = 0;
        _this.akp = 3;
        _this.ul();
        return _this;
    }
    DataPieChart.prototype.u5 = function () {
        _super.prototype.u5.call(this);
        if (this.dataChart == null) {
            return;
        }
        var a = this.dataChart.c9.j.e();
        if (this.agb == null) {
            this.agb = a.k;
        }
        if (this.agi == null) {
            this.agi = a.k;
        }
        this.aca = 0;
        this.agj = BrushUtil.h(0, 0, 0, 0);
        this.agm = BrushUtil.h(0, 0, 0, 0);
        this.agf = BrushUtil.h(0, 0, 0, 0);
        this.agc = BrushUtil.h(0, 0, 0, 0);
        this.abp = 0;
        this.agg = BrushUtil.h(0, 0, 0, 0);
        this.abq = AxisDefaults.e;
        this.agx = 1;
        this.agy = 1;
        this.crosshairsDisplayMode = 1;
        this.gn = true;
        this.jl = Defaults.j;
        this.yc = Defaults.ae;
        this.x7 = Defaults.af;
        this.x8 = Defaults.ag;
        this.autoCalloutsVisible = true;
        this.hk = true;
        this.g3 = false;
        this.hb = false;
        this.bz = 1;
        this.bv = 11;
        this.akw = true;
        this.x1 = BrushUtil.h(255, 255, 255, 255);
        this.jk = DeviceUtils.g(2);
        this.gl = true;
        this.gj = true;
        this.gg = true;
        this.dk = 4;
        this.di = 4;
    };
    DataPieChart.prototype.u7 = function (a, b) {
        _super.prototype.u7.call(this, a, b);
        a.ke = this.akz;
        a.kf = this.ak0;
        a.de = this.akt;
        a.df = this.aku;
    };
    DataPieChart.prototype.vx = function (a, b, c) {
        var _this = this;
        _super.prototype.vx.call(this, a, b, c);
        switch (a) {
            case "TransitionInDuration":
                this.uu(function (d) { return d.ke = _this.akz; });
                break;
            case "TransitionOutDuration":
                this.uu(function (d) { return d.kf = _this.ak0; });
                break;
            case "TransitionInEasingFunction":
                this.uu(function (d) { return d.de = _this.akt; });
                break;
            case "TransitionOutEasingFunction":
                this.uu(function (d) { return d.df = _this.aku; });
                break;
        }
    };
    Object.defineProperty(DataPieChart.prototype, "akz", {
        get: function () {
            return this.akx;
        },
        set: function (a) {
            var b = this.akz;
            if (a != b) {
                this.akx = a;
                this.vu("TransitionInDuration", b, this.akz);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataPieChart.prototype, "ak0", {
        get: function () {
            return this.aky;
        },
        set: function (a) {
            var b = this.ak0;
            if (a != b) {
                this.aky = a;
                this.vu("TransitionOutDuration", b, this.ak0);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataPieChart.prototype, "akt", {
        get: function () {
            return this.akr;
        },
        set: function (a) {
            var b = this.akt;
            if (a != b) {
                this.akr = a;
                this.vu("TransitionInEasingFunction", b, this.akt);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataPieChart.prototype, "aku", {
        get: function () {
            return this.aks;
        },
        set: function (a) {
            var b = this.aku;
            if (a != b) {
                this.aks = a;
                this.vu("TransitionOutEasingFunction", b, this.aku);
            }
        },
        enumerable: false,
        configurable: true
    });
    DataPieChart.prototype.ak2 = function () {
        var cvd_ = this.lu();
        cvd_.scaleByViewport();
        return (cvd_.serialize());
    };
    DataPieChart.prototype.get_hx = function () {
        return ((function () {
            var $ret = new List$1(DataSeriesType_$type, 0);
            $ret.add(34);
            return $ret;
        })());
    };
    Object.defineProperty(DataPieChart.prototype, "hx", {
        get: function () {
            return this.get_hx();
        },
        enumerable: false,
        configurable: true
    });
    DataPieChart.prototype.get_hw = 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, "hw", {
        get: function () {
            return this.get_hw();
        },
        enumerable: false,
        configurable: true
    });
    DataPieChart.prototype.get_ahx = function () {
        return false;
    };
    DataPieChart.prototype.be = function (a) {
        if (this.ako == 0) {
            return a.suggestedSeries;
        }
        if (this.ako == 1) {
            return 34;
        }
        return 34;
    };
    DataPieChart.prototype.dc = function (a, b) {
        var c = _super.prototype.dc.call(this, a, b);
        return c;
    };
    DataPieChart.prototype.u0 = function (a, b) {
        _super.prototype.u0.call(this, a, b);
    };
    DataPieChart.prototype.u6 = function (a, b) {
        _super.prototype.u6.call(this, a, b);
        var c = typeCast(RadialBase.$, a);
        if (c == null) {
            return;
        }
        c.zt = this.akw;
        c.y3 = this.akm;
        c.c5 = this.akq;
    };
    DataPieChart.prototype.ua = function (a, b) {
        _super.prototype.ua.call(this, a, b);
        var c = typeCast(RadialPieSeries.$, a);
        if (c != null) {
            c.xa = this.c2(a, b);
        }
    };
    DataPieChart.prototype.c1 = function (a) {
        return 13;
    };
    DataPieChart.prototype.vu = function (a, b, c) {
        _super.prototype.vu.call(this, a, b, c);
        switch (a) {
            case "ChartType":
                this.ur();
                break;
        }
    };
    DataPieChart.prototype.get_cb = function () {
        return 4;
    };
    Object.defineProperty(DataPieChart.prototype, "cb", {
        get: function () {
            return this.get_cb();
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataPieChart.prototype, "ako", {
        get: function () {
            return this.akn;
        },
        set: function (a) {
            if (a != this.akn) {
                var b = this.ako;
                this.akn = a;
                this.vu("ChartType", enumGetBox(DataPieChartType_$type, b), enumGetBox(DataPieChartType_$type, this.ako));
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataPieChart.prototype, "akw", {
        get: function () {
            return this.akv;
        },
        set: function (a) {
            var b = this.akw;
            if (a != b) {
                this.akv = a;
                this.vu("IsTransitionInEnabled", b, this.akw);
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataPieChart.prototype, "akm", {
        get: function () {
            return this.akl;
        },
        set: function (a) {
            var b = this.akm;
            if (a != b) {
                this.akl = a;
                this.vu("TransitionInMode", enumGetBox(CategoryTransitionInMode_$type, b), enumGetBox(CategoryTransitionInMode_$type, this.akm));
            }
        },
        enumerable: false,
        configurable: true
    });
    Object.defineProperty(DataPieChart.prototype, "akq", {
        get: function () {
            return this.akp;
        },
        set: function (a) {
            var b = this.akq;
            if (a != b) {
                this.akp = a;
                this.vu("TransitionInSpeedType", enumGetBox(TransitionInSpeedType_$type, b), enumGetBox(TransitionInSpeedType_$type, this.akq));
            }
        },
        enumerable: false,
        configurable: true
    });
    DataPieChart.$t = markType(DataPieChart, 'DataPieChart', DataPieBaseChart.$);
    return DataPieChart;
}(DataPieBaseChart));
export { DataPieChart };
