/*
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 { 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
 */
export let DataPieChart = /*@__PURE__*/ (() => {
    class DataPieChart extends DataPieBaseChart {
        constructor() {
            super();
            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();
        }
        u5() {
            super.u5();
            if (this.dataChart == null) {
                return;
            }
            let 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;
        }
        u7(a, b) {
            super.u7(a, b);
            a.ke = this.akz;
            a.kf = this.ak0;
            a.de = this.akt;
            a.df = this.aku;
        }
        vx(a, b, c) {
            super.vx(a, b, c);
            switch (a) {
                case "TransitionInDuration":
                    this.uu((d) => d.ke = this.akz);
                    break;
                case "TransitionOutDuration":
                    this.uu((d) => d.kf = this.ak0);
                    break;
                case "TransitionInEasingFunction":
                    this.uu((d) => d.de = this.akt);
                    break;
                case "TransitionOutEasingFunction":
                    this.uu((d) => d.df = this.aku);
                    break;
            }
        }
        get akz() {
            return this.akx;
        }
        set akz(a) {
            let b = this.akz;
            if (a != b) {
                this.akx = a;
                this.vu("TransitionInDuration", b, this.akz);
            }
        }
        get ak0() {
            return this.aky;
        }
        set ak0(a) {
            let b = this.ak0;
            if (a != b) {
                this.aky = a;
                this.vu("TransitionOutDuration", b, this.ak0);
            }
        }
        get akt() {
            return this.akr;
        }
        set akt(a) {
            let b = this.akt;
            if (a != b) {
                this.akr = a;
                this.vu("TransitionInEasingFunction", b, this.akt);
            }
        }
        get aku() {
            return this.aks;
        }
        set aku(a) {
            let b = this.aku;
            if (a != b) {
                this.aks = a;
                this.vu("TransitionOutEasingFunction", b, this.aku);
            }
        }
        ak2() {
            let cvd_ = this.lu();
            cvd_.scaleByViewport();
            return (cvd_.serialize());
        }
        get_hx() {
            return ((() => {
                let $ret = new List$1(DataSeriesType_$type, 0);
                $ret.add(34);
                return $ret;
            })());
        }
        get hx() {
            return this.get_hx();
        }
        get_hw() {
            return ((() => {
                let $ret = new List$1(IDataSeriesAdapterRule_$type, 0);
                $ret.add(new SimplePieSeriesRule());
                $ret.add(new SubCollectionsRule());
                return $ret;
            })());
        }
        get hw() {
            return this.get_hw();
        }
        get_ahx() {
            return false;
        }
        be(a) {
            if (this.ako == 0) {
                return a.suggestedSeries;
            }
            if (this.ako == 1) {
                return 34;
            }
            return 34;
        }
        dc(a, b) {
            let c = super.dc(a, b);
            return c;
        }
        u0(a, b) {
            super.u0(a, b);
        }
        u6(a, b) {
            super.u6(a, b);
            let c = typeCast(RadialBase.$, a);
            if (c == null) {
                return;
            }
            c.zt = this.akw;
            c.y3 = this.akm;
            c.c5 = this.akq;
        }
        ua(a, b) {
            super.ua(a, b);
            let c = typeCast(RadialPieSeries.$, a);
            if (c != null) {
                c.xa = this.c2(a, b);
            }
        }
        c1(a) {
            return 13;
        }
        vu(a, b, c) {
            super.vu(a, b, c);
            switch (a) {
                case "ChartType":
                    this.ur();
                    break;
            }
        }
        get_cb() {
            return 4;
        }
        get cb() {
            return this.get_cb();
        }
        get ako() {
            return this.akn;
        }
        set ako(a) {
            if (a != this.akn) {
                let b = this.ako;
                this.akn = a;
                this.vu("ChartType", enumGetBox(DataPieChartType_$type, b), enumGetBox(DataPieChartType_$type, this.ako));
            }
        }
        get akw() {
            return this.akv;
        }
        set akw(a) {
            let b = this.akw;
            if (a != b) {
                this.akv = a;
                this.vu("IsTransitionInEnabled", b, this.akw);
            }
        }
        get akm() {
            return this.akl;
        }
        set akm(a) {
            let b = this.akm;
            if (a != b) {
                this.akl = a;
                this.vu("TransitionInMode", enumGetBox(CategoryTransitionInMode_$type, b), enumGetBox(CategoryTransitionInMode_$type, this.akm));
            }
        }
        get akq() {
            return this.akp;
        }
        set akq(a) {
            let b = this.akq;
            if (a != b) {
                this.akp = a;
                this.vu("TransitionInSpeedType", enumGetBox(TransitionInSpeedType_$type, b), enumGetBox(TransitionInSpeedType_$type, this.akq));
            }
        }
    }
    DataPieChart.$t = markType(DataPieChart, 'DataPieChart', DataPieBaseChart.$);
    return DataPieChart;
})();
