/*
THIS INFRAGISTICS ULTIMATE SOFTWARE LICENSE  AGREEMENT ("AGREEMENT") LOCATED HERE:
https://www.infragistics.com/legal/license/igultimate-la
https://www.infragistics.com/legal/license/igultimate-eula
GOVERNS THE LICENSING, INSTALLATION AND USE OF INFRAGISTICS SOFTWARE. BY DOWNLOADING AND/OR INSTALLING AND USING INFRAGISTICS SOFTWARE:  you are indicating that you have read and understand this Agreement, and agree to be legally bound by it on behalf of the yourself and your company.
*/
import { Base, INotifyPropertyChanged_$type, PropertyChangedEventArgs, runOn, delegateRemove, delegateCombine, markType } from "igniteui-webcomponents-core";
import { GridAnimationPhaseSettings } from "./GridAnimationPhaseSettings";
/**
 * @hidden
 */
export let GridColumnAnimationSettings = /*@__PURE__*/ (() => {
    class GridColumnAnimationSettings extends Base {
        constructor() {
            super();
            this.y = null;
            this.i = null;
            this.a = null;
            this.b = null;
            this.k = null;
            this.l = null;
            this.j = null;
            this.g = null;
            this.h = null;
            this.e = null;
            this.f = null;
            this.d = null;
            this.c = null;
            this.propertyChanged = null;
            this.a = new GridAnimationPhaseSettings();
            this.a.l = 1000;
            this.a.c = 1;
            this.a.m = 500;
            this.a.e = false;
            this.k = this.a.a();
            this.i = new GridAnimationPhaseSettings();
            this.i.l = 1000;
            this.i.c = 1;
            this.i.e = false;
            this.b = new GridAnimationPhaseSettings();
            this.b.c = 1;
            this.b.l = 300;
            this.l = this.b.a();
            this.e = this.a.a();
            this.e.m = 0;
            this.f = new GridAnimationPhaseSettings();
            this.f.m = 1200;
            this.f.l = 300;
            this.f.c = 1;
            this.g = new GridAnimationPhaseSettings();
            this.g.l = 1000;
            this.g.c = 1;
            this.g.m = 500;
            this.g.e = false;
            this.h = new GridAnimationPhaseSettings();
            this.h.c = 1;
            this.h.l = 800;
            this.d = this.a.a();
            this.d.m = 0;
            this.c = new GridAnimationPhaseSettings();
            this.c.m = 0;
            this.c.l = 300;
            this.c.c = 0;
            this.j = new GridAnimationPhaseSettings();
            this.j.c = 1;
            this.j.l = 200;
        }
        get u() {
            return this.i;
        }
        set u(a) {
            let b = this.i;
            this.i = a;
            this.av("ColumnPropertyUpdatingMainPhase", b, this.i);
        }
        get m() {
            return this.a;
        }
        set m(a) {
            let b = this.a;
            this.a = a;
            this.av("ColumnAddingMainPhase", b, this.a);
        }
        get n() {
            return this.b;
        }
        set n(a) {
            let b = this.b;
            this.b = a;
            this.av("ColumnAddingPrePhase", b, this.b);
        }
        get w() {
            return this.k;
        }
        set w(a) {
            let b = this.k;
            this.k = a;
            this.av("ColumnShowingMainPhase", b, this.k);
        }
        get x() {
            return this.l;
        }
        set x(a) {
            let b = this.l;
            this.l = a;
            this.av("ColumnShowingPrePhase", b, this.l);
        }
        get v() {
            return this.j;
        }
        set v(a) {
            let b = this.j;
            this.j = a;
            this.av("ColumnResizingMainPhase", b, this.j);
        }
        get s() {
            return this.g;
        }
        set s(a) {
            let b = this.g;
            this.g = a;
            this.av("ColumnMovingMainPhase", b, this.g);
        }
        get t() {
            return this.h;
        }
        set t(a) {
            let b = this.h;
            this.h = a;
            this.av("ColumnMovingPrePhase", b, this.h);
        }
        get q() {
            return this.e;
        }
        set q(a) {
            let b = this.e;
            this.e = a;
            this.av("ColumnHidingMainPhase", b, this.e);
        }
        get r() {
            return this.f;
        }
        set r(a) {
            let b = this.f;
            this.f = a;
            this.av("ColumnHidingPostPhase", b, this.f);
        }
        get p() {
            return this.d;
        }
        set p(a) {
            let b = this.d;
            this.d = a;
            this.av("ColumnExchangingMainPhase", b, this.d);
        }
        get o() {
            return this.c;
        }
        set o(a) {
            let b = this.c;
            this.c = a;
            this.av("ColumnExchangingCleanupPhase", b, this.c);
        }
        av(a, b, c) {
            if (this.propertyChanged != null) {
                this.propertyChanged(this, new PropertyChangedEventArgs(a));
            }
            this.aw(a, b, c);
        }
        aw(a, b, c) {
            switch (a) {
                case "ColumnAddingMainPhase":
                    if (b != null) {
                        let d = b;
                        d.propertyChanged = delegateRemove(d.propertyChanged, runOn(this, this.al));
                    }
                    if (c != null) {
                        let e = c;
                        e.propertyChanged = delegateCombine(e.propertyChanged, runOn(this, this.al));
                    }
                    break;
                case "ColumnAddingPrePhase":
                    if (b != null) {
                        let f = b;
                        f.propertyChanged = delegateRemove(f.propertyChanged, runOn(this, this.am));
                    }
                    if (c != null) {
                        let g = c;
                        g.propertyChanged = delegateCombine(g.propertyChanged, runOn(this, this.am));
                    }
                    break;
                case "ColumnShowingMainPhase":
                    if (b != null) {
                        let h = b;
                        h.propertyChanged = delegateRemove(h.propertyChanged, runOn(this, this.at));
                    }
                    if (c != null) {
                        let i = c;
                        i.propertyChanged = delegateCombine(i.propertyChanged, runOn(this, this.at));
                    }
                    break;
                case "ColumnShowingPrePhase":
                    if (b != null) {
                        let j = b;
                        j.propertyChanged = delegateRemove(j.propertyChanged, runOn(this, this.au));
                    }
                    if (c != null) {
                        let k = c;
                        k.propertyChanged = delegateCombine(k.propertyChanged, runOn(this, this.au));
                    }
                    break;
                case "ColumnMovingMainPhase":
                    if (b != null) {
                        let l = b;
                        l.propertyChanged = delegateRemove(l.propertyChanged, runOn(this, this.ar));
                    }
                    if (c != null) {
                        let m = c;
                        m.propertyChanged = delegateCombine(m.propertyChanged, runOn(this, this.ar));
                    }
                    break;
                case "ColumnMovingPrePhase":
                    if (b != null) {
                        let n = b;
                        n.propertyChanged = delegateRemove(n.propertyChanged, runOn(this, this.as));
                    }
                    if (c != null) {
                        let o = c;
                        o.propertyChanged = delegateCombine(o.propertyChanged, runOn(this, this.as));
                    }
                    break;
                case "ColumnHidingMainPhase":
                    if (b != null) {
                        let p = b;
                        p.propertyChanged = delegateRemove(p.propertyChanged, runOn(this, this.ap));
                    }
                    if (c != null) {
                        let q = c;
                        q.propertyChanged = delegateCombine(q.propertyChanged, runOn(this, this.ap));
                    }
                    break;
                case "ColumnHidingPostPhase":
                    if (b != null) {
                        let r = b;
                        r.propertyChanged = delegateRemove(r.propertyChanged, runOn(this, this.aq));
                    }
                    if (c != null) {
                        let s = c;
                        s.propertyChanged = delegateCombine(s.propertyChanged, runOn(this, this.aq));
                    }
                    break;
                case "ColumnExchangingMainPhase":
                    if (b != null) {
                        let t = b;
                        t.propertyChanged = delegateRemove(t.propertyChanged, runOn(this, this.ao));
                    }
                    if (c != null) {
                        let u = c;
                        u.propertyChanged = delegateCombine(u.propertyChanged, runOn(this, this.ao));
                    }
                    break;
                case "ColumnExchangingCleanupPhase":
                    if (b != null) {
                        let v = b;
                        v.propertyChanged = delegateRemove(v.propertyChanged, runOn(this, this.an));
                    }
                    if (c != null) {
                        let w = c;
                        w.propertyChanged = delegateCombine(w.propertyChanged, runOn(this, this.an));
                    }
                    break;
            }
        }
        al(a, b) {
            this.av("ColumnAddingMainPhase", this.m, this.m);
        }
        am(a, b) {
            this.av("ColumnAddingPrePhase", this.n, this.n);
        }
        at(a, b) {
            this.av("ColumnShowingMainPhase", this.w, this.w);
        }
        au(a, b) {
            this.av("ColumnShowingPrePhase", this.x, this.x);
        }
        ar(a, b) {
            this.av("ColumnMovingMainPhase", this.s, this.s);
        }
        as(a, b) {
            this.av("ColumnMovingPrePhase", this.t, this.t);
        }
        ap(a, b) {
            this.av("ColumnHidingMainPhase", this.q, this.q);
        }
        aq(a, b) {
            this.av("ColumnHidingPostPhase", this.r, this.r);
        }
        ao(a, b) {
            this.av("ColumnExchangingMainPhase", this.p, this.p);
        }
        an(a, b) {
            this.av("ColumnExchangingCleanupPhase", this.o, this.o);
        }
    }
    GridColumnAnimationSettings.$t = /*@__PURE__*/ markType(GridColumnAnimationSettings, 'GridColumnAnimationSettings', Base.$, [INotifyPropertyChanged_$type]);
    return GridColumnAnimationSettings;
})();
//# sourceMappingURL=GridColumnAnimationSettings.js.map
