/*
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 { GridColumnOptionsViewBase } from "./GridColumnOptionsViewBase";
import { FontInfo } from "igniteui-webcomponents-core";
import { GridColumnOptionsUtilities } from "./GridColumnOptionsUtilities";
import { markType, enumGetBox, runOn, delegateCombine, typeCast } from "igniteui-webcomponents-core";
import { GridColumnOptionsBase } from "./GridColumnOptionsBase";
import { StringComparer } from "igniteui-webcomponents-core";
import { GridColumnOptionsSimpleSectionBase } from "./GridColumnOptionsSimpleSectionBase";
import { ControlDisplayDensity_$type } from "igniteui-webcomponents-core";
import { DeviceUtils } from "igniteui-webcomponents-core";
import { truncate } from "igniteui-webcomponents-core";
import { stringIsNullOrWhiteSpace } from "igniteui-webcomponents-core";
import { stringFormat1 } from "igniteui-webcomponents-core";
/**
 * @hidden
 */
var GridColumnOptionsView = /** @class */ /*@__PURE__*/ (function (_super) {
    tslib_1.__extends(GridColumnOptionsView, _super);
    function GridColumnOptionsView() {
        var _this = _super !== null && _super.apply(this, arguments) || this;
        _this.u = null;
        _this.y = null;
        _this.w = null;
        _this.x = null;
        _this.p = null;
        _this.z = null;
        _this.s = null;
        _this.r = null;
        _this.v = null;
        _this.q = null;
        _this.t = null;
        return _this;
    }
    Object.defineProperty(GridColumnOptionsView.prototype, "n", {
        get: function () {
            return this.b;
        },
        enumerable: true,
        configurable: true
    });
    GridColumnOptionsView.prototype.o = function () {
        var a = this.e;
        var b = a.createElement("div");
        var c = a.createElement("header");
        b.append(c);
        var d = a.createElement("h4");
        c.append(d);
        c.setRawText(this.n.du);
        return b;
    };
    GridColumnOptionsView.prototype.ac = function () {
        if (null != this.t) {
            var a = this.n;
            var b = a.du;
            this.t.setRawText(b);
            if (null != a.cc) {
                this.t.setStyleProperty("font", a.cc.fontString);
            }
        }
    };
    GridColumnOptionsView.prototype.j = function () {
        _super.prototype.j.call(this);
        this.m();
    };
    GridColumnOptionsView.prototype.m = function () {
        _super.prototype.m.call(this);
        if (null != this.g) {
            this.g.setStyleProperty("padding", this.n.d2());
            this.g.setStyleProperty("box-sizing", "border-box");
        }
        this.ac();
        var a;
        var b;
        if (null != this.u) {
            a = this.u;
            b = this.n.cm;
            GridColumnOptionsUtilities.j(a, b, "flex");
        }
        if (null != this.y) {
            a = this.y;
            b = this.n.c0;
            GridColumnOptionsUtilities.j(a, b);
        }
        if (null != this.w) {
            a = this.w;
            b = this.n.cu;
            GridColumnOptionsUtilities.j(a, b);
        }
        if (null != this.x) {
            a = this.x;
            b = this.n.cx;
            GridColumnOptionsUtilities.j(a, b);
        }
        if (null != this.v) {
            a = this.v;
            b = this.n.cr;
            GridColumnOptionsUtilities.j(a, b);
        }
        if (null != this.q) {
            a = this.q;
            b = this.n.cl;
            GridColumnOptionsUtilities.j(a, b);
        }
        if (null != this.p) {
            a = this.p;
            b = this.n.ci;
            GridColumnOptionsUtilities.j(a, b);
        }
        if (null != this.z) {
            a = this.z;
            b = this.n.c3;
            GridColumnOptionsUtilities.j(a, b);
        }
    };
    GridColumnOptionsView.prototype.aa = function () {
        var a = this.e;
        var b = a.createElement("header");
        this.u.append(b);
        var c = a.createElement("h4");
        c.setStyleProperty("margin-top", "0");
        c.setStyleProperty("margin-bottom", "0");
        b.append(c);
        this.t = c;
        this.s.append(b);
        this.ac();
    };
    GridColumnOptionsView.prototype.ab = function (a, b, c, d, e, f, g, h, i, j) {
        this.u = a;
        this.y = b;
        this.w = c;
        this.x = d;
        this.p = e;
        this.z = f;
        this.s = g;
        this.r = h;
        this.v = i;
        this.q = j;
        this.r.setStyleProperty("display", "flex");
        this.r.setStyleProperty("flex-direction", "row");
        this.r.setStyleProperty("flex-wrap", "no-wrap");
        this.r.setStyleProperty("align-items", "center");
        this.r.setStyleProperty("justify-content", "space-between");
        this.u.setStyleProperty("display", "flex");
        this.u.setStyleProperty("flex-direction", "row");
        this.u.setStyleProperty("flex-wrap", "no-wrap");
        this.u.setStyleProperty("align-items", "center");
        this.u.setStyleProperty("justify-content", "space-between");
        this.u.setStyleProperty("margin-bottom", "5px");
        this.aa();
        this.y.setStyleProperty("margin-bottom", "8px");
        this.w.setStyleProperty("margin-bottom", "8px");
        this.x.setStyleProperty("margin-bottom", "8px");
    };
    GridColumnOptionsView.$t = markType(GridColumnOptionsView, 'GridColumnOptionsView', GridColumnOptionsViewBase.$);
    return GridColumnOptionsView;
}(GridColumnOptionsViewBase));
export { GridColumnOptionsView };
/**
 * @hidden
 */
