/*
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 { ColumnSortDescription } from "./ColumnSortDescription";
import { markType } from "igniteui-webcomponents-core";
import { BindingFormatter } from "igniteui-webcomponents-core";
import { FormatGroupTextEventArgs } from "./FormatGroupTextEventArgs";
/**
 * @hidden
 */
var ColumnGroupDescription = /** @class */ /*@__PURE__*/ (function (_super) {
    tslib_1.__extends(ColumnGroupDescription, _super);
    function ColumnGroupDescription(a) {
        var _rest = [];
        for (var _i = 1; _i < arguments.length; _i++) {
            _rest[_i - 1] = arguments[_i];
        }
        var _this = this;
        a = (a == void 0) ? 0 : a;
        switch (a) {
            case 0:
                {
                    _this = _super.call(this, 0) || this;
                    _this.t = null;
                    _this.h = null;
                    _this.r = null;
                    _this.g = null;
                    _this.p = null;
                    _this.s = null;
                    _this.o = false;
                    _this.m = 0;
                    _this.l = null;
                    _this.k = null;
                    _this.formatText = null;
                    _this.o = false;
                    _this.m = 11;
                }
                break;
            case 1:
                {
                    var c = _rest[0];
                    _this = _super.call(this, 1, c) || this;
                    _this.t = null;
                    _this.h = null;
                    _this.r = null;
                    _this.g = null;
                    _this.p = null;
                    _this.s = null;
                    _this.o = false;
                    _this.m = 0;
                    _this.l = null;
                    _this.k = null;
                    _this.formatText = null;
                    _this.o = false;
                    _this.m = 11;
                }
                break;
            case 2:
                {
                    var c = _rest[0];
                    var d = _rest[1];
                    _this = _super.call(this, 2, c, d) || this;
                    _this.t = null;
                    _this.h = null;
                    _this.r = null;
                    _this.g = null;
                    _this.p = null;
                    _this.s = null;
                    _this.o = false;
                    _this.m = 0;
                    _this.l = null;
                    _this.k = null;
                    _this.formatText = null;
                    _this.o = false;
                    _this.m = 11;
                }
                break;
        }
        return _this;
    }
    Object.defineProperty(ColumnGroupDescription.prototype, "x", {
        get: function () {
            return this.t;
        },
        set: function (a) {
            this.t = a;
            this.y();
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(ColumnGroupDescription.prototype, "j", {
        get: function () {
            return this.h;
        },
        set: function (a) {
            this.h = a;
            this.y();
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(ColumnGroupDescription.prototype, "u", {
        get: function () {
            return this.r;
        },
        set: function (a) {
            this.r = a;
            this.y();
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(ColumnGroupDescription.prototype, "i", {
        get: function () {
            return this.g;
        },
        set: function (a) {
            this.g = a;
            this.y();
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(ColumnGroupDescription.prototype, "q", {
        get: function () {
            return this.p;
        },
        set: function (a) {
            this.p = a;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(ColumnGroupDescription.prototype, "v", {
        get: function () {
            return this.s;
        },
        set: function (a) {
            this.s = a;
        },
        enumerable: true,
        configurable: true
    });
    ColumnGroupDescription.prototype.y = function () {
        if (this.x != null) {
            this.l = new BindingFormatter();
            this.l.j = this.x;
            this.l.d = this.j;
        }
        else {
            this.l = null;
        }
        if (this.u != null) {
            this.k = new BindingFormatter();
            this.k.j = this.u;
            this.k.d = this.i;
        }
        else {
            this.k = null;
        }
    };
    ColumnGroupDescription.prototype.w = function (a, b, c) {
        var _this = this;
        var d = null;
        if (this.formatText != null) {
            d = ((function () {
                var $ret = new FormatGroupTextEventArgs();
                $ret.d = _this.f;
                $ret.a = a;
                $ret.c = b;
                $ret.b = c;
                return $ret;
            })());
            this.formatText(this, d);
        }
        return d == null ? c : d.b;
    };
    ColumnGroupDescription.$t = markType(ColumnGroupDescription, 'ColumnGroupDescription', ColumnSortDescription.$);
    return ColumnGroupDescription;
}(ColumnSortDescription));
export { ColumnGroupDescription };
//# sourceMappingURL=ColumnGroupDescription.js.map
