/*
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, PropertyChangedEventArgs, runOn, delegateRemove, delegateCombine, markType } from "igniteui-webcomponents-core";
import { GridAnimationPhaseSettings } from "./GridAnimationPhaseSettings";
/**
 * @hidden
 */
var GridColumnAnimationSettings = /** @class */ /*@__PURE__*/ (function (_super) {
    tslib_1.__extends(GridColumnAnimationSettings, _super);
    function GridColumnAnimationSettings() {
        var _this = _super.call(this) || this;
        _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;
        return _this;
    }
    Object.defineProperty(GridColumnAnimationSettings.prototype, "u", {
        get: function () {
            return this.i;
        },
        set: function (a) {
            var b = this.i;
            this.i = a;
            this.av("ColumnPropertyUpdatingMainPhase", b, this.i);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnAnimationSettings.prototype, "m", {
        get: function () {
            return this.a;
        },
        set: function (a) {
            var b = this.a;
            this.a = a;
            this.av("ColumnAddingMainPhase", b, this.a);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnAnimationSettings.prototype, "n", {
        get: function () {
            return this.b;
        },
        set: function (a) {
            var b = this.b;
            this.b = a;
            this.av("ColumnAddingPrePhase", b, this.b);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnAnimationSettings.prototype, "w", {
        get: function () {
            return this.k;
        },
        set: function (a) {
            var b = this.k;
            this.k = a;
            this.av("ColumnShowingMainPhase", b, this.k);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnAnimationSettings.prototype, "x", {
        get: function () {
            return this.l;
        },
        set: function (a) {
            var b = this.l;
            this.l = a;
            this.av("ColumnShowingPrePhase", b, this.l);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnAnimationSettings.prototype, "v", {
        get: function () {
            return this.j;
        },
        set: function (a) {
            var b = this.j;
            this.j = a;
            this.av("ColumnResizingMainPhase", b, this.j);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnAnimationSettings.prototype, "s", {
        get: function () {
            return this.g;
        },
        set: function (a) {
            var b = this.g;
            this.g = a;
            this.av("ColumnMovingMainPhase", b, this.g);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnAnimationSettings.prototype, "t", {
        get: function () {
            return this.h;
        },
        set: function (a) {
            var b = this.h;
            this.h = a;
            this.av("ColumnMovingPrePhase", b, this.h);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnAnimationSettings.prototype, "q", {
        get: function () {
            return this.e;
        },
        set: function (a) {
            var b = this.e;
            this.e = a;
            this.av("ColumnHidingMainPhase", b, this.e);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnAnimationSettings.prototype, "r", {
        get: function () {
            return this.f;
        },
        set: function (a) {
            var b = this.f;
            this.f = a;
            this.av("ColumnHidingPostPhase", b, this.f);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnAnimationSettings.prototype, "p", {
        get: function () {
            return this.d;
        },
        set: function (a) {
            var b = this.d;
            this.d = a;
            this.av("ColumnExchangingMainPhase", b, this.d);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnAnimationSettings.prototype, "o", {
        get: function () {
            return this.c;
        },
        set: function (a) {
            var b = this.c;
            this.c = a;
            this.av("ColumnExchangingCleanupPhase", b, this.c);
        },
        enumerable: true,
        configurable: true
    });
    GridColumnAnimationSettings.prototype.av = function (a, b, c) {
        if (this.propertyChanged != null) {
            this.propertyChanged(this, new PropertyChangedEventArgs(a));
        }
        this.aw(a, b, c);
    };
    GridColumnAnimationSettings.prototype.aw = function (a, b, c) {
        switch (a) {
            case "ColumnAddingMainPhase":
                if (b != null) {
                    var d = b;
                    d.propertyChanged = delegateRemove(d.propertyChanged, runOn(this, this.al));
                }
                if (c != null) {
                    var e = c;
                    e.propertyChanged = delegateCombine(e.propertyChanged, runOn(this, this.al));
                }
                break;
            case "ColumnAddingPrePhase":
                if (b != null) {
                    var f = b;
                    f.propertyChanged = delegateRemove(f.propertyChanged, runOn(this, this.am));
                }
                if (c != null) {
                    var g = c;
                    g.propertyChanged = delegateCombine(g.propertyChanged, runOn(this, this.am));
                }
                break;
            case "ColumnShowingMainPhase":
                if (b != null) {
                    var h = b;
                    h.propertyChanged = delegateRemove(h.propertyChanged, runOn(this, this.at));
                }
                if (c != null) {
                    var i = c;
                    i.propertyChanged = delegateCombine(i.propertyChanged, runOn(this, this.at));
                }
                break;
            case "ColumnShowingPrePhase":
                if (b != null) {
                    var j = b;
                    j.propertyChanged = delegateRemove(j.propertyChanged, runOn(this, this.au));
                }
                if (c != null) {
                    var k = c;
                    k.propertyChanged = delegateCombine(k.propertyChanged, runOn(this, this.au));
                }
                break;
            case "ColumnMovingMainPhase":
                if (b != null) {
                    var l = b;
                    l.propertyChanged = delegateRemove(l.propertyChanged, runOn(this, this.ar));
                }
                if (c != null) {
                    var m = c;
                    m.propertyChanged = delegateCombine(m.propertyChanged, runOn(this, this.ar));
                }
                break;
            case "ColumnMovingPrePhase":
                if (b != null) {
                    var n = b;
                    n.propertyChanged = delegateRemove(n.propertyChanged, runOn(this, this.as));
                }
                if (c != null) {
                    var o = c;
                    o.propertyChanged = delegateCombine(o.propertyChanged, runOn(this, this.as));
                }
                break;
            case "ColumnHidingMainPhase":
                if (b != null) {
                    var p = b;
                    p.propertyChanged = delegateRemove(p.propertyChanged, runOn(this, this.ap));
                }
                if (c != null) {
                    var q = c;
                    q.propertyChanged = delegateCombine(q.propertyChanged, runOn(this, this.ap));
                }
                break;
            case "ColumnHidingPostPhase":
                if (b != null) {
                    var r = b;
                    r.propertyChanged = delegateRemove(r.propertyChanged, runOn(this, this.aq));
                }
                if (c != null) {
                    var s = c;
                    s.propertyChanged = delegateCombine(s.propertyChanged, runOn(this, this.aq));
                }
                break;
            case "ColumnExchangingMainPhase":
                if (b != null) {
                    var t = b;
                    t.propertyChanged = delegateRemove(t.propertyChanged, runOn(this, this.ao));
                }
                if (c != null) {
                    var u = c;
                    u.propertyChanged = delegateCombine(u.propertyChanged, runOn(this, this.ao));
                }
                break;
            case "ColumnExchangingCleanupPhase":
                if (b != null) {
                    var v = b;
                    v.propertyChanged = delegateRemove(v.propertyChanged, runOn(this, this.an));
                }
                if (c != null) {
                    var w = c;
                    w.propertyChanged = delegateCombine(w.propertyChanged, runOn(this, this.an));
                }
                break;
        }
    };
    GridColumnAnimationSettings.prototype.al = function (a, b) {
        this.av("ColumnAddingMainPhase", this.m, this.m);
    };
    GridColumnAnimationSettings.prototype.am = function (a, b) {
        this.av("ColumnAddingPrePhase", this.n, this.n);
    };
    GridColumnAnimationSettings.prototype.at = function (a, b) {
        this.av("ColumnShowingMainPhase", this.w, this.w);
    };
    GridColumnAnimationSettings.prototype.au = function (a, b) {
        this.av("ColumnShowingPrePhase", this.x, this.x);
    };
    GridColumnAnimationSettings.prototype.ar = function (a, b) {
        this.av("ColumnMovingMainPhase", this.s, this.s);
    };
    GridColumnAnimationSettings.prototype.as = function (a, b) {
        this.av("ColumnMovingPrePhase", this.t, this.t);
    };
    GridColumnAnimationSettings.prototype.ap = function (a, b) {
        this.av("ColumnHidingMainPhase", this.q, this.q);
    };
    GridColumnAnimationSettings.prototype.aq = function (a, b) {
        this.av("ColumnHidingPostPhase", this.r, this.r);
    };
    GridColumnAnimationSettings.prototype.ao = function (a, b) {
        this.av("ColumnExchangingMainPhase", this.p, this.p);
    };
    GridColumnAnimationSettings.prototype.an = function (a, b) {
        this.av("ColumnExchangingCleanupPhase", this.o, this.o);
    };
    GridColumnAnimationSettings.$t = markType(GridColumnAnimationSettings, 'GridColumnAnimationSettings', Base.$, [INotifyPropertyChanged_$type]);
    return GridColumnAnimationSettings;
}(Base));
export { GridColumnAnimationSettings };
//# sourceMappingURL=GridColumnAnimationSettings.js.map