var GridColumnOptions = /** @class */ /*@__PURE__*/ (function (_super) {
    tslib_1.__extends(GridColumnOptions, _super);
    function GridColumnOptions() {
        var _this = _super.call(this) || this;
        _this.by = null;
        _this.bv = null;
        _this.bx = null;
        _this.bu = null;
        _this.bt = null;
        _this.bq = null;
        _this.bz = null;
        _this.ce = null;
        _this.cb = null;
        _this.ca = null;
        _this.c6 = truncate(DeviceUtils.g(8));
        _this.c8 = truncate(DeviceUtils.g(4));
        _this.c7 = truncate(DeviceUtils.g(8));
        _this.c5 = truncate(DeviceUtils.g(8));
        _this.cn = true;
        _this.cy = true;
        _this.cs = true;
        _this.cv = true;
        _this.cp = true;
        _this.cj = true;
        _this.cg = true;
        _this.c1 = true;
        _this.e0 = null;
        _this.eu = null;
        _this.ex = null;
        _this.d6 = null;
        _this.d9 = null;
        _this.ed = null;
        _this.ek = null;
        _this.en = null;
        _this.er = null;
        _this.dk = null;
        _this.dn = null;
        _this.dr = null;
        _this.b3 = 0;
        _this.b1 = 0;
        _this.b2 = 0;
        _this.b0 = 0;
        _this.dx = null;
        _this.filterApplyButtonClick = null;
        _this.filterCancelButtonClick = null;
        return _this;
    }
    GridColumnOptions.prototype.f = function () {
        return new GridColumnOptionsView();
    };
    GridColumnOptions.prototype.a5 = function () {
        _super.prototype.a5.call(this);
        var a = this.column;
        if (null != this.by) {
            this.by.column = a;
        }
        if (null != this.bv) {
            this.bv.column = a;
        }
        if (null != this.bx) {
            this.bx.column = a;
        }
        if (null != this.bu) {
            this.bu.column = a;
        }
        if (null != this.bt) {
            this.bt.column = a;
        }
        if (null != this.bq) {
            this.bq.column = a;
        }
        if (null != this.bz) {
            this.bz.column = a;
        }
        this.ff();
    };
    GridColumnOptions.prototype.a9 = function (a, b) {
        _super.prototype.a9.call(this, a, b);
        switch (b.propertyName) {
            case "HeaderClickAction":
            case "ColumnMovingMode":
                this.ff();
                break;
        }
    };
    GridColumnOptions.prototype.bc = function (a, b, c) {
        _super.prototype.bc.call(this, a, b, c);
        switch (a) {
            case "HeaderVisible":
            case "SortOptionsVisible":
            case "MoveOptionsVisible":
            case "PinOptionsVisible":
            case "HideOptionsVisible":
            case "FilterOptionsVisible":
            case "PaddingTop":
            case "PaddingRight":
            case "PaddingBottom":
            case "PaddingLeft":
                this.ff();
                break;
            case "ActualLabelTextStyle":
            case "ActualBaseTheme":
            case "ActualButtonDensity":
            case "ActualButtonTextStyle":
            case "ActualDensity":
            case "ActualFilterListDensity":
            case "ActualSummaryListDensity":
            case "BackgroundColor":
            case "TextColor":
                this.fd();
                break;
            case "ColumnNameTextStyle":
                this.fe();
                break;
            case "ActualColumnNameTextStyle":
                this.ff();
                break;
            case "FilterListDensity":
                this.b4 = this.filterListDensity == 0 ? this.q : this.filterListDensity;
                break;
            case "SummaryListDensity":
                this.b5 = this.summaryListDensity == 0 ? this.q : this.summaryListDensity;
                break;
        }
    };
    GridColumnOptions.prototype.ff = function () {
        this.bw.m();
    };
    Object.defineProperty(GridColumnOptions.prototype, "du", {
        get: function () {
            var a = this.column;
            return (null != a) ? a.hl : "(No column selected)";
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "cf", {
        get: function () {
            if (null == this.ce) {
                this.ce = new FontInfo();
                this.ce.n = "'Segoe UI', Verdana";
                this.ce.d = 16;
            }
            return this.ce;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "cm", {
        get: function () {
            return this.co;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "c0", {
        get: function () {
            return this.cz && this.by.bq();
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "cu", {
        get: function () {
            return this.ct && this.bv.bq();
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "cx", {
        get: function () {
            return this.cw && this.bx.bq();
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "cr", {
        get: function () {
            return this.cq && this.bu.bq();
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "cl", {
        get: function () {
            return this.ck && this.bt.bq();
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "ci", {
        get: function () {
            return this.ch && this.bq.bq();
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "c3", {
        get: function () {
            return this.c2 && this.bz.bq();
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "bw", {
        get: function () {
            return this.e;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "cd", {
        get: function () {
            return this.cb;
        },
        set: function (a) {
            var b = this.cb;
            this.cb = a;
            if (b != this.cb) {
                this.ba("ColumnNameTextStyle", b, this.cb);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "cc", {
        get: function () {
            return this.ca;
        },
        set: function (a) {
            var b = this.ca;
            this.ca = a;
            if (this.ca != b) {
                this.ba("ActualColumnNameTextStyle", b, this.ca);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "de", {
        get: function () {
            return this.c6;
        },
        set: function (a) {
            var b = this.c6;
            this.c6 = a;
            if (this.c6 != b) {
                this.ba("PaddingLeft", b, this.c6);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "dg", {
        get: function () {
            return this.c8;
        },
        set: function (a) {
            var b = this.c8;
            this.c8 = a;
            if (this.c8 != b) {
                this.ba("PaddingTop", b, this.c8);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "df", {
        get: function () {
            return this.c7;
        },
        set: function (a) {
            var b = this.c7;
            this.c7 = a;
            if (this.c7 != b) {
                this.ba("PaddingRight", b, this.c7);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "dd", {
        get: function () {
            return this.c5;
        },
        set: function (a) {
            var b = this.c5;
            this.c5 = a;
            if (this.c5 != b) {
                this.ba("PaddingBottom", b, this.c5);
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "co", {
        get: function () {
            return this.cn;
        },
        set: function (a) {
            if (a == this.cn) {
                return;
            }
            var b = this.cn;
            this.cn = a;
            this.ba("HeaderVisible", b, this.cn);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "cz", {
        get: function () {
            return this.cy;
        },
        set: function (a) {
            if (a == this.cy) {
                return;
            }
            var b = this.cy;
            this.cy = a;
            this.ba("SortOptionsVisible", b, this.cy);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "ct", {
        get: function () {
            return this.cs;
        },
        set: function (a) {
            if (a == this.cs) {
                return;
            }
            var b = this.cs;
            this.cs = a;
            this.ba("MoveOptionsVisible", b, this.cs);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "cw", {
        get: function () {
            return this.cv;
        },
        set: function (a) {
            if (a == this.cv) {
                return;
            }
            var b = this.cv;
            this.cv = a;
            this.ba("PinOptionsVisible", b, this.cv);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "cq", {
        get: function () {
            return this.cp;
        },
        set: function (a) {
            if (a == this.cp) {
                return;
            }
            var b = this.cp;
            this.cp = a;
            this.ba("HideOptionsVisible", b, this.cp);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "ck", {
        get: function () {
            return this.cj;
        },
        set: function (a) {
            if (a == this.cj) {
                return;
            }
            var b = this.cj;
            this.cj = a;
            this.ba("GroupOptionsVisible", b, this.cj);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "ch", {
        get: function () {
            return this.cg;
        },
        set: function (a) {
            if (a == this.cg) {
                return;
            }
            var b = this.cg;
            this.cg = a;
            this.ba("FilterOptionsVisible", b, this.cg);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "c2", {
        get: function () {
            return this.c1;
        },
        set: function (a) {
            if (a == this.c1) {
                return;
            }
            var b = this.c1;
            this.c1 = a;
            this.ba("SummaryOptionsVisible", b, this.c1);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "e1", {
        get: function () {
            return this.e0 != null ? this.e0 : !stringIsNullOrWhiteSpace(this.ai.b1("Column_Sort")) ? this.ai.b1("Column_Sort") : "Sort";
        },
        set: function (a) {
            var b = this.e1;
            if (0 == StringComparer.b.compare(a, b)) {
                return;
            }
            this.e0 = a;
            if (null != this.by) {
                this.by.bw = a;
            }
            this.ba("SortHeaderCaption", b, this.e0);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "ev", {
        get: function () {
            return this.eu != null ? this.eu : !stringIsNullOrWhiteSpace(this.ai.b1("Column_Sort_Ascending")) ? this.ai.b1("Column_Sort_Ascending") : "Asc";
        },
        set: function (a) {
            var b = this.ev;
            if (0 == StringComparer.b.compare(a, b)) {
                return;
            }
            this.eu = a;
            if (null != this.by) {
                this.by.b3 = a;
            }
            this.ba("SortAscendingCaption", b, this.eu);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "ey", {
        get: function () {
            return this.ex != null ? this.ex : !stringIsNullOrWhiteSpace(this.ai.b1("Column_Sort_Descending")) ? this.ai.b1("Column_Sort_Descending") : "Desc";
        },
        set: function (a) {
            var b = this.ey;
            if (0 == StringComparer.b.compare(a, b)) {
                return;
            }
            this.ex = a;
            if (null != this.by) {
                this.by.b7 = a;
            }
            this.ba("SortDescendingCaption", b, this.ex);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "d7", {
        get: function () {
            return this.d6 != null ? this.d6 : !stringIsNullOrWhiteSpace(this.ai.b1("Column_Move")) ? this.ai.b1("Column_Move") : "Move";
        },
        set: function (a) {
            var b = this.d7;
            if (0 == StringComparer.b.compare(a, b)) {
                return;
            }
            this.d6 = a;
            if (null != this.bv) {
                this.bv.bw = a;
            }
            this.ba("MoveHeaderCaption", b, this.d6);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "ea", {
        get: function () {
            return this.d9 != null ? this.d9 : !stringIsNullOrWhiteSpace(this.ai.b1("Column_Move_Left")) ? this.ai.b1("Column_Move_Left") : "Left";
        },
        set: function (a) {
            var b = this.ea;
            if (0 == StringComparer.b.compare(a, b)) {
                return;
            }
            this.d9 = a;
            if (null != this.bv) {
                this.bv.b5 = a;
            }
            this.ba("MoveLeftCaption", b, this.d9);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "ee", {
        get: function () {
            return this.ed != null ? this.ed : !stringIsNullOrWhiteSpace(this.ai.b1("Column_Move_Right")) ? this.ai.b1("Column_Move_Right") : "Right";
        },
        set: function (a) {
            var b = this.ee;
            if (0 == StringComparer.b.compare(a, b)) {
                return;
            }
            this.ed = a;
            if (null != this.bv) {
                this.bv.b9 = a;
            }
            this.ba("MoveRightCaption", b, this.ed);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "el", {
        get: function () {
            return this.ek != null ? this.ek : !stringIsNullOrWhiteSpace(this.ai.b1("Column_Pin")) ? this.ai.b1("Column_Pin") : "Pin";
        },
        set: function (a) {
            var b = this.el;
            if (0 == StringComparer.b.compare(a, b)) {
                return;
            }
            this.ek = a;
            if (null != this.bx) {
                this.bx.bw = a;
            }
            this.ba("PinHeaderCaption", b, this.ek);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "eo", {
        get: function () {
            return this.en != null ? this.en : !stringIsNullOrWhiteSpace(this.ai.b1("Column_Pin_Left")) ? this.ai.b1("Column_Pin_Left") : "Left";
        },
        set: function (a) {
            var b = this.eo;
            if (0 == StringComparer.b.compare(a, b)) {
                return;
            }
            this.en = a;
            if (null != this.bx) {
                this.bx.b4 = a;
            }
            this.ba("PinLeftCaption", b, this.en);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "es", {
        get: function () {
            return this.er != null ? this.er : !stringIsNullOrWhiteSpace(this.ai.b1("Column_Pin_Right")) ? this.ai.b1("Column_Pin_Right") : "Right";
        },
        set: function (a) {
            var b = this.es;
            if (0 == StringComparer.b.compare(a, b)) {
                return;
            }
            this.er = a;
            if (null != this.bx) {
                this.bx.b8 = a;
            }
            this.ba("PinRightCaption", b, this.er);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "dl", {
        get: function () {
            return this.dk != null ? this.dk : !stringIsNullOrWhiteSpace(this.ai.b1("Apply")) ? this.ai.b1("Apply") : "Apply";
        },
        set: function (a) {
            var b = this.dl;
            if (0 == StringComparer.b.compare(a, b)) {
                return;
            }
            this.dk = a;
            if (null != this.bq) {
                this.bq.b7 = a;
            }
            this.ba("ApplyFiltersButtonCaption", b, this.dk);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "dp", {
        get: function () {
            return this.dn != null ? this.dn : !stringIsNullOrWhiteSpace(this.ai.b1("Cancel")) ? this.ai.b1("Cancel") : "Cancel";
        },
        set: function (a) {
            var b = this.dp;
            if (0 == StringComparer.b.compare(a, b)) {
                return;
            }
            this.dn = a;
            if (null != this.bq) {
                this.bq.cb = a;
            }
            this.ba("CancelFiltersButtonCaption", b, this.dn);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "ds", {
        get: function () {
            return this.dr != null ? this.dr : !stringIsNullOrWhiteSpace(this.ai.b1("Clear_Column_Filter")) ? this.ai.b1("Clear_Column_Filter") : "Clear column filters";
        },
        set: function (a) {
            var b = this.ds;
            if (0 == StringComparer.b.compare(a, b)) {
                return;
            }
            this.dr = a;
            if (null != this.bq) {
                this.bq.cf = a;
            }
            this.ba("ClearColumnFiltersCaption", b, this.dr);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "summaryListDensity", {
        get: function () {
            return this.b3;
        },
        set: function (a) {
            var b = this.b3;
            this.b3 = a;
            if (b != this.b3) {
                this.ba("SummaryListDensity", enumGetBox(ControlDisplayDensity_$type, b), enumGetBox(ControlDisplayDensity_$type, this.b3));
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "b5", {
        get: function () {
            return this.b1;
        },
        set: function (a) {
            var b = this.b1;
            this.b1 = a;
            if (b != this.b1) {
                this.ba("ActualSummaryListDensity", enumGetBox(ControlDisplayDensity_$type, b), enumGetBox(ControlDisplayDensity_$type, this.b1));
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "filterListDensity", {
        get: function () {
            return this.b2;
        },
        set: function (a) {
            var b = this.b2;
            this.b2 = a;
            if (b != this.b2) {
                this.ba("FilterListDensity", enumGetBox(ControlDisplayDensity_$type, b), enumGetBox(ControlDisplayDensity_$type, a));
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "b4", {
        get: function () {
            return this.b0;
        },
        set: function (a) {
            var b = this.b0;
            this.b0 = a;
            if (b != this.b0) {
                this.ba("ActualFilterListDensity", enumGetBox(ControlDisplayDensity_$type, b), enumGetBox(ControlDisplayDensity_$type, a));
            }
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(GridColumnOptions.prototype, "dy", {
        get: function () {
            return this.dx != null ? this.dx : !stringIsNullOrWhiteSpace(this.ai.b1("Search")) ? this.ai.b1("Search") : "Search";
        },
        set: function (a) {
            if (0 == StringComparer.b.compare(a, this.dx)) {
                return;
            }
            var b = this.dx;
            this.dx = a;
            if (null != this.bq) {
                this.bq.ck = a;
            }
            this.ba("FilterListPlaceholderText", b, this.dx);
        },
        enumerable: true,
        configurable: true
    });
    GridColumnOptions.prototype.notifySizeChanged = function () {
        this.e.j();
    };
    GridColumnOptions.prototype.provideContent = function (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q) {
        this.bw.ab(a, b, c, d, e, f, g, h, i, j);
        this.by = k;
        this.by.bw = this.e1;
        this.by.b3 = this.ev;
        this.by.b7 = this.ey;
        this.bv = l;
        this.bv.bw = this.d7;
        this.bv.b5 = this.ea;
        this.bv.b9 = this.ee;
        this.bx = m;
        this.bx.bw = this.el;
        this.bx.b4 = this.eo;
        this.bx.b8 = this.es;
        this.bu = n;
        this.bu.bu = false;
        this.bt = o;
        this.bt.bu = false;
        this.bq = p;
        this.bq.b7 = this.dl;
        this.bq.cb = this.dp;
        this.bq.cf = this.ds;
        this.bq.ck = this.dy;
        var r = this.by;
        r.propertyChanged = delegateCombine(r.propertyChanged, runOn(this, this.e8));
        var s = this.bv;
        s.propertyChanged = delegateCombine(s.propertyChanged, runOn(this, this.e8));
        var t = this.bx;
        t.propertyChanged = delegateCombine(t.propertyChanged, runOn(this, this.e8));
        var u = this.bu;
        u.propertyChanged = delegateCombine(u.propertyChanged, runOn(this, this.e8));
        var v = this.bt;
        v.propertyChanged = delegateCombine(v.propertyChanged, runOn(this, this.e8));
        var w = this.bq;
        w.propertyChanged = delegateCombine(w.propertyChanged, runOn(this, this.e8));
        var x = this.bq;
        x.applyButtonClick = delegateCombine(x.applyButtonClick, runOn(this, this.e6));
        var y = this.bq;
        y.cancelButtonClick = delegateCombine(y.cancelButtonClick, runOn(this, this.e7));
        this.bz = q;
        this.fe();
        this.bj();
        this.bg();
        this.fd();
    };
    GridColumnOptions.prototype.d2 = function () {
        return stringFormat1("{0}px {1}px {2}px {3}px", this.dg.toString(), this.df.toString(), this.dd.toString(), this.de.toString());
    };
    GridColumnOptions.prototype.fe = function () {
        this.cc = (null == this.cd) ? this.cf : this.cd;
    };
    GridColumnOptions.prototype.fd = function () {
        var a = [this.by, this.bv, this.bx, this.bu, this.bt, this.bq, this.bz];
        for (var c = 0; c < a.length; c++) {
            var b = a[c];
            if (null != b) {
                b.bm = this.bm;
                b.bp = this.bp;
                b.density = this.q;
                b.buttonDensity = this.p;
                b.j = this.i;
            }
            var d = typeCast(GridColumnOptionsSimpleSectionBase.$, b);
            if (null != d) {
                d.ag = this.aa;
                d.ab = this.z;
            }
        }
        if (null != this.bq) {
            this.bq.b1 = this.b4;
        }
        if (null != this.bz) {
            this.bz.b0 = this.b5;
        }
    };
    GridColumnOptions.prototype.fa = function (a) {
        var b = [this.by, this.bv, this.bx, this.bu, this.bt, this.bq, this.bz];
        for (var d = 0; d < b.length; d++) {
            var c = b[d];
            c.br();
        }
        if (null != this.filterApplyButtonClick) {
            this.filterApplyButtonClick(this, a);
        }
    };
    GridColumnOptions.prototype.fb = function (a) {
        var b = [this.by, this.bv, this.bx, this.bu, this.bt, this.bq, this.bz];
        for (var d = 0; d < b.length; d++) {
            var c = b[d];
            c.bs();
        }
        if (null != this.filterCancelButtonClick) {
            this.filterCancelButtonClick(this, a);
        }
    };
    GridColumnOptions.prototype.e6 = function (a, b) {
        this.fa(b);
    };
    GridColumnOptions.prototype.e7 = function (a, b) {
        this.fb(b);
    };
    GridColumnOptions.prototype.e8 = function (a, b) {
        switch (b.propertyName) {
        }
    };
    GridColumnOptions.$t = markType(GridColumnOptions, 'GridColumnOptions', GridColumnOptionsBase.$);
    return GridColumnOptions;
}(GridColumnOptionsBase));
export { GridColumnOptions };
//# sourceMappingURL=GridColumnOptionsView_combined.js.map
