all files / grid/renderer/ filter-menu-operator.js

97.3% Statements 36/37
84.62% Branches 11/13
85.71% Functions 6/7
97.3% Lines 36/37
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56   20× 20× 20× 20×   19× 19× 19×     19× 19× 19× 19× 19× 19× 19×           19×       19× 19× 19×     19× 15×   19×   10×        
define(["require", "exports", "@syncfusion/ej2-dropdowns", "@syncfusion/ej2-base", "@syncfusion/ej2-base", "@syncfusion/ej2-data"], function (require, exports, ej2_dropdowns_1, ej2_base_1, ej2_base_2, ej2_data_1) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    var FlMenuOptrUI = (function () {
        function FlMenuOptrUI(parent, customFltrOperators, serviceLocator, filterSettings) {
            this.parent = parent;
            this.serviceLocator = serviceLocator;
            this.filterSettings = filterSettings;
            this.customFilterOperators = customFltrOperators;
        }
        FlMenuOptrUI.prototype.renderOperatorUI = function (dlgConetntEle, target, column, dlgObj) {
            this.dialogObj = dlgObj;
            var optr = column.type + 'Operator';
            this.optrData = this.customOptr = (!ej2_base_1.isNullOrUndefined(this.parent.filterSettings.operators) &&
                !ej2_base_1.isNullOrUndefined(this.parent.filterSettings.operators[optr])) ?
                this.parent.filterSettings.operators[optr] : this.customFilterOperators[optr];
            var dropDatasource = this.customOptr;
            var selectedValue = this.dropSelectedVal(column, optr);
            var optrDiv = ej2_base_2.createElement('div', { className: 'e-flm_optrdiv' });
            dlgConetntEle.appendChild(optrDiv);
            var optrInput = ej2_base_2.createElement('input', { id: column.uid + '-floptr' });
            optrDiv.appendChild(optrInput);
            this.dropOptr = new ej2_dropdowns_1.DropDownList({
                dataSource: dropDatasource,
                fields: { text: 'text', value: 'value' },
                open: this.dropDownOpen.bind(this),
                text: selectedValue
            });
            this.dropOptr.appendTo('#' + column.uid + '-floptr');
        };
        FlMenuOptrUI.prototype.dropDownOpen = function (args) {
            args.popup.element.style.zIndex = (this.dialogObj.zIndex + 1).toString();
        };
        FlMenuOptrUI.prototype.dropSelectedVal = function (col, optr) {
            var selValue = '';
            var columns = this.parent.filterSettings.columns;
            for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {
                var column = columns_1[_i];
                if (col.field === column.field || (col.isForeignColumn() && col.foreignKeyValue === column.field)) {
                    var selectedField = new ej2_data_1.DataManager(this.optrData).executeLocal(new ej2_data_1.Query().where('value', 'equal', column.operator));
                    selValue = !ej2_base_1.isNullOrUndefined(selectedField[0]) ? selectedField[0].text : '';
                }
            }
            if (selValue === '') {
                selValue = this.optrData[0].text;
            }
            return selValue;
        };
        FlMenuOptrUI.prototype.getFlOperator = function () {
            return this.dropOptr.value;
        };
        return FlMenuOptrUI;
    }());
    exports.FlMenuOptrUI = FlMenuOptrUI;
});