@grapecity/wijmo.grid.filter 5.20242.30 → 5.20251.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * Wijmo Library 5.20242.30
3
+ * Wijmo Library 5.20251.34
4
4
  * https://developer.mescius.com/wijmo
5
5
  *
6
6
  * Copyright(c) MESCIUS inc. All rights reserved.
@@ -11,4 +11,4 @@
11
11
  *
12
12
  */
13
13
 
14
- "use strict";var __importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);t.default=e;return t};Object.defineProperty(exports,"__esModule",{value:!0});const wijmo_grid_1=require("@grapecity/wijmo.grid"),wijmo_1=require("@grapecity/wijmo"),wijmo_input_1=require("@grapecity/wijmo.input"),input=__importStar(require("@grapecity/wijmo.input")),selfModule=__importStar(require("@grapecity/wijmo.grid.filter"));exports.ColumnFilterEditorClsNames={filterType:"wj-filtertype",hostElement:"wj-columnfiltereditor",sortButtons:"wj-sort-buttons"};exports.ConditionFilterEditorClsNames={hostElement:"wj-conditionfilter-editor"};exports.FlexGridFilterClsNames={elemFilter:"wj-elem-filter",filter:"wj-filter",filterOff:"wj-filter-off",filterOn:"wj-filter-on",hostElement:"wj-columnfiltereditor"};exports.ValueFilterEditorClsNames={hostElement:"wj-valuefilter-editor",customModalText:"wj-custom-modal-text",modalFooter:"wj-valuefilter-modal-footer"};var FilterType,Operator,ValueFilterSearchKind;!function(e){e[e.None=0]="None";e[e.Condition=1]="Condition";e[e.Value=2]="Value";e[e.Both=3]="Both"}(FilterType=exports.FilterType||(exports.FilterType={}));class FlexGridFilter{constructor(e,t){this._showIcons=!0;this._showSort=!0;this._defFilterType=FilterType.Both;this._xValueSearch=!0;this._includeUpdatedRowsInFilter=!1;this._showIncludeSelection=!1;this.filterApplied=new wijmo_1.Event;this.editingFilter=new wijmo_1.Event;this.filterChanging=new wijmo_1.Event;this.filterChanged=new wijmo_1.Event;this.exclusiveValueSearchChanged=new wijmo_1.Event;this._showIncludeSelectionChanged=new wijmo_1.Event;this._filters=[];this._g=wijmo_1.asType(e,wijmo_grid_1.FlexGrid,!1);this._g.formatItem.addHandler(this._formatItem.bind(this));this._g.itemsSourceChanged.addHandler(this.clear.bind(this));let i=this._g.hostElement;e.addEventListener(i,"mousedown",this._mousedown.bind(this),!0);e.addEventListener(i,"click",this._click.bind(this),!0);e.addEventListener(i,"keydown",this._keydown.bind(this),!0);this._g.invalidate();wijmo_1.copy(this,t);this._init()}_init(){const e=this.grid,_excludeRowFromFilter=e=>{let t=this.grid;const i=this.excludedRowsSet;if(null!=t&&t.rows.length>e)if(t.itemsSource)if(t.rows[e]instanceof wijmo_grid_1._NewRowTemplate){let l=t.editableCollectionView.currentAddItem||t.rows[e].dataItem;l&&i.add(l)}else t.rows[e].dataItem&&i.add(t.rows[e].dataItem);else t.rows[e]&&i.add(t.rows[e])};e.rowChanged&&e.rowChanged.addHandler((e,t)=>{t.added&&_excludeRowFromFilter(t.index)});e.rowEditEnding.addHandler((e,t)=>{_excludeRowFromFilter(t.row)});e.cellEditEnded.addHandler((e,t)=>{_excludeRowFromFilter(t.row)})}get excludedRowsSet(){let e=this.grid;e.selectedSheet&&(e=e.selectedSheet);e._newAddedRowsSet||(e._newAddedRowsSet=new WeakSet);return e._newAddedRowsSet}set excludedRowsSet(e){let t=this.grid;t.selectedSheet&&(t=t.selectedSheet);t._newAddedRowsSet=e}get grid(){return this._g}get filterColumns(){return this._filterColumns}set filterColumns(e){this._filterColumns=wijmo_1.asArray(e);this.clear()}get showFilterIcons(){return this._showIcons}set showFilterIcons(e){if(e!=this.showFilterIcons){this._showIcons=wijmo_1.asBoolean(e);this._g&&this._g.invalidate()}}get showSortButtons(){return this._showSort}set showSortButtons(e){this._showSort=wijmo_1.asBoolean(e)}get reApplyFilterOnUpdate(){return this._includeUpdatedRowsInFilter}set reApplyFilterOnUpdate(e){e!==this._includeUpdatedRowsInFilter&&(this._includeUpdatedRowsInFilter=wijmo_1.asBoolean(e))}get showIncludeSelection(){return this._showIncludeSelection}set showIncludeSelection(e){if(e!=this._showIncludeSelection){this._showIncludeSelection=wijmo_1.asBoolean(e,!1);this._onShowIncludeSelectionChanged()}}getColumnFilter(e,t=!0){if(e=this._asColumn(e)){for(let t=0;t<this._filters.length;t++)if(this._filters[t].column==e)return this._filters[t];if(t&&e.binding){let t=new ColumnFilter(this,e);this._filters.push(t);return t}}return null}get defaultFilterType(){return this._defFilterType}set defaultFilterType(e){if((e=wijmo_1.asEnum(e,FilterType,!1))!=this.defaultFilterType){this._defFilterType=e;this._g.invalidate();this.clear()}}get exclusiveValueSearch(){return this._xValueSearch}set exclusiveValueSearch(e){if((e=wijmo_1.asBoolean(e))!==this._xValueSearch){this._xValueSearch=e;this.onExclusiveValueSearchChanged()}}get filterDefinition(){let e={defaultFilterType:this.defaultFilterType,filters:[]};this._filters.forEach(t=>{let i=t.conditionFilter,l=t.valueFilter,s=l.uniqueValues&&l.uniqueValues.length;if(t&&t.column&&t.column.binding&&(t.isActive||s||t.filterType!=this.defaultFilterType)){let r={binding:t.column.binding};if(i.isActive){let e=i.condition1,l=i.condition2;r={binding:t.column.binding,type:"condition",condition1:{operator:e.operator,value:e.value},and:i.and,condition2:{operator:l.operator,value:l.value}}}else(l.isActive||s)&&(r={binding:t.column.binding,type:"value",uniqueValues:l.uniqueValues,sortValues:l.sortValues,maxValues:l.maxValues,exclusiveValueSearch:l.exclusiveValueSearch,showValues:l.showValues});t.filterType!=this.defaultFilterType&&(r.filterType=t.filterType);e.filters.push(r)}});return JSON.stringify(e)}set filterDefinition(e){e=wijmo_1.asString(e);this.clear();if(e){let t=JSON.parse(e);this.defaultFilterType=t.defaultFilterType;for(let e=0;e<t.filters.length;e++){let i=t.filters[e],l=this._asColumn(i.binding);l||(l=new wijmo_grid_1.Column({binding:i.binding}));let s=this.getColumnFilter(l,!0);if(s){null!=i.filterType&&(s.filterType=wijmo_1.asEnum(i.filterType,FilterType));switch(i.type){case"condition":let e=s.conditionFilter;e.condition1.value=l.dataType==wijmo_1.DataType.Date?wijmo_1.changeType(i.condition1.value,l.dataType,null):i.condition1.value;e.condition1.operator=i.condition1.operator;e.and=i.and;e.condition2.value=l.dataType==wijmo_1.DataType.Date?wijmo_1.changeType(i.condition2.value,l.dataType,null):i.condition2.value;e.condition2.operator=i.condition2.operator;break;case"value":let t=s.valueFilter;t.uniqueValues=i.uniqueValues;["sortValues","maxValues","exclusiveValueSearch"].forEach(e=>{null!=i[e]&&(t[e]=i[e])});t.showValues=i.showValues}}}}this.apply()}get activeEditor(){return wijmo_1.Control.getControl(this._divEdt)}editColumnFilter(e,t,i){let l=this._g;this.closeEditor();e=this._asColumn(e);let s=new wijmo_grid_1.CellRangeEventArgs(l.cells,new wijmo_grid_1.CellRange(-1,e.index));if(!this.onEditingFilter(s))return;let r=wijmo_1.createElement(`<div class="${wijmo_input_1.DropDownClsNames.dropDownPanel}"></div>`),a=this.getColumnFilter(e),n=new ColumnFilterEditor(r,a,this.showSortButtons);this._divEdt=r;this._edtCol=e;l.rightToLeft&&(r.dir="rtl");if(!this.onFilterChanging(s)){this._divEdt=this._edtCol=null;return}s.cancel=!0;n.filterChanged.addHandler(()=>{s.cancel=!1;setTimeout(()=>{if(!s.cancel){this.excludedRowsSet=null;this.apply()}},n._edtVal&&n._edtVal._isFiltering?wijmo_1.Control._SEARCH_DELAY+200:0)});n.buttonClicked.addHandler(()=>{this.closeEditor();l.focus();this.onFilterChanged(s)});n.lostFocus.addHandler(()=>{setTimeout(()=>{let e=wijmo_1.Control.getControl(this._divEdt);e&&!e.containsFocus()&&this.closeEditor()},10)});let o=t?t.col:e.index,d=l.columns[o];t||d&&d.binding==e.binding||(o=l.selection.leftCol);l._edtHdl._commitRowEdits();l.scrollIntoView(-1,o,!0);let h=l.columnHeaders,u=t&&t.panel&&h&&t.panel._uid==h._uid?t.row:h.rows.length-1,c=o,_=i||h.getCellElement(u,c),p=_?null:h.getCellBoundingRect(u,c);_?wijmo_1.showPopup(r,_,!1,!1,!1):wijmo_1.showPopup(r,p);this._setAriaExpanded(_,!0);this._setAriaExpanded(l.cells.getCellElement(-1,c),!0);let m=n.hostElement.querySelectorAll("input");for(let e=0;e<m.length;e++){let t=m[e];if(t.offsetHeight>0&&t.tabIndex>-1&&!t.disabled){t.focus();break}}n.containsFocus()||n.focus()}_setAriaExpanded(e,t){if(e){var i=e.querySelector("."+FlexGridFilter._WJC_FILTER);wijmo_1.setAttribute(i,"aria-expanded",t)}}closeEditor(){let e=this._g,t=wijmo_1.Control.getControl(this._divEdt),i=this._edtCol;t&&wijmo_1.hidePopup(t.hostElement,()=>{t.dispose()});if(i){let t=e.columnHeaders,l=t.rows.length?t.getCellElement(t.rows.length-1,i.index):null;this._setAriaExpanded(l,!1);l=e.cells.getCellElement(-1,i.index);this._setAriaExpanded(l,!1)}this._divEdt=null;this._edtCol=null}apply(){let e=this._g.collectionView;if(e){let t=this._g.editableCollectionView;if(t){t.commitEdit();t.commitNew()}e.filter=this._filter.bind(this)}let t=e?e.updateFilterDefinition:null;wijmo_1.isFunction(t)&&t.call(e,this);this.onFilterApplied()}clear(){if(this._filters.length){this._filters=[];this.excludedRowsSet=null;this.apply()}}onFilterApplied(e){this.filterApplied.raise(this,e)}onEditingFilter(e){this.editingFilter.raise(this,e);return!e.cancel}onFilterChanging(e){this.filterChanging.raise(this,e);return!e.cancel}onFilterChanged(e){this.filterChanged.raise(this,e)}onExclusiveValueSearchChanged(e){this.exclusiveValueSearchChanged.raise(this,e)}_onShowIncludeSelectionChanged(e){this._showIncludeSelectionChanged.raise(this,e)}_asColumn(e){return wijmo_1.isString(e)?this._g.getColumn(e,!0):wijmo_1.isNumber(e)?this._g.columns[e]:wijmo_1.asType(e,wijmo_grid_1.Column,!1)}_filter(e){const t=this.excludedRowsSet;if(!this.reApplyFilterOnUpdate&&t.has(e))return!0;let i=this._filters;for(let t=0;t<i.length;t++){let l=i[t];if(l.column!=FlexGridFilter._skipColumn&&!l.apply(e))return!1}return!0}_formatItem(e,t){if(t.panel==e.columnHeaders){let e=this._g,i=e.getMergedRange(t.panel,t.row,t.col)||new wijmo_grid_1.CellRange(t.row,t.col),l=e.columns[i.col],s=e._getBindingColumn(t.panel,t.row,l),r=t.cell;if(i.row2==t.panel.rows.length-1||l!=s){let i=this.getColumnFilter(s,this.defaultFilterType!=FilterType.None),a=this._filterColumns;a&&a.length&&a.indexOf(s.binding)<0&&a.indexOf(s.name)<0&&(i=null);if(i){wijmo_1.toggleClass(r,exports.FlexGridFilterClsNames.filterOn,i.isActive);wijmo_1.toggleClass(r,exports.FlexGridFilterClsNames.filterOff,!i.isActive)}else{wijmo_1.removeClass(r,exports.FlexGridFilterClsNames.filterOn);wijmo_1.removeClass(r,exports.FlexGridFilterClsNames.filterOff)}if(i&&i.filterType!=FilterType.None){this._showIcons&&this._addFilterButton(s,i,r);0==t.row&&(r=e.cells.getCellElement(-1,t.col))&&this._addFilterButton(l,i,r)}}}}_addFilterButton(e,t,i){let l=FlexGridFilter._WJC_FILTER,s=wijmo_1.createElement(`<button class="${wijmo_1.InputFormElementsClsNames.btn} ${wijmo_1.GlyphClsNames.btnGlyph} ${wijmo_1.UtilitesClsNames.right} `+l+'" type="button" tabindex="-1">'+`<span class=${wijmo_1.GlyphClsNames.filter}></span>`+"</button>");wijmo_1.setAriaLabel(s,wijmo_1.culture.FlexGridFilter.ariaLabels.edit+" "+e.header);wijmo_1.setAttribute(s,"aria-haspopup","dialog");wijmo_1.setAttribute(s,"aria-expanded",!1);wijmo_1.setAttribute(s,"aria-describedby",e.describedById);wijmo_1.setAttribute(s,"aria-pressed",t.isActive);if(!i.querySelector("."+l)){1==i.children.length&&(i=i.querySelector("div")||i);i.insertBefore(s,i.firstChild)}}_mousedown(e){this._edtColPrev=this._edtCol}_click(e){if(this._toggleEditor(e)){e.stopPropagation();e.preventDefault()}}_toggleEditor(e){if(!e.defaultPrevented&&0==e.button)if(wijmo_1.closestClass(e.target,FlexGridFilter._WJC_FILTER)){let t=this._g,i=t.hitTest(e.target);i.panel||(i=t.hitTest(e));if(i.panel&&t.columnHeaders&&t.cells&&(i.panel._uid==t.columnHeaders._uid||i.panel._uid==t.cells._uid&&-1==i.row)){let e=t.getMergedRange(i.panel,i.row,i.col)||new wijmo_grid_1.CellRange(i.row,i.col),l=t.columns[e.col],s=t._getBindingColumn(i.panel,i.row,l);if(this._divEdt&&this._edtCol==s){this.closeEditor();t.focus()}else s!=this._edtColPrev&&setTimeout(()=>{this.editColumnFilter(s,i)},this._divEdt?100:0);return!0}}else this.closeEditor();return!1}_keydown(e){if(!e.defaultPrevented&&!e.ctrlKey&&e.altKey&&(e.keyCode==wijmo_1.Key.Down||e.keyCode==wijmo_1.Key.Up)){let t=this.grid,i=t.selection,l=i.col>-1?t.columns[i.col]:null,s=l?t._getBindingColumn(t.cells,i.row,l):null,r=s&&s.dataMap&&s.dataMapEditor==wijmo_grid_1.DataMapEditor.DropDownList;if(this.filterColumns&&this.filterColumns.length>0&&!this.filterColumns.includes(s._binding._path)){e.preventDefault();return!1}if(t.activePanelType!=wijmo_grid_1.CellType.Cell&&t.activePanelType!=wijmo_grid_1.CellType.ColumnHeader){e.preventDefault();return!1}s&&s.editor instanceof wijmo_input_1.DropDown&&(r=!0);if(s&&!r){let t=this.getColumnFilter(s,!1);if(t&&t.filterType!=FilterType.None){this.editColumnFilter(s);e.preventDefault();e.stopPropagation()}}}}}FlexGridFilter._WJC_FILTER=exports.FlexGridFilterClsNames.elemFilter;exports.FlexGridFilter=FlexGridFilter;exports.empty={};class ConditionFilter{constructor(e){this._c1=new FilterCondition(this);this._c2=new FilterCondition(this);this._and=!0;this._col=e}get condition1(){return this._c1}get condition2(){return this._c2}get and(){return this._and}set and(e){this._and=wijmo_1.asBoolean(e)}get dataMap(){return this._map}set dataMap(e){this._map=wijmo_1.asType(e,wijmo_grid_1.DataMap,!0)}get column(){return this._col}get isActive(){return this._c1.isActive||this._c2.isActive}apply(e){let t=this._col,i=this._c1,l=this._c2,s=!1,r=!1;if(!t||!t._binding||!this.isActive)return!0;e=t._binding.getValue(e);let a=this.dataMap||t.dataMap;if(a)e=a.getDisplayValue(e);else if(wijmo_1.isDate(e)){s=!this._hasTimePart();r=!this._hasDatePart();let t=FilterCondition._refDateTime;s?e=wijmo_1.DateTime.fromDateTime(e,t):r&&(e=wijmo_1.DateTime.fromDateTime(t,e))}else if(wijmo_1.isNumber(e)){let i=wijmo_1.Globalize,l=t.format,s=i.formatNumber(e,l);e=i.parseFloat(s,l)}let n=i.apply(e,s,r),o=l.apply(e,s,r);return i.isActive&&l.isActive?this._and?n&&o:n||o:i.isActive?n:!l.isActive||o}clear(){this._c1.clear();this._c2.clear();this.and=!0}_hasDatePart(){let e=this._col.format;if(!e)return!0;e=wijmo_1.culture.Globalize.calendar.patterns[e]||e;return/[yMd]+/.test(e)}_hasTimePart(){let e=this._col.format;if(!e)return!1;e=wijmo_1.culture.Globalize.calendar.patterns[e]||e;return/[Hmst]+/.test(e)}implementsInterface(e){return"IColumnFilter"==e}}exports.ConditionFilter=ConditionFilter;class ConditionFilterEditor extends wijmo_1.Control{constructor(e,t){super(e);this._canApply=!1;this.canApplyChanged=new wijmo_1.Event;this._filter=wijmo_1.asType(t,ConditionFilter,!1);let i=this.getTemplate();this.applyTemplate(`${wijmo_1.ControlClsNames.hostElement} ${exports.ConditionFilterEditorClsNames.hostElement}`,i,{_divHdr:"div-hdr",_divCmb1:"div-cmb1",_divVal1:"div-val1",_btnAnd:"btn-and",_btnOr:"btn-or",_spAnd:"sp-and",_spOr:"sp-or",_divCmb2:"div-cmb2",_divVal2:"div-val2"});let l=wijmo_1.culture.FlexGridFilter,s=l.ariaLabels;wijmo_1.setAriaLabel(this._btnAnd,s.and);wijmo_1.setAriaLabel(this._btnOr,s.or);wijmo_1.setText(this._divHdr,l.header);wijmo_1.setText(this._spAnd,l.and);wijmo_1.setText(this._spOr,l.or);const r=wijmo_1.getUniqueId("cmb1");this._divHdr.htmlFor=r;this._divCmb1.id=r;this._cmb1=this._createOperatorCombo(this._divCmb1,s.op1);this._cmb2=this._createOperatorCombo(this._divCmb2,s.op2);this._val1=this._createValueInput(this._divVal1,s.val1);this._val2=this._createValueInput(this._divVal2,s.val2);this._val1.isDisabled=!0;this._cmb1.selectedIndexChanged.addHandler((e,t)=>{this._val1.isDisabled=null==e.selectedValue;this.canApply=!this._val1.isDisabled||!this._val2.isDisabled});this._val2.isDisabled=!0;this._cmb2.selectedIndexChanged.addHandler((e,t)=>{this._val2.isDisabled=null==e.selectedValue;this.canApply=!this._val1.isDisabled||!this._val2.isDisabled});let a=this.hostElement;this.addEventListener(a,"change",this._btnAndOrChanged.bind(this));this.addEventListener(a,"keydown",this._keydown.bind(this));setTimeout(()=>{this.updateEditor()})}static get controlTemplate(){ConditionFilterEditor._ctrlTemplate||(ConditionFilterEditor._ctrlTemplate='<div><label wj-part="div-hdr"></label><div wj-part="div-cmb1"></div><br/><div wj-part="div-val1"></div><br/><div role="radiogroup" style="text-align:center"><label><input wj-part="btn-and" type="radio" role="radio"> <span wj-part="sp-and"></span> </label>&nbsp;&nbsp;&nbsp;<label><input wj-part="btn-or" type="radio" role="radio"> <span wj-part="sp-or"></span> </label></div><div wj-part="div-cmb2"></div><br/><div wj-part="div-val2"></div><br/></div>');return ConditionFilterEditor._ctrlTemplate}static set controlTemplate(e){ConditionFilterEditor._ctrlTemplate=e}get filter(){return this._filter}get canApply(){return this._canApply}set canApply(e){if(e!=this._canApply){this._canApply=e;this.onCanApplyChanged()}}updateEditor(){let e=this._filter.condition1,t=this._filter.condition2;this._cmb1.selectedValue=e.operator;this._cmb2.selectedValue=t.operator;if(this._val1 instanceof input.ComboBox&&!(this._val1 instanceof input.InputTime)){this._val1.text=wijmo_1.changeType(e.value,wijmo_1.DataType.String);this._val2.text=wijmo_1.changeType(t.value,wijmo_1.DataType.String)}else{this._val1.value=e.value;this._val2.value=t.value}let i=this._filter.and;this._checkRadio(this._btnAnd,i);this._checkRadio(this._btnOr,!i)}clearEditor(){this._cmb1.selectedValue=this._cmb2.selectedValue=null;this._val1.text=this._val2.text=null;this._checkRadio(this._btnAnd,!0);this._checkRadio(this._btnOr,!1)}get isEditorClear(){return null==this._cmb1.selectedValue&&!this._val1.text&&null==this._cmb2.selectedValue&&!this._val2.text}updateFilter(){let e=this._filter.condition1,t=this._filter.condition2;e.operator=this._cmb1.selectedValue;t.operator=this._cmb2.selectedValue;if("value"in this._val1){e.value=this._val1.value;t.value=this._val2.value}else{e.value=this._getComboValue(this._val1);t.value=this._getComboValue(this._val2)}this._filter.and=this._btnAnd.checked}onCanApplyChanged(e){this.canApplyChanged.raise(this,e)}_getComboValue(e){return e.selectedIndex>-1?e.selectedValue:e.text}_createOperatorCombo(e,t){let i=this._filter.column,l=wijmo_1.culture.FlexGridFilter,s=l.stringOperators,r=wijmo_1.DataType;this._filter.dataMap||i.dataMap||(i.dataType==r.Date?s=l.dateOperators:i.dataType==r.Number?s=l.numberOperators:i.dataType==r.Boolean&&(s=l.booleanOperators));let a=new input.ComboBox(e,{itemsSource:s,displayMemberPath:"name",selectedValuePath:"op"});wijmo_1.setAriaLabel(a.inputElement,t);return a}_createValueInput(e,t){let i=this._filter,l=i.column,s=i.dataMap||l.dataMap,r=null,a=wijmo_1.DataType;if(l.dataType==a.Date)(r=i._hasDatePart()?i._hasTimePart()?new input.InputDateTime(e):new input.InputDate(e):new input.InputTime(e)).format=l.format;else if(l.dataType!=a.Number||s){(r=new input.ComboBox(e)).isEditable=!0;r.trimText=!1;if(s){r.itemsSource=s.getDisplayValues();r.caseSensitiveSearch=!!l.grid&&l.grid.caseSensitiveSearch}else l.dataType==a.Boolean&&(r.itemsSource=[!0,!1])}else(r=new input.InputNumber(e)).format=l.format;r.isRequired=!1;wijmo_1.setAriaLabel(r.inputElement,t);return r}_btnAndOrChanged(e){let t=e.target==this._btnAnd,i=e.target==this._btnOr;if(t||i){this._checkRadio(this._btnAnd,t);this._checkRadio(this._btnOr,i)}}_checkRadio(e,t){e.checked=t;wijmo_1.setAttribute(e,"aria-checked",t.toString());wijmo_1.setAttribute(e,"tabindex",t?null:"-1")}_keydown(e){let t=e.target==this._btnAnd,i=e.target==this._btnOr;if(t||i)switch(e.keyCode){case wijmo_1.Key.Left:case wijmo_1.Key.Right:case wijmo_1.Key.Up:case wijmo_1.Key.Down:let i=t?this._btnOr:this._btnAnd;i.click();i.focus();e.preventDefault()}}}ConditionFilterEditor._ctrlTemplate="";exports.ConditionFilterEditor=ConditionFilterEditor;class FilterCondition{constructor(e){this._op=null;this._filter=e}get operator(){return this._op}set operator(e){this._op=wijmo_1.asEnum(e,Operator,!0)}get value(){return this._val}set value(e){this._val=e;this._strVal=wijmo_1.isString(e)?this._getCaseString(e):null}get isActive(){switch(this._op){case null:return!1;case Operator.EQ:case Operator.NE:return!0;default:return null!=this._val||null!=this._strVal}}clear(){this.operator=null;this.value=null}apply(e,t,i){let l=this._strVal||this._val;wijmo_1.isString(e)&&(e=this._getCaseString(e));wijmo_1.isString(l)&&null==e&&(e="");wijmo_1.isDate(l)&&(t?l=wijmo_1.DateTime.fromDateTime(l,FilterCondition._refDateTime):i&&(l=wijmo_1.DateTime.fromDateTime(FilterCondition._refDateTime,l)));let s=Operator;switch(this._op){case null:return!0;case s.EQ:return null!=e&&null!=l?e.valueOf()==l.valueOf():e==l;case s.NE:return null!=e&&null!=l?e.valueOf()!=l.valueOf():e!=l;case s.GT:return e>l;case s.GE:return e>=l;case s.LT:return e<l;case s.LE:return e<=l;case s.BW:return!(null==this._strVal||!wijmo_1.isString(e))&&0==e.indexOf(this._strVal);case s.EW:return!!(null!=this._strVal&&wijmo_1.isString(e)&&e.length>=this._strVal.length)&&e.substr(e.length-this._strVal.length)==l;case s.CT:return!(null==this._strVal||!wijmo_1.isString(e))&&e.indexOf(this._strVal)>-1;case s.NC:return!(null==this._strVal||!wijmo_1.isString(e))&&e.indexOf(this._strVal)<0;case s.NBW:return!(null==this._strVal||!wijmo_1.isString(e))&&0!==e.indexOf(this._strVal);case s.NEW:return!(null==this._strVal||!wijmo_1.isString(e))&&e.substring(e.length-this._strVal.length)!==l}throw"Unknown operator"}_getCaseString(e){let t=this._filter.column,i=t?t.grid:null;return i&&i.caseSensitiveSearch?e:e.toLowerCase()}}FilterCondition._refDateTime=new Date(2e3,0,1,0,0,0);exports.FilterCondition=FilterCondition;!function(e){e[e.EQ=0]="EQ";e[e.NE=1]="NE";e[e.GT=2]="GT";e[e.GE=3]="GE";e[e.LT=4]="LT";e[e.LE=5]="LE";e[e.BW=6]="BW";e[e.EW=7]="EW";e[e.CT=8]="CT";e[e.NC=9]="NC";e[e.NBW=10]="NBW";e[e.NEW=11]="NEW"}(Operator=exports.Operator||(exports.Operator={}));!function(e){e[e.Text=0]="Text";e[e.Regex=1]="Regex";e[e.Excel=2]="Excel"}(ValueFilterSearchKind=exports.ValueFilterSearchKind||(exports.ValueFilterSearchKind={}));class ValueFilter{constructor(e){this._values=null;this._filterText=null;this._xValueSearch=!0;this._maxValues=250;this._uniqueValues=null;this._sortValues=!0;this._searchType=ValueFilterSearchKind.Excel;this._showIncludeSelection=!1;this._col=e}get searchType(){return this._searchType}set searchType(e){this._searchType=wijmo_1.asEnum(e,ValueFilterSearchKind)}get showValues(){return this._values}set showValues(e){this._values=e}get filterText(){return this._filterText}set filterText(e){this._filterText=wijmo_1.asString(e)}get exclusiveValueSearch(){return this._xValueSearch}set exclusiveValueSearch(e){if((e=wijmo_1.asBoolean(e))!==this._xValueSearch){this._xValueSearch=wijmo_1.asBoolean(e);e&&(this._filterText="")}}get maxValues(){return this._maxValues}set maxValues(e){this._maxValues=wijmo_1.asNumber(e,!1,!0)}get uniqueValues(){return this._uniqueValues}set uniqueValues(e){this._uniqueValues=wijmo_1.asArray(e)}get sortValues(){return this._sortValues}set sortValues(e){this._sortValues=wijmo_1.asBoolean(e)}get dataMap(){return this._map}set dataMap(e){this._map=wijmo_1.asType(e,wijmo_grid_1.DataMap,!0)}get showIncludeSelection(){return this._showIncludeSelection}set showIncludeSelection(e){e!=this._showIncludeSelection&&(this._showIncludeSelection=wijmo_1.asBoolean(e,!1))}get column(){return this._col}get isActive(){return null!=this._values&&Object.keys(this._values).length>0}apply(e){let t=this.column;if(!(t&&t._binding&&this._values&&Object.keys(this._values).length))return!0;e=t._binding.getValue(e);e=this.dataMap?this.dataMap.getDisplayValue(e)||"":t.dataMap?t.dataMap.getDisplayValue(e)||"":wijmo_1.Globalize.format(e,t.format);return null!=this._values[e]}clear(){this.showValues=null;this.filterText=null}getUniqueValues(e=!0){let t=[],i=this.column,l=wijmo_1.Globalize.format;if(this.uniqueValues){this.uniqueValues.forEach(e=>{t.push({value:e,text:l(e,i.format)})});return t}let s={},r=i.collectionView,a=r?r.sourceCollection:[];if(e&&r&&r.sourceCollection&&r.filter)try{FlexGridFilter._skipColumn=this._col;let e=[];for(let t=0;t<a.length;t++)r.filter(a[t])&&e.push(a[t]);a=e}finally{FlexGridFilter._skipColumn=null}for(let e=0;e<a.length;e++){let r=i._binding.getValue(a[e]),n=this.dataMap?this.dataMap.getDisplayValue(r)||"":i.dataMap?i.dataMap.getDisplayValue(r)||"":l(r,i.format);if(!s[n]){s[n]=!0;t.push({value:r,text:n})}}return t}implementsInterface(e){return"IColumnFilter"==e}}exports.ValueFilter=ValueFilter;class ValueFilterEditor extends wijmo_1.Control{constructor(e,t){super(e);this._canApply=!1;this._isFiltering=!1;this.canApplyChanged=new wijmo_1.Event;this._filter=wijmo_1.asType(t,ValueFilter,!1);let i=this.getTemplate();this.applyTemplate(`${wijmo_1.ControlClsNames.hostElement} ${exports.ValueFilterEditorClsNames.hostElement}`,i,{_divFilter:"div-filter",_cbSelectAll:"cb-select-all",_spSelectAll:"sp-select-all",_cbIncludeSel:"cb-include-sel",_spIncludeSel:"sp-include-sel",_lblIncludeSel:"lbl-include-sel",_divOptions:"div-options",_divValues:"div-values",_divExceeds:"div-exceeds",_aExceeds:"a-exceeds"});this._cbSelectAll.tabIndex=0;this._cbIncludeSel.tabIndex=0;let l=wijmo_1.culture.FlexGridFilter;wijmo_1.setText(this._spSelectAll,l.selectAll);wijmo_1.setText(this._spIncludeSel,l.includeSelection);wijmo_1.setText(this._aExceeds,l.exceedsMaxValues);let s=this._view=new wijmo_1.CollectionView(null,{sortNulls:wijmo_1.SortNulls.First,filter:this._filterValues.bind(this)});if(t.sortValues){let e=t.column.dataMap||t.dataMap?"text":"value",i=t.column.dataType!=wijmo_1.DataType.Boolean;s.sortDescriptions.push(new wijmo_1.SortDescription(e,i))}s.collectionChanged.addHandler(this._updateSelectAllCheck,this);this._filterText="";this._rxFilter=null;this._cmbFilter=new input.ComboBox(this._divFilter,{trimText:!1,isRequired:!1,placeholder:l.search});this._cmbFilter.isEditable=!0;this._lbValues=new input.ListBox(this._divValues,{displayMemberPath:"text",checkedMemberPath:"show",itemsSource:this._view,itemFormatter:(e,t)=>t||l.null,checkedItemsChanged:e=>this._updateSelectAllCheck()});wijmo_1.setAttribute(this._divValues,"aria-label",wijmo_1.culture.FlexGridFilter.ariaLabels.listBox);wijmo_1.setAriaLabel(this._cmbFilter.inputElement,l.ariaLabels.search);wijmo_1.setAttribute(this._lbValues.hostElement,"aria-multiselectable",!0);this._cmbFilter.inputElement.addEventListener("input",this._filterTextChanged.bind(this));this._cbSelectAll.addEventListener("click",this._cbSelectAllClicked.bind(this));if(!this._popup){this._initPopup();this._aExceeds&&this.addEventListener(this._aExceeds,"click",e=>{e.preventDefault();this._popup.show(!0)})}this.updateEditor();this._filter.showValues?this._initialItems=s.sourceCollection.filter(e=>this._filter.showValues[e.text||e.value]||!1):this._initialItems=this._lbValues.checkedItems}static get controlTemplate(){ValueFilterEditor._ctrlTemplate||(ValueFilterEditor._ctrlTemplate='<div><div wj-part="div-filter"></div>'+`<div wj-part="div-options" class="${input.ListBoxClsNames.listBoxItem}">`+'<label><input wj-part="cb-select-all" type="checkbox"> <span wj-part="sp-select-all"></span></label><br /><label wj-part="lbl-include-sel"><input wj-part="cb-include-sel" type="checkbox"> <span wj-part="sp-include-sel"></span></label></div><div wj-part="div-values"></div><div wj-part="div-exceeds"><a wj-part="a-exceeds"></a></div></div>');return ValueFilterEditor._ctrlTemplate}static set controlTemplate(e){ValueFilterEditor._ctrlTemplate=e}get filter(){return this._filter}get canApply(){return this._canApply}set canApply(e){if(e!=this._canApply){this._canApply=e;this.onCanApplyChanged()}}get _shouldIncludeSelection(){return this._filter.showIncludeSelection&&this._cbIncludeSel.checked}updateEditor(){let e=this._filter.column,t=this._filter.getUniqueValues(!0);this._lbValues.isContentHtml=e.isContentHtml;let i=this._filter.showValues;if(i&&0!=Object.keys(i).length){for(let e in i)for(let i=0;i<t.length;i++)if(t[i].text==e){t[i].show=!0;break}}else t.forEach(e=>e.show=!0);let l=this._filter.filterText||"",s=this._getCaseSensitive();this._cmbFilter.text=l;this._filterText=s?l:l.toLowerCase();this._rxFilter=this._getSearchExp(l,s);this._filter.showIncludeSelection&&!this.hostElement.contains(this._lblIncludeSel)?this._divOptions.appendChild(this._lblIncludeSel):this._filter.showIncludeSelection||this._lblIncludeSel.remove();let r=this._view;r.pageSize=this._filter.maxValues;r.sourceCollection=t;setTimeout(()=>{this._adjustWidths()},0);this._updateExceedsMaxValuesDisplay()}clearEditor(e=!0){this._cmbFilter.text="";this._filterText="";this._rxFilter=null;let t=this._view;t.pageSize=0;t.items.forEach(t=>{t.show=e});t.moveCurrentTo(-1);t.refresh();t.pageSize=this._filter.maxValues}get isEditorClear(){return!this._filterText&&!this._cbSelectAll.indeterminate}_updateFilter(){let e=null,t=this._getItems();if(this._filterText||this._cbSelectAll.indeterminate){e=this._shouldIncludeSelection&&this._filter.showValues||{};for(let i=0;i<t.length;i++){let l=t[i];l.show&&(e[l.text]=!0)}}let i=this._filter;i.showValues=e;i.filterText=this._filterText}updateFilter(){this._isFiltering?setTimeout(()=>{this._updateFilter()},wijmo_1.Control._SEARCH_DELAY+100):this._updateFilter()}onCanApplyChanged(e){this.canApplyChanged.raise(this,e)}_getCaseSensitive(){let e=this._filter.column,t=e?e.grid:null;return t&&t.caseSensitiveSearch}_getItems(){return this._filter.exclusiveValueSearch?this._view.items:this._view.sourceCollection}_filterTextChanged(){""===this._filterText&&this._cbSelectAll.checked||this._filter.exclusiveValueSearch?this._lbValues._addMode=!1:this._lbValues._addMode=!0;this._toFilter&&clearTimeout(this._toFilter);this._isFiltering=!0;this._toFilter=setTimeout(()=>{let e=this._cmbFilter.text,t=this._getCaseSensitive();t||(e=e.toLowerCase());if(e!=this._filterText){this._filterText=e;this._rxFilter=this._getSearchExp(e,t);this._view.refresh();this._updateExceedsMaxValuesDisplay();if(!e){let e=this._initialItems;if(e.length&&this._view.sourceCollection.indexOf(e[0])>-1){this._lbValues.checkedItems=this._initialItems;this._updateSelectAllCheck();this._isFiltering=!1;return}}if(this._filter.exclusiveValueSearch){this._cbSelectAll.checked=!0;this._cbSelectAllClicked()}else this._updateSelectAllCheck()}this._isFiltering=!1},wijmo_1.Control._SEARCH_DELAY)}_getSearchExp(e,t){if(!e)return null;switch(this._filter.searchType){case ValueFilterSearchKind.Text:return this._getTextSearchExp(e,t);case ValueFilterSearchKind.Regex:return this._getRegexSearchExp(e,t);case ValueFilterSearchKind.Excel:return this._getExcelSearchExp(e,t)}}_getTextSearchExp(e,t){return new RegExp(wijmo_1.escapeRegExp(e),t?"":"i")}_getRegexSearchExp(e,t){try{return new RegExp(e,t?"s":"is")}catch(e){return new RegExp("(?!)",t?"s":"is")}}_getExcelSearchExp(e,t){let i=e;i=(i=(i=(i=(i=(i=(i=(i=i.replace(/([.+^$[\]\\(){}|-])/g,"\\$1")).replace(/~~/g,"__`$0`__")).replace(/~\?/g,"__`$1`__")).replace(/~\*/g,"__`$2`__")).replace(/~(.)/g,"$1")).replace(/(\?+)/g,(function(e,t){return Array.from(t).map(e=>".").join("")}))).replace(/(\*+)/g,(function(e,t){return Array.from(t).map(e=>".*").join("")}))).replace(/__`\$(\d)`__/g,(function(e,t){switch(t){case"0":return"~";case"1":return"\\?";case"2":return"\\*"}}));/([^~]|^)[?*]/g.test(e)&&(i="^"+i+"$");("~"===e||e&&!i.length)&&(i="$a^");return new RegExp(i,t?"s":"is")}_filterValues(e){let t=this._rxFilter;return null==t||null==e||t.test(e.text)}_cbSelectAllClicked(){let e=this._cbSelectAll.checked,t=this._divValues.scrollTop,i=this._getItems();for(let t=0;t<i.length;t++)i[t].show=e;this._view.refresh();this._divValues.scrollTop=t;setTimeout(()=>{this._adjustWidths()},0)}_updateSelectAllCheck(){let e=this._getItems(),t=0,i=0;for(let l=0;l<e.length;l++){e[l].show?t++:i++;if(t&&i)break}wijmo_1.setChecked(this._cbSelectAll,t&&i?null:t>0);this.canApply=t>0}_adjustWidths(){let e=this._lbValues.hostElement;if(e&&e.offsetHeight>0){let t=0,i=e.querySelectorAll(`.${input.ListBoxClsNames.listBoxItem} label`);if(i.length){for(let e=0;e<i.length;e++)t=Math.max(t,i[e].scrollWidth);if(t){let i=e.querySelectorAll(`.${input.ListBoxClsNames.listBoxItem}`);if(i.length){let e=i[0],l=getComputedStyle(e),s=parseFloat(l.paddingLeft)+parseFloat(l.paddingRight);for(let e=0;e<i.length;e++)i[e].style.width=t+s+"px"}}}}}get exceedsMaxValues(){return!(!this._view||!this._view._view)&&this._view._view.length>this.filter.maxValues}_updateExceedsMaxValuesDisplay(){this._aExceeds.style.display=this.exceedsMaxValues?"":"none"}_initPopup(){let e=document.createElement("div");e.innerHTML='<div role="dialog">'+`<div class=${input.PopupClsNames.dialogBody}>`+`<div class=${exports.ValueFilterEditorClsNames.customModalText}>`+"<p>"+wijmo_1.culture.FlexGridFilter.popupBody+"</p></div></div>"+`<div class="${input.PopupClsNames.dialogFooter} ${exports.ValueFilterEditorClsNames.modalFooter}" >`+`<button class="btn btn-primary ${wijmo_1.UtilitesClsNames.hideOk}">`+wijmo_1.culture.FlexGridFilter.popupOkButton+"</button></div></div>";this._popup=new input.Popup(e,{modal:!0,fadeIn:!0,fadeOut:!0})}}ValueFilterEditor._ctrlTemplate="";exports.ValueFilterEditor=ValueFilterEditor;class ColumnFilter{constructor(e,t){this._owner=e;this._col=t;this._valueFilter=new ValueFilter(t);this._valueFilter.exclusiveValueSearch=e.exclusiveValueSearch;this._valueFilter.showIncludeSelection=e.showIncludeSelection;this._conditionFilter=new ConditionFilter(t);e.exclusiveValueSearchChanged.addHandler(e=>{this._valueFilter.exclusiveValueSearch=e.exclusiveValueSearch});e._showIncludeSelectionChanged.addHandler(e=>{this._valueFilter.showIncludeSelection=e.showIncludeSelection})}get filterType(){return null!=this._filterType?this._filterType:this._owner.defaultFilterType}set filterType(e){if((e=wijmo_1.asEnum(e,FilterType,!0))!=this._filterType){let t=this.isActive;this.clear();this._filterType=e;t?this._owner.apply():this._col.grid&&this._col.grid.invalidate()}}get dataMap(){return this.conditionFilter.dataMap||this.valueFilter.dataMap}set dataMap(e){this.conditionFilter.dataMap=e;this.valueFilter.dataMap=e}get valueFilter(){return this._valueFilter}get conditionFilter(){return this._conditionFilter}get column(){return this._col}get isActive(){return this._conditionFilter.isActive||this._valueFilter.isActive}apply(e){return this._conditionFilter.apply(e)&&this._valueFilter.apply(e)}clear(){this._valueFilter.clear();this._conditionFilter.clear()}implementsInterface(e){return"IColumnFilter"==e}}exports.ColumnFilter=ColumnFilter;wijmo_1._addCultureInfo("FlexGridFilter",{ariaLabels:{edit:"Edit Filter for Column",dialog:"Filter Editor for Column",asc:"Sort Column in Ascending Order",dsc:"Sort Column in Descending Order",search:"Search Item List",op1:"First Condition Operator",val1:"First Condition Value",and:"Require both Conditions",or:"Require either Condition",op2:"Second Condition Operator",val2:"Second Condition Value",active:"active",listBox:"List of options available for filtering"},ascending:"↑ Ascending",descending:"↓ Descending",apply:"Apply",cancel:"Cancel",clear:"Clear",conditions:"Filter by Condition",values:"Filter by Value",search:"Search",selectAll:"Select All",includeSelection:"Include Current Selection",null:"(nothing)",exceedsMaxValues:"Not all items showing",popupBody:"This column has more than 250 unique items. Only the first 250 unique items are displayed.",popupOkButton:"OK",header:"Show items where the value",and:"And",or:"Or",stringOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Does not equal",op:Operator.NE},{name:"Begins with",op:Operator.BW},{name:"Does not begin with",op:Operator.NBW},{name:"Ends with",op:Operator.EW},{name:"Does not end with",op:Operator.NEW},{name:"Contains",op:Operator.CT},{name:"Does not contain",op:Operator.NC}],numberOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Does not equal",op:Operator.NE},{name:"Is Greater than",op:Operator.GT},{name:"Is Greater than or equal to",op:Operator.GE},{name:"Is Less than",op:Operator.LT},{name:"Is Less than or equal to",op:Operator.LE}],dateOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Is Before",op:Operator.LT},{name:"Is After",op:Operator.GT}],booleanOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Does not equal",op:Operator.NE}]});class ColumnFilterEditor extends wijmo_1.Control{constructor(e,t,i=!0){super(e,null,!0);this.filterChanged=new wijmo_1.Event;this.buttonClicked=new wijmo_1.Event;this._filter=wijmo_1.asType(t,ColumnFilter);let l=this.getTemplate();this.applyTemplate(`${wijmo_1.ControlClsNames.hostElement} ${wijmo_1.ControlClsNames.content} ${wijmo_1.ControlClsNames.content} ${exports.ColumnFilterEditorClsNames.hostElement}`,l,{_divSort:"div-sort",_btnAsc:"btn-asc",_btnDsc:"btn-dsc",_divType:"div-type",_aVal:"a-val",_aCnd:"a-cnd",_divEdtVal:"div-edt-val",_divEdtCnd:"div-edt-cnd",_btnApply:"btn-apply",_btnCancel:"btn-cancel",_btnClear:"btn-clear"});let s=wijmo_1.culture.FlexGridFilter,r=s.ariaLabels,a=this.hostElement,n=this.filter.column,o=n.grid.collectionView;wijmo_1.setAttribute(a,"role","dialog");wijmo_1.setAriaLabel(a,r.dialog+" "+n.header);wijmo_1.setAriaLabel(this._btnAsc,r.asc);wijmo_1.setAriaLabel(this._btnDsc,r.dsc);wijmo_1.setText(this._btnAsc,s.ascending);wijmo_1.setText(this._btnDsc,s.descending);wijmo_1.setText(this._aVal,s.values);wijmo_1.setText(this._aCnd,s.conditions);wijmo_1.setText(this._btnApply,s.apply);wijmo_1.setText(this._btnCancel,s.cancel);wijmo_1.setText(this._btnClear,s.clear);let d=this.filter.conditionFilter.isActive||0==(t.filterType&FilterType.Value)?FilterType.Condition:FilterType.Value;this._showFilter(d);if(!n.allowSorting){wijmo_1.enable(this._btnAsc,!1);wijmo_1.enable(this._btnDsc,!1)}i&&o&&o.canSort||(this._divSort.style.display="none");this._updateSortButtonState();let h=this._btnClicked.bind(this);this._btnApply.addEventListener("click",h);this._btnCancel.addEventListener("click",h);this._btnClear.addEventListener("click",h);this._btnAsc.addEventListener("click",h);this._btnDsc.addEventListener("click",h);this._aVal.addEventListener("click",h);this._aCnd.addEventListener("click",h);this.addEventListener(a,"keydown",e=>{if(!e.defaultPrevented){let t=e.target.tagName.match(/^(a|button)$/i);switch(e.keyCode){case wijmo_1.Key.Space:if(t){this._btnClicked(e);e.preventDefault()}break;case wijmo_1.Key.Enter:if(t)this._btnClicked(e);else{this.updateFilter();this.onFilterChanged();this.onButtonClicked()}e.preventDefault();break;case wijmo_1.Key.Escape:this.onButtonClicked();e.preventDefault();break;case wijmo_1.Key.Tab:wijmo_1.moveFocus(this.hostElement,e.shiftKey?-1:1);e.preventDefault()}}});this.addEventListener(window,"resize",()=>{this.isTouching||this._wasTouching||this.onButtonClicked()})}static get controlTemplate(){ColumnFilterEditor._ctrlTemplate||(ColumnFilterEditor._ctrlTemplate="<div>"+`<div wj-part="div-sort" class="${exports.ColumnFilterEditorClsNames.sortButtons}">`+`<button wj-part="btn-asc" class="${wijmo_1.InputFormElementsClsNames.btn}"></button>&nbsp;&nbsp;&nbsp;`+`<button wj-part="btn-dsc" class="${wijmo_1.InputFormElementsClsNames.btn}"></button>`+"</div>"+`<div wj-part="div-type" class="${exports.ColumnFilterEditorClsNames.filterType}">`+'<a wj-part="a-cnd" href="" draggable="false"></a>&nbsp;|&nbsp;<a wj-part="a-val" href="" draggable="false"></a></div><div wj-part="div-edt-val" tabindex="-1"></div><div wj-part="div-edt-cnd" tabindex="-1"></div><div style="text-align:right;margin-top:10px">'+`<button wj-part="btn-apply" class="${wijmo_1.InputFormElementsClsNames.btn}"></button>&nbsp;&nbsp;`+`<button wj-part="btn-cancel" class="${wijmo_1.InputFormElementsClsNames.btn}"></button>&nbsp;&nbsp;`+`<button wj-part="btn-clear" class="${wijmo_1.InputFormElementsClsNames.btn}"></button>`+"</div></div>");return ColumnFilterEditor._ctrlTemplate}static set controlTemplate(e){ColumnFilterEditor._ctrlTemplate=e}get filter(){return this._filter}updateEditor(){this._edtVal&&this._edtVal.updateEditor();this._edtCnd&&this._edtCnd.updateEditor()}updateFilter(){switch(this._getFilterType()){case FilterType.Value:this._edtVal.updateFilter();this.filter.conditionFilter.clear();break;case FilterType.Condition:this._edtCnd.updateFilter();this.filter.valueFilter.clear()}}onFilterChanged(e){this.filterChanged.raise(this,e)}onButtonClicked(e){this.buttonClicked.raise(this,e)}_showFilter(e){this._wasTouching=this.isTouching;if(e==FilterType.Value&&null==this._edtVal){this._edtVal=new ValueFilterEditor(this._divEdtVal,this.filter.valueFilter);this._edtVal.canApplyChanged.addHandler(e=>{wijmo_1.enable(this._btnApply,this._edtVal.canApply)})}if(e==FilterType.Condition&&null==this._edtCnd){this._edtCnd=new ConditionFilterEditor(this._divEdtCnd,this.filter.conditionFilter);this._edtCnd.canApplyChanged.addHandler(e=>{wijmo_1.enable(this._btnApply,this._edtCnd.canApply)})}if(0!=(e&this.filter.filterType))if(e==FilterType.Value){this._divEdtVal.style.display="";this._divEdtCnd.style.display="none";this._enableLink(this._aVal,!1);this._enableLink(this._aCnd,!0);this._edtVal.focus();this._edtVal._updateExceedsMaxValuesDisplay();wijmo_1.enable(this._btnApply,this._edtVal.canApply)}else{this._divEdtVal.style.display="none";this._divEdtCnd.style.display="";this._enableLink(this._aVal,!0);this._enableLink(this._aCnd,!1);this._edtCnd.focus();wijmo_1.enable(this._btnApply,this._edtCnd.canApply)}let t=this._divType.style;switch(this.filter.filterType){case FilterType.None:case FilterType.Condition:case FilterType.Value:t.display="none";break;default:t.display=""}}_enableLink(e,t){wijmo_1.toggleClass(e,wijmo_1.ControlStateClsNames.disabled,!t);wijmo_1.setAttribute(e,"href",t?"":null);wijmo_1.setAttribute(e,"disabled",t?null:"disabled")}_updateSortButtonState(){let e=this.filter.column,t=e?e.currentSort:"",i=wijmo_1.ControlStateClsNames.active,l=wijmo_1.culture.FlexGridFilter.ariaLabels;if("+"===t){wijmo_1.addClass(this._btnAsc,i);this._btnAsc.setAttribute("aria-label",`${l.asc} ${l.active}`)}else if("-"===t){wijmo_1.addClass(this._btnDsc,i);this._btnDsc.setAttribute("aria-label",`${l.dsc} ${l.active}`)}}_getFilterType(){let e=FilterType;return"none"!=this._divEdtVal.style.display?e.Value:e.Condition}_btnClicked(e){let t=e.target;e.preventDefault();e.stopPropagation();if(!wijmo_1.hasClass(t,wijmo_1.ControlStateClsNames.disabled))if(t!=this._aVal)if(t!=this._aCnd){if(t==this._btnAsc||t==this._btnDsc){let t=this.filter.column,i=t.sortMemberPath||t.binding,l=t.grid.collectionView.sortDescriptions;l.deferUpdate(()=>{l.clear();l.push(new wijmo_1.SortDescription(i,e.target==this._btnAsc))});this._updateSortButtonState()}if(t==this._btnApply){this.updateFilter();this.onFilterChanged()}else if(t==this._btnClear){if(this.filter.isActive){this.filter.clear();this.onFilterChanged()}}else this.updateEditor();this.onButtonClicked()}else{this._showFilter(FilterType.Condition);wijmo_1.moveFocus(this._edtCnd.hostElement,0)}else{this._showFilter(FilterType.Value);wijmo_1.moveFocus(this._edtVal.hostElement,0)}}}ColumnFilterEditor._ctrlTemplate="";exports.ColumnFilterEditor=ColumnFilterEditor;wijmo_1._registerModule("wijmo.grid.filter",selfModule);
14
+ "use strict";var __importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);t.default=e;return t};Object.defineProperty(exports,"__esModule",{value:!0});const wijmo_grid_1=require("@grapecity/wijmo.grid"),wijmo_1=require("@grapecity/wijmo"),wijmo_input_1=require("@grapecity/wijmo.input"),input=__importStar(require("@grapecity/wijmo.input")),selfModule=__importStar(require("@grapecity/wijmo.grid.filter"));exports.ColumnFilterEditorClsNames={filterType:"wj-filtertype",hostElement:"wj-columnfiltereditor",sortButtons:"wj-sort-buttons"};exports.ConditionFilterEditorClsNames={hostElement:"wj-conditionfilter-editor"};exports.FlexGridFilterClsNames={elemFilter:"wj-elem-filter",filter:"wj-filter",filterOff:"wj-filter-off",filterOn:"wj-filter-on",hostElement:"wj-columnfiltereditor"};exports.ValueFilterEditorClsNames={hostElement:"wj-valuefilter-editor",customModalText:"wj-custom-modal-text",modalFooter:"wj-valuefilter-modal-footer"};var FilterType,Operator,ValueFilterSearchKind;!function(e){e[e.None=0]="None";e[e.Condition=1]="Condition";e[e.Value=2]="Value";e[e.Both=3]="Both"}(FilterType=exports.FilterType||(exports.FilterType={}));class FlexGridFilter{constructor(e,t){this._showIcons=!0;this._showSort=!0;this._defFilterType=FilterType.Both;this._xValueSearch=!0;this._includeUpdatedRowsInFilter=!1;this._showIncludeSelection=!1;this.filterApplied=new wijmo_1.Event;this.editingFilter=new wijmo_1.Event;this.filterChanging=new wijmo_1.Event;this.filterChanged=new wijmo_1.Event;this.exclusiveValueSearchChanged=new wijmo_1.Event;this._showIncludeSelectionChanged=new wijmo_1.Event;this._filters=[];this._g=wijmo_1.asType(e,wijmo_grid_1.FlexGrid,!1);this._g.formatItem.addHandler(this._formatItem.bind(this));this._g.itemsSourceChanged.addHandler(this.clear.bind(this));let i=this._g.hostElement;e.addEventListener(i,"mousedown",this._mousedown.bind(this),!0);e.addEventListener(i,"click",this._click.bind(this),!0);e.addEventListener(i,"keydown",this._keydown.bind(this),!0);this._g.invalidate();wijmo_1.copy(this,t);this._init()}_init(){const e=this.grid,_excludeRowFromFilter=e=>{let t=this.grid;const i=this.excludedRowsSet;if(null!=t&&t.rows.length>e)if(t.itemsSource)if(t.rows[e]instanceof wijmo_grid_1._NewRowTemplate){let l=t.editableCollectionView.currentAddItem||t.rows[e].dataItem;l&&i.add(l)}else t.rows[e].dataItem&&i.add(t.rows[e].dataItem);else t.rows[e]&&i.add(t.rows[e])};e.rowChanged&&e.rowChanged.addHandler((e,t)=>{t.added&&_excludeRowFromFilter(t.index)});e.rowEditEnding.addHandler((e,t)=>{_excludeRowFromFilter(t.row)});e.cellEditEnded.addHandler((e,t)=>{_excludeRowFromFilter(t.row)})}get excludedRowsSet(){let e=this.grid;e.selectedSheet&&(e=e.selectedSheet);e._newAddedRowsSet||(e._newAddedRowsSet=new WeakSet);return e._newAddedRowsSet}set excludedRowsSet(e){let t=this.grid;t.selectedSheet&&(t=t.selectedSheet);t._newAddedRowsSet=e}get grid(){return this._g}get filterColumns(){return this._filterColumns}set filterColumns(e){this._filterColumns=wijmo_1.asArray(e);this.clear()}get showFilterIcons(){return this._showIcons}set showFilterIcons(e){if(e!=this.showFilterIcons){this._showIcons=wijmo_1.asBoolean(e);this._g&&this._g.invalidate()}}get showSortButtons(){return this._showSort}set showSortButtons(e){this._showSort=wijmo_1.asBoolean(e)}get reApplyFilterOnUpdate(){return this._includeUpdatedRowsInFilter}set reApplyFilterOnUpdate(e){e!==this._includeUpdatedRowsInFilter&&(this._includeUpdatedRowsInFilter=wijmo_1.asBoolean(e))}get showIncludeSelection(){return this._showIncludeSelection}set showIncludeSelection(e){if(e!=this._showIncludeSelection){this._showIncludeSelection=wijmo_1.asBoolean(e,!1);this._onShowIncludeSelectionChanged()}}getColumnFilter(e,t=!0){if(e=this._asColumn(e)){for(let t=0;t<this._filters.length;t++)if(this._filters[t].column==e)return this._filters[t];if(t&&e.binding){let t=new ColumnFilter(this,e);this._filters.push(t);return t}}return null}get defaultFilterType(){return this._defFilterType}set defaultFilterType(e){if((e=wijmo_1.asEnum(e,FilterType,!1))!=this.defaultFilterType){this._defFilterType=e;this._g.invalidate();this.clear()}}get exclusiveValueSearch(){return this._xValueSearch}set exclusiveValueSearch(e){if((e=wijmo_1.asBoolean(e))!==this._xValueSearch){this._xValueSearch=e;this.onExclusiveValueSearchChanged()}}get filterDefinition(){let e={defaultFilterType:this.defaultFilterType,filters:[]};this._filters.forEach(t=>{let i=t.conditionFilter,l=t.valueFilter,s=l.uniqueValues&&l.uniqueValues.length;if(t&&t.column&&t.column.binding&&(t.isActive||s||t.filterType!=this.defaultFilterType)){let r={binding:t.column.binding};if(i.isActive){let e=i.condition1,l=i.condition2;r={binding:t.column.binding,type:"condition",condition1:{operator:e.operator,value:e.value},and:i.and,condition2:{operator:l.operator,value:l.value}}}else(l.isActive||s)&&(r={binding:t.column.binding,type:"value",uniqueValues:l.uniqueValues,sortValues:l.sortValues,maxValues:l.maxValues,exclusiveValueSearch:l.exclusiveValueSearch,showValues:l.showValues});t.filterType!=this.defaultFilterType&&(r.filterType=t.filterType);e.filters.push(r)}});return JSON.stringify(e)}set filterDefinition(e){e=wijmo_1.asString(e);this.clear();if(e){let t=JSON.parse(e);this.defaultFilterType=t.defaultFilterType;for(let e=0;e<t.filters.length;e++){let i=t.filters[e],l=this._asColumn(i.binding);l||(l=new wijmo_grid_1.Column({binding:i.binding}));let s=this.getColumnFilter(l,!0);if(s){null!=i.filterType&&(s.filterType=wijmo_1.asEnum(i.filterType,FilterType));switch(i.type){case"condition":let e=s.conditionFilter;e.condition1.value=l.dataType==wijmo_1.DataType.Date?wijmo_1.changeType(i.condition1.value,l.dataType,null):i.condition1.value;e.condition1.operator=i.condition1.operator;e.and=i.and;e.condition2.value=l.dataType==wijmo_1.DataType.Date?wijmo_1.changeType(i.condition2.value,l.dataType,null):i.condition2.value;e.condition2.operator=i.condition2.operator;break;case"value":let t=s.valueFilter;t.uniqueValues=i.uniqueValues;["sortValues","maxValues","exclusiveValueSearch"].forEach(e=>{null!=i[e]&&(t[e]=i[e])});t.showValues=i.showValues}}}}this.apply()}get activeEditor(){return wijmo_1.Control.getControl(this._divEdt)}editColumnFilter(e,t,i){let l=this._g;this.closeEditor();e=this._asColumn(e);let s=new wijmo_grid_1.CellRangeEventArgs(l.cells,new wijmo_grid_1.CellRange(-1,e.index));if(!this.onEditingFilter(s))return;let r=wijmo_1.createElement(`<div class="${wijmo_input_1.DropDownClsNames.dropDownPanel}"></div>`),a=this.getColumnFilter(e),n=new ColumnFilterEditor(r,a,this.showSortButtons);this._divEdt=r;this._edtCol=e;l.rightToLeft&&(r.dir="rtl");if(!this.onFilterChanging(s)){this._divEdt=this._edtCol=null;return}s.cancel=!0;n.filterChanged.addHandler(()=>{s.cancel=!1;setTimeout(()=>{s.cancel||this.apply()},n._edtVal&&n._edtVal._isFiltering?wijmo_1.Control._SEARCH_DELAY+200:0)});n.buttonClicked.addHandler(()=>{this.closeEditor();l.focus();this.onFilterChanged(s)});n.lostFocus.addHandler(()=>{setTimeout(()=>{let e=wijmo_1.Control.getControl(this._divEdt);e&&!e.containsFocus()&&this.closeEditor()},10)});let o=t?t.col:e.index,d=l.columns[o];t||d&&d.binding==e.binding||(o=l.selection.leftCol);l._edtHdl._commitRowEdits();l.scrollIntoView(-1,o,!0);let h=l.columnHeaders,u=t&&t.panel&&h&&t.panel._uid==h._uid?t.row:h.rows.length-1,c=o,_=i||h.getCellElement(u,c),p=_?null:h.getCellBoundingRect(u,c);_?wijmo_1.showPopup(r,_,!1,!1,!1):wijmo_1.showPopup(r,p);this._setAriaExpanded(_,!0);this._setAriaExpanded(l.cells.getCellElement(-1,c),!0);let m=n.hostElement.querySelectorAll("input");for(let e=0;e<m.length;e++){let t=m[e];if(t.offsetHeight>0&&t.tabIndex>-1&&!t.disabled){t.focus();break}}n.containsFocus()||n.focus()}_setAriaExpanded(e,t){if(e){var i=e.querySelector("."+FlexGridFilter._WJC_FILTER);wijmo_1.setAttribute(i,"aria-expanded",t)}}closeEditor(){let e=this._g,t=wijmo_1.Control.getControl(this._divEdt),i=this._edtCol;t&&wijmo_1.hidePopup(t.hostElement,()=>{t.dispose()});if(i){let t=e.columnHeaders,l=t.rows.length?t.getCellElement(t.rows.length-1,i.index):null;this._setAriaExpanded(l,!1);l=e.cells.getCellElement(-1,i.index);this._setAriaExpanded(l,!1)}this._divEdt=null;this._edtCol=null}apply(){let e=this._g.collectionView;if(e){let t=this._g.editableCollectionView;if(t){t.commitEdit();t.commitNew()}this.excludedRowsSet=null;e.filter=this._filter.bind(this)}let t=e?e.updateFilterDefinition:null;wijmo_1.isFunction(t)&&t.call(e,this);this.onFilterApplied()}clear(){if(this._filters.length){this._filters=[];this.apply()}}onFilterApplied(e){this.filterApplied.raise(this,e)}onEditingFilter(e){this.editingFilter.raise(this,e);return!e.cancel}onFilterChanging(e){this.filterChanging.raise(this,e);return!e.cancel}onFilterChanged(e){this.filterChanged.raise(this,e)}onExclusiveValueSearchChanged(e){this.exclusiveValueSearchChanged.raise(this,e)}_onShowIncludeSelectionChanged(e){this._showIncludeSelectionChanged.raise(this,e)}_asColumn(e){return wijmo_1.isString(e)?this._g.getColumn(e,!0):wijmo_1.isNumber(e)?this._g.columns[e]:wijmo_1.asType(e,wijmo_grid_1.Column,!1)}_filter(e){const t=this.excludedRowsSet;if(!this.reApplyFilterOnUpdate&&t.has(e))return!0;let i=this._filters;for(let t=0;t<i.length;t++){let l=i[t];if(l.column!=FlexGridFilter._skipColumn&&!l.apply(e))return!1}return!0}_formatItem(e,t){if(t.panel==e.columnHeaders){let e=this._g,i=e.getMergedRange(t.panel,t.row,t.col)||new wijmo_grid_1.CellRange(t.row,t.col),l=e.columns[i.col],s=e._getBindingColumn(t.panel,t.row,l),r=t.cell;if(i.row2==t.panel.rows.length-1||l!=s){let i=this.getColumnFilter(s,this.defaultFilterType!=FilterType.None),a=this._filterColumns;a&&a.length&&a.indexOf(s.binding)<0&&a.indexOf(s.name)<0&&(i=null);if(i){wijmo_1.toggleClass(r,exports.FlexGridFilterClsNames.filterOn,i.isActive);wijmo_1.toggleClass(r,exports.FlexGridFilterClsNames.filterOff,!i.isActive)}else{wijmo_1.removeClass(r,exports.FlexGridFilterClsNames.filterOn);wijmo_1.removeClass(r,exports.FlexGridFilterClsNames.filterOff)}if(i&&i.filterType!=FilterType.None){this._showIcons&&this._addFilterButton(s,i,r);0==t.row&&(r=e.cells.getCellElement(-1,t.col))&&this._addFilterButton(l,i,r)}}}}_addFilterButton(e,t,i){let l=FlexGridFilter._WJC_FILTER,s=wijmo_1.createElement(`<button class="${wijmo_1.InputFormElementsClsNames.btn} ${wijmo_1.GlyphClsNames.btnGlyph} ${wijmo_1.UtilitesClsNames.right} `+l+'" type="button" tabindex="-1">'+`<span class=${wijmo_1.GlyphClsNames.filter}></span>`+"</button>");wijmo_1.setAriaLabel(s,wijmo_1.culture.FlexGridFilter.ariaLabels.edit+" "+e.header);wijmo_1.setAttribute(s,"aria-haspopup","dialog");wijmo_1.setAttribute(s,"aria-expanded",!1);wijmo_1.setAttribute(s,"aria-describedby",e.describedById);wijmo_1.setAttribute(s,"aria-pressed",t.isActive);if(!i.querySelector("."+l)){1==i.children.length&&(i=i.querySelector("div")||i);i.insertBefore(s,i.firstChild)}}_mousedown(e){this._edtColPrev=this._edtCol}_click(e){if(this._toggleEditor(e)){e.stopPropagation();e.preventDefault()}}_toggleEditor(e){if(!e.defaultPrevented&&0==e.button)if(wijmo_1.closestClass(e.target,FlexGridFilter._WJC_FILTER)){let t=this._g,i=t.hitTest(e.target);i.panel||(i=t.hitTest(e));if(i.panel&&t.columnHeaders&&t.cells&&(i.panel._uid==t.columnHeaders._uid||i.panel._uid==t.cells._uid&&-1==i.row)){let e=t.getMergedRange(i.panel,i.row,i.col)||new wijmo_grid_1.CellRange(i.row,i.col),l=t.columns[e.col],s=t._getBindingColumn(i.panel,i.row,l);if(this._divEdt&&this._edtCol==s){this.closeEditor();t.focus()}else s!=this._edtColPrev&&setTimeout(()=>{this.editColumnFilter(s,i)},this._divEdt?100:0);return!0}}else this.closeEditor();return!1}_keydown(e){if(!e.defaultPrevented&&!e.ctrlKey&&e.altKey&&(e.keyCode==wijmo_1.Key.Down||e.keyCode==wijmo_1.Key.Up)){let t=this.grid,i=t.selection,l=i.col>-1?t.columns[i.col]:null,s=l?t._getBindingColumn(t.cells,i.row,l):null,r=s&&s.dataMap&&s.dataMapEditor==wijmo_grid_1.DataMapEditor.DropDownList;if(this.filterColumns&&this.filterColumns.length>0&&!this.filterColumns.includes(s._binding._path)){e.preventDefault();return!1}if(t.activePanelType!=wijmo_grid_1.CellType.Cell&&t.activePanelType!=wijmo_grid_1.CellType.ColumnHeader){e.preventDefault();return!1}s&&s.editor instanceof wijmo_input_1.DropDown&&(r=!0);if(s&&!r){let t=this.getColumnFilter(s,!1);if(t&&t.filterType!=FilterType.None){this.editColumnFilter(s);e.preventDefault();e.stopPropagation()}}}}}FlexGridFilter._WJC_FILTER=exports.FlexGridFilterClsNames.elemFilter;exports.FlexGridFilter=FlexGridFilter;exports.empty={};class ConditionFilter{constructor(e){this._c1=new FilterCondition(this);this._c2=new FilterCondition(this);this._and=!0;this._col=e}get condition1(){return this._c1}get condition2(){return this._c2}get and(){return this._and}set and(e){this._and=wijmo_1.asBoolean(e)}get dataMap(){return this._map}set dataMap(e){this._map=wijmo_1.asType(e,wijmo_grid_1.DataMap,!0)}get column(){return this._col}get isActive(){return this._c1.isActive||this._c2.isActive}apply(e){let t=this._col,i=this._c1,l=this._c2,s=!1,r=!1;if(!t||!t._binding||!this.isActive)return!0;e=t._binding.getValue(e);let a=this.dataMap||t.dataMap;if(a)e=a.getDisplayValue(e);else if(wijmo_1.isDate(e)){s=!this._hasTimePart();r=!this._hasDatePart();let t=FilterCondition._refDateTime;s?e=wijmo_1.DateTime.fromDateTime(e,t):r&&(e=wijmo_1.DateTime.fromDateTime(t,e))}else if(wijmo_1.isNumber(e)){let i=wijmo_1.Globalize,l=t.format,s=i.formatNumber(e,l);e=i.parseFloat(s,l)}let n=i.apply(e,s,r),o=l.apply(e,s,r);return i.isActive&&l.isActive?this._and?n&&o:n||o:i.isActive?n:!l.isActive||o}clear(){this._c1.clear();this._c2.clear();this.and=!0}_hasDatePart(){let e=this._col.format;if(!e)return!0;e=wijmo_1.culture.Globalize.calendar.patterns[e]||e;return/[yMd]+/.test(e)}_hasTimePart(){let e=this._col.format;if(!e)return!1;e=wijmo_1.culture.Globalize.calendar.patterns[e]||e;return/[Hmst]+/.test(e)}implementsInterface(e){return"IColumnFilter"==e}}exports.ConditionFilter=ConditionFilter;class ConditionFilterEditor extends wijmo_1.Control{constructor(e,t){super(e);this._canApply=!1;this.canApplyChanged=new wijmo_1.Event;this._filter=wijmo_1.asType(t,ConditionFilter,!1);let i=this.getTemplate();this.applyTemplate(`${wijmo_1.ControlClsNames.hostElement} ${exports.ConditionFilterEditorClsNames.hostElement}`,i,{_divHdr:"div-hdr",_divCmb1:"div-cmb1",_divVal1:"div-val1",_btnAnd:"btn-and",_btnOr:"btn-or",_spAnd:"sp-and",_spOr:"sp-or",_divCmb2:"div-cmb2",_divVal2:"div-val2"});let l=wijmo_1.culture.FlexGridFilter,s=l.ariaLabels;wijmo_1.setAriaLabel(this._btnAnd,s.and);wijmo_1.setAriaLabel(this._btnOr,s.or);wijmo_1.setText(this._divHdr,l.header);wijmo_1.setText(this._spAnd,l.and);wijmo_1.setText(this._spOr,l.or);const r=wijmo_1.getUniqueId("cmb1");this._divHdr.htmlFor=r;this._divCmb1.id=r;this._cmb1=this._createOperatorCombo(this._divCmb1,s.op1);this._cmb2=this._createOperatorCombo(this._divCmb2,s.op2);this._val1=this._createValueInput(this._divVal1,s.val1);this._val2=this._createValueInput(this._divVal2,s.val2);this._val1.isDisabled=!0;this._cmb1.selectedIndexChanged.addHandler((e,t)=>{this._val1.isDisabled=null==e.selectedValue;this.canApply=!this._val1.isDisabled||!this._val2.isDisabled});this._val2.isDisabled=!0;this._cmb2.selectedIndexChanged.addHandler((e,t)=>{this._val2.isDisabled=null==e.selectedValue;this.canApply=!this._val1.isDisabled||!this._val2.isDisabled});let a=this.hostElement;this.addEventListener(a,"change",this._btnAndOrChanged.bind(this));this.addEventListener(a,"keydown",this._keydown.bind(this));setTimeout(()=>{this.updateEditor()})}static get controlTemplate(){ConditionFilterEditor._ctrlTemplate||(ConditionFilterEditor._ctrlTemplate='<div><label wj-part="div-hdr"></label><div wj-part="div-cmb1"></div><br/><div wj-part="div-val1"></div><br/><div role="radiogroup" style="text-align:center"><label><input wj-part="btn-and" type="radio" role="radio"> <span wj-part="sp-and"></span> </label>&nbsp;&nbsp;&nbsp;<label><input wj-part="btn-or" type="radio" role="radio"> <span wj-part="sp-or"></span> </label></div><div wj-part="div-cmb2"></div><br/><div wj-part="div-val2"></div><br/></div>');return ConditionFilterEditor._ctrlTemplate}static set controlTemplate(e){ConditionFilterEditor._ctrlTemplate=e}get filter(){return this._filter}get canApply(){return this._canApply}set canApply(e){if(e!=this._canApply){this._canApply=e;this.onCanApplyChanged()}}updateEditor(){let e=this._filter.condition1,t=this._filter.condition2;this._cmb1.selectedValue=e.operator;this._cmb2.selectedValue=t.operator;if(this._val1 instanceof input.ComboBox&&!(this._val1 instanceof input.InputTime)){this._val1.text=wijmo_1.changeType(e.value,wijmo_1.DataType.String);this._val2.text=wijmo_1.changeType(t.value,wijmo_1.DataType.String)}else{this._val1.value=e.value;this._val2.value=t.value}let i=this._filter.and;this._checkRadio(this._btnAnd,i);this._checkRadio(this._btnOr,!i)}clearEditor(){this._cmb1.selectedValue=this._cmb2.selectedValue=null;this._val1.text=this._val2.text=null;this._checkRadio(this._btnAnd,!0);this._checkRadio(this._btnOr,!1)}get isEditorClear(){return null==this._cmb1.selectedValue&&!this._val1.text&&null==this._cmb2.selectedValue&&!this._val2.text}updateFilter(){let e=this._filter.condition1,t=this._filter.condition2;e.operator=this._cmb1.selectedValue;t.operator=this._cmb2.selectedValue;if("value"in this._val1){e.value=this._val1.value;t.value=this._val2.value}else{e.value=this._getComboValue(this._val1);t.value=this._getComboValue(this._val2)}this._filter.and=this._btnAnd.checked}onCanApplyChanged(e){this.canApplyChanged.raise(this,e)}_getComboValue(e){return e.selectedIndex>-1?e.selectedValue:e.text}_createOperatorCombo(e,t){let i=this._filter.column,l=wijmo_1.culture.FlexGridFilter,s=l.stringOperators,r=wijmo_1.DataType;this._filter.dataMap||i.dataMap||(i.dataType==r.Date?s=l.dateOperators:i.dataType==r.Number?s=l.numberOperators:i.dataType==r.Boolean&&(s=l.booleanOperators));let a=new input.ComboBox(e,{itemsSource:s,displayMemberPath:"name",selectedValuePath:"op"});wijmo_1.setAriaLabel(a.inputElement,t);return a}_createValueInput(e,t){let i=this._filter,l=i.column,s=i.dataMap||l.dataMap,r=null,a=wijmo_1.DataType;if(l.dataType==a.Date)(r=i._hasDatePart()?i._hasTimePart()?new input.InputDateTime(e):new input.InputDate(e):new input.InputTime(e)).format=l.format;else if(l.dataType!=a.Number||s){(r=new input.ComboBox(e)).isEditable=!0;r.trimText=!1;if(s){r.itemsSource=s.getDisplayValues();r.caseSensitiveSearch=!!l.grid&&l.grid.caseSensitiveSearch}else l.dataType==a.Boolean&&(r.itemsSource=[!0,!1])}else(r=new input.InputNumber(e)).format=l.format;r.isRequired=!1;wijmo_1.setAriaLabel(r.inputElement,t);return r}_btnAndOrChanged(e){let t=e.target==this._btnAnd,i=e.target==this._btnOr;if(t||i){this._checkRadio(this._btnAnd,t);this._checkRadio(this._btnOr,i)}}_checkRadio(e,t){e.checked=t;wijmo_1.setAttribute(e,"aria-checked",t.toString());wijmo_1.setAttribute(e,"tabindex",t?null:"-1")}_keydown(e){let t=e.target==this._btnAnd,i=e.target==this._btnOr;if(t||i)switch(e.keyCode){case wijmo_1.Key.Left:case wijmo_1.Key.Right:case wijmo_1.Key.Up:case wijmo_1.Key.Down:let i=t?this._btnOr:this._btnAnd;i.click();i.focus();e.preventDefault()}}}ConditionFilterEditor._ctrlTemplate="";exports.ConditionFilterEditor=ConditionFilterEditor;class FilterCondition{constructor(e){this._op=null;this._filter=e}get operator(){return this._op}set operator(e){this._op=wijmo_1.asEnum(e,Operator,!0)}get value(){return this._val}set value(e){this._val=e;this._strVal=wijmo_1.isString(e)?this._getCaseString(e):null}get isActive(){switch(this._op){case null:return!1;case Operator.EQ:case Operator.NE:return!0;default:return null!=this._val||null!=this._strVal}}clear(){this.operator=null;this.value=null}apply(e,t,i){let l=this._strVal||this._val;wijmo_1.isString(e)&&(e=this._getCaseString(e));wijmo_1.isString(l)&&null==e&&(e="");wijmo_1.isDate(l)&&(t?l=wijmo_1.DateTime.fromDateTime(l,FilterCondition._refDateTime):i&&(l=wijmo_1.DateTime.fromDateTime(FilterCondition._refDateTime,l)));let s=Operator;switch(this._op){case null:return!0;case s.EQ:return null!=e&&null!=l?e.valueOf()==l.valueOf():e==l;case s.NE:return null!=e&&null!=l?e.valueOf()!=l.valueOf():e!=l;case s.GT:return e>l;case s.GE:return e>=l;case s.LT:return e<l;case s.LE:return e<=l;case s.BW:return!(null==this._strVal||!wijmo_1.isString(e))&&0==e.indexOf(this._strVal);case s.EW:return!!(null!=this._strVal&&wijmo_1.isString(e)&&e.length>=this._strVal.length)&&e.substr(e.length-this._strVal.length)==l;case s.CT:return!(null==this._strVal||!wijmo_1.isString(e))&&e.indexOf(this._strVal)>-1;case s.NC:return!(null==this._strVal||!wijmo_1.isString(e))&&e.indexOf(this._strVal)<0;case s.NBW:return!(null==this._strVal||!wijmo_1.isString(e))&&0!==e.indexOf(this._strVal);case s.NEW:return!(null==this._strVal||!wijmo_1.isString(e))&&e.substring(e.length-this._strVal.length)!==l}throw"Unknown operator"}_getCaseString(e){let t=this._filter.column,i=t?t.grid:null;return i&&i.caseSensitiveSearch?e:e.toLowerCase()}}FilterCondition._refDateTime=new Date(2e3,0,1,0,0,0);exports.FilterCondition=FilterCondition;!function(e){e[e.EQ=0]="EQ";e[e.NE=1]="NE";e[e.GT=2]="GT";e[e.GE=3]="GE";e[e.LT=4]="LT";e[e.LE=5]="LE";e[e.BW=6]="BW";e[e.EW=7]="EW";e[e.CT=8]="CT";e[e.NC=9]="NC";e[e.NBW=10]="NBW";e[e.NEW=11]="NEW"}(Operator=exports.Operator||(exports.Operator={}));!function(e){e[e.Text=0]="Text";e[e.Regex=1]="Regex";e[e.Excel=2]="Excel"}(ValueFilterSearchKind=exports.ValueFilterSearchKind||(exports.ValueFilterSearchKind={}));class ValueFilter{constructor(e){this._values=null;this._filterText=null;this._xValueSearch=!0;this._maxValues=250;this._uniqueValues=null;this._sortValues=!0;this._searchType=ValueFilterSearchKind.Excel;this._showIncludeSelection=!1;this._col=e}get searchType(){return this._searchType}set searchType(e){this._searchType=wijmo_1.asEnum(e,ValueFilterSearchKind)}get showValues(){return this._values}set showValues(e){this._values=e}get filterText(){return this._filterText}set filterText(e){this._filterText=wijmo_1.asString(e)}get exclusiveValueSearch(){return this._xValueSearch}set exclusiveValueSearch(e){if((e=wijmo_1.asBoolean(e))!==this._xValueSearch){this._xValueSearch=wijmo_1.asBoolean(e);e&&(this._filterText="")}}get maxValues(){return this._maxValues}set maxValues(e){this._maxValues=wijmo_1.asNumber(e,!1,!0)}get uniqueValues(){return this._uniqueValues}set uniqueValues(e){this._uniqueValues=wijmo_1.asArray(e)}get sortValues(){return this._sortValues}set sortValues(e){this._sortValues=wijmo_1.asBoolean(e)}get dataMap(){return this._map}set dataMap(e){this._map=wijmo_1.asType(e,wijmo_grid_1.DataMap,!0)}get showIncludeSelection(){return this._showIncludeSelection}set showIncludeSelection(e){e!=this._showIncludeSelection&&(this._showIncludeSelection=wijmo_1.asBoolean(e,!1))}get column(){return this._col}get isActive(){return null!=this._values&&Object.keys(this._values).length>0}apply(e){let t=this.column;if(!(t&&t._binding&&this._values&&Object.keys(this._values).length))return!0;e=t._binding.getValue(e);e=this.dataMap?this.dataMap.getDisplayValue(e)||"":t.dataMap?t.dataMap.getDisplayValue(e)||"":wijmo_1.Globalize.format(e,t.format);return null!=this._values[e]}clear(){this.showValues=null;this.filterText=null}getUniqueValues(e=!0){let t=[],i=this.column,l=wijmo_1.Globalize.format;if(this.uniqueValues){this.uniqueValues.forEach(e=>{t.push({value:e,text:l(e,i.format)})});return t}let s={},r=i.collectionView,a=r?r.sourceCollection:[];if(e&&r&&r.sourceCollection&&r.filter)try{FlexGridFilter._skipColumn=this._col;let e=[];for(let t=0;t<a.length;t++)r.filter(a[t])&&e.push(a[t]);a=e}finally{FlexGridFilter._skipColumn=null}for(let e=0;e<a.length;e++){let r=i._binding.getValue(a[e]),n=this.dataMap?this.dataMap.getDisplayValue(r)||"":i.dataMap?i.dataMap.getDisplayValue(r)||"":l(r,i.format);if(!s[n]){s[n]=!0;t.push({value:r,text:n})}}return t}implementsInterface(e){return"IColumnFilter"==e}}exports.ValueFilter=ValueFilter;class ValueFilterEditor extends wijmo_1.Control{constructor(e,t){super(e);this._canApply=!1;this._isFiltering=!1;this.canApplyChanged=new wijmo_1.Event;this._filter=wijmo_1.asType(t,ValueFilter,!1);let i=this.getTemplate();this.applyTemplate(`${wijmo_1.ControlClsNames.hostElement} ${exports.ValueFilterEditorClsNames.hostElement}`,i,{_divFilter:"div-filter",_cbSelectAll:"cb-select-all",_spSelectAll:"sp-select-all",_cbIncludeSel:"cb-include-sel",_spIncludeSel:"sp-include-sel",_lblIncludeSel:"lbl-include-sel",_divOptions:"div-options",_divValues:"div-values",_divExceeds:"div-exceeds",_aExceeds:"a-exceeds"});this._cbSelectAll.tabIndex=0;this._cbIncludeSel.tabIndex=0;let l=wijmo_1.culture.FlexGridFilter;wijmo_1.setText(this._spSelectAll,l.selectAll);wijmo_1.setText(this._spIncludeSel,l.includeSelection);wijmo_1.setText(this._aExceeds,l.exceedsMaxValues);let s=this._view=new wijmo_1.CollectionView(null,{sortNulls:wijmo_1.SortNulls.First,filter:this._filterValues.bind(this)});if(t.sortValues){let e=t.column.dataMap||t.dataMap?"text":"value",i=t.column.dataType!=wijmo_1.DataType.Boolean;s.sortDescriptions.push(new wijmo_1.SortDescription(e,i))}s.collectionChanged.addHandler(this._updateSelectAllCheck,this);this._filterText="";this._rxFilter=null;this._cmbFilter=new input.ComboBox(this._divFilter,{trimText:!1,isRequired:!1,placeholder:l.search});this._cmbFilter.isEditable=!0;this._lbValues=new input.ListBox(this._divValues,{displayMemberPath:"text",checkedMemberPath:"show",itemsSource:this._view,itemFormatter:(e,t)=>t||l.null,checkedItemsChanged:e=>this._updateSelectAllCheck()});wijmo_1.setAttribute(this._divValues,"aria-label",wijmo_1.culture.FlexGridFilter.ariaLabels.listBox);wijmo_1.setAriaLabel(this._cmbFilter.inputElement,l.ariaLabels.search);wijmo_1.setAttribute(this._lbValues.hostElement,"aria-multiselectable",!0);this._cmbFilter.inputElement.addEventListener("input",this._filterTextChanged.bind(this));this._cbSelectAll.addEventListener("click",this._cbSelectAllClicked.bind(this));if(!this._popup){this._initPopup();this._aExceeds&&this.addEventListener(this._aExceeds,"click",e=>{e.preventDefault();this._popup.show(!0)})}this.updateEditor();this._filter.showValues?this._initialItems=s.sourceCollection.filter(e=>this._filter.showValues[e.text||e.value]||!1):this._initialItems=this._lbValues.checkedItems}static get controlTemplate(){ValueFilterEditor._ctrlTemplate||(ValueFilterEditor._ctrlTemplate='<div><div wj-part="div-filter"></div>'+`<div wj-part="div-options" class="${input.ListBoxClsNames.listBoxItem}">`+'<label><input wj-part="cb-select-all" type="checkbox"> <span wj-part="sp-select-all"></span></label><br /><label wj-part="lbl-include-sel"><input wj-part="cb-include-sel" type="checkbox"> <span wj-part="sp-include-sel"></span></label></div><div wj-part="div-values"></div><div wj-part="div-exceeds"><a wj-part="a-exceeds"></a></div></div>');return ValueFilterEditor._ctrlTemplate}static set controlTemplate(e){ValueFilterEditor._ctrlTemplate=e}get filter(){return this._filter}get canApply(){return this._canApply}set canApply(e){if(e!=this._canApply){this._canApply=e;this.onCanApplyChanged()}}get _shouldIncludeSelection(){return this._filter.showIncludeSelection&&this._cbIncludeSel.checked}updateEditor(){let e=this._filter.column,t=this._filter.getUniqueValues(!0);this._lbValues.isContentHtml=e.isContentHtml;let i=this._filter.showValues;if(i&&0!=Object.keys(i).length){for(let e in i)for(let i=0;i<t.length;i++)if(t[i].text==e){t[i].show=!0;break}}else t.forEach(e=>e.show=!0);let l=this._filter.filterText||"",s=this._getCaseSensitive();this._cmbFilter.text=l;this._filterText=s?l:l.toLowerCase();this._rxFilter=this._getSearchExp(l,s);this._filter.showIncludeSelection&&!this.hostElement.contains(this._lblIncludeSel)?this._divOptions.appendChild(this._lblIncludeSel):this._filter.showIncludeSelection||this._lblIncludeSel.remove();let r=this._view;r.pageSize=this._filter.maxValues;r.sourceCollection=t;setTimeout(()=>{this._adjustWidths()},0);this._updateExceedsMaxValuesDisplay()}clearEditor(e=!0){this._cmbFilter.text="";this._filterText="";this._rxFilter=null;let t=this._view;t.pageSize=0;t.items.forEach(t=>{t.show=e});t.moveCurrentTo(-1);t.refresh();t.pageSize=this._filter.maxValues}get isEditorClear(){return!this._filterText&&!this._cbSelectAll.indeterminate}_updateFilter(){let e=null,t=this._getItems();if(this._filterText||this._cbSelectAll.indeterminate){e=this._shouldIncludeSelection&&this._filter.showValues||{};for(let i=0;i<t.length;i++){let l=t[i];l.show&&(e[l.text]=!0)}}let i=this._filter;i.showValues=e;i.filterText=this._filterText}updateFilter(){this._isFiltering?setTimeout(()=>{this._updateFilter()},wijmo_1.Control._SEARCH_DELAY+100):this._updateFilter()}onCanApplyChanged(e){this.canApplyChanged.raise(this,e)}_getCaseSensitive(){let e=this._filter.column,t=e?e.grid:null;return t&&t.caseSensitiveSearch}_getItems(){return this._filter.exclusiveValueSearch?this._view.items:this._view.sourceCollection}_filterTextChanged(){""===this._filterText&&this._cbSelectAll.checked||this._filter.exclusiveValueSearch?this._lbValues._addMode=!1:this._lbValues._addMode=!0;this._toFilter&&clearTimeout(this._toFilter);this._isFiltering=!0;this._toFilter=setTimeout(()=>{let e=this._cmbFilter.text,t=this._getCaseSensitive();t||(e=e.toLowerCase());if(e!=this._filterText){this._filterText=e;this._rxFilter=this._getSearchExp(e,t);this._view.refresh();this._updateExceedsMaxValuesDisplay();if(!e){let e=this._initialItems;if(e.length&&this._view.sourceCollection.indexOf(e[0])>-1){this._lbValues.checkedItems=this._initialItems;this._updateSelectAllCheck();this._isFiltering=!1;return}}if(this._filter.exclusiveValueSearch){this._cbSelectAll.checked=!0;this._cbSelectAllClicked()}else this._updateSelectAllCheck()}this._isFiltering=!1},wijmo_1.Control._SEARCH_DELAY)}_getSearchExp(e,t){if(!e)return null;switch(this._filter.searchType){case ValueFilterSearchKind.Text:return this._getTextSearchExp(e,t);case ValueFilterSearchKind.Regex:return this._getRegexSearchExp(e,t);case ValueFilterSearchKind.Excel:return this._getExcelSearchExp(e,t)}}_getTextSearchExp(e,t){return new RegExp(wijmo_1.escapeRegExp(e),t?"":"i")}_getRegexSearchExp(e,t){try{return new RegExp(e,t?"s":"is")}catch(e){return new RegExp("(?!)",t?"s":"is")}}_getExcelSearchExp(e,t){let i=e;i=(i=(i=(i=(i=(i=(i=(i=i.replace(/([.+^$[\]\\(){}|-])/g,"\\$1")).replace(/~~/g,"__`$0`__")).replace(/~\?/g,"__`$1`__")).replace(/~\*/g,"__`$2`__")).replace(/~(.)/g,"$1")).replace(/(\?+)/g,(function(e,t){return Array.from(t).map(e=>".").join("")}))).replace(/(\*+)/g,(function(e,t){return Array.from(t).map(e=>".*").join("")}))).replace(/__`\$(\d)`__/g,(function(e,t){switch(t){case"0":return"~";case"1":return"\\?";case"2":return"\\*"}}));/([^~]|^)[?*]/g.test(e)&&(i="^"+i+"$");("~"===e||e&&!i.length)&&(i="$a^");return new RegExp(i,t?"s":"is")}_filterValues(e){let t=this._rxFilter;return null==t||null==e||t.test(e.text)}_cbSelectAllClicked(){let e=this._cbSelectAll.checked,t=this._divValues.scrollTop,i=this._getItems();for(let t=0;t<i.length;t++)i[t].show=e;this._view.refresh();this._divValues.scrollTop=t;setTimeout(()=>{this._adjustWidths()},0)}_updateSelectAllCheck(){let e=this._getItems(),t=0,i=0;for(let l=0;l<e.length;l++){e[l].show?t++:i++;if(t&&i)break}wijmo_1.setChecked(this._cbSelectAll,t&&i?null:t>0);this.canApply=t>0}_adjustWidths(){let e=this._lbValues.hostElement;if(e&&e.offsetHeight>0){let t=0,i=e.querySelectorAll(`.${input.ListBoxClsNames.listBoxItem} label`);if(i.length){for(let e=0;e<i.length;e++)t=Math.max(t,i[e].scrollWidth);if(t){let i=e.querySelectorAll(`.${input.ListBoxClsNames.listBoxItem}`);if(i.length){let e=i[0],l=getComputedStyle(e),s=parseFloat(l.paddingLeft)+parseFloat(l.paddingRight);for(let e=0;e<i.length;e++)i[e].style.width=t+s+"px"}}}}}get exceedsMaxValues(){return!(!this._view||!this._view._view)&&this._view._view.length>this.filter.maxValues}_updateExceedsMaxValuesDisplay(){this._aExceeds.style.display=this.exceedsMaxValues?"":"none"}_initPopup(){let e=document.createElement("div");e.innerHTML='<div role="dialog">'+`<div class=${input.PopupClsNames.dialogBody}>`+`<div class=${exports.ValueFilterEditorClsNames.customModalText}>`+"<p>"+wijmo_1.culture.FlexGridFilter.popupBody+"</p></div></div>"+`<div class="${input.PopupClsNames.dialogFooter} ${exports.ValueFilterEditorClsNames.modalFooter}" >`+`<button class="btn btn-primary ${wijmo_1.UtilitesClsNames.hideOk}">`+wijmo_1.culture.FlexGridFilter.popupOkButton+"</button></div></div>";this._popup=new input.Popup(e,{modal:!0,fadeIn:!0,fadeOut:!0})}}ValueFilterEditor._ctrlTemplate="";exports.ValueFilterEditor=ValueFilterEditor;class ColumnFilter{constructor(e,t){this._owner=e;this._col=t;this._valueFilter=new ValueFilter(t);this._valueFilter.exclusiveValueSearch=e.exclusiveValueSearch;this._valueFilter.showIncludeSelection=e.showIncludeSelection;this._conditionFilter=new ConditionFilter(t);e.exclusiveValueSearchChanged.addHandler(e=>{this._valueFilter.exclusiveValueSearch=e.exclusiveValueSearch});e._showIncludeSelectionChanged.addHandler(e=>{this._valueFilter.showIncludeSelection=e.showIncludeSelection})}get filterType(){return null!=this._filterType?this._filterType:this._owner.defaultFilterType}set filterType(e){if((e=wijmo_1.asEnum(e,FilterType,!0))!=this._filterType){let t=this.isActive;this.clear();this._filterType=e;t?this._owner.apply():this._col.grid&&this._col.grid.invalidate()}}get dataMap(){return this.conditionFilter.dataMap||this.valueFilter.dataMap}set dataMap(e){this.conditionFilter.dataMap=e;this.valueFilter.dataMap=e}get valueFilter(){return this._valueFilter}get conditionFilter(){return this._conditionFilter}get column(){return this._col}get isActive(){return this._conditionFilter.isActive||this._valueFilter.isActive}apply(e){return this._conditionFilter.apply(e)&&this._valueFilter.apply(e)}clear(){this._valueFilter.clear();this._conditionFilter.clear()}implementsInterface(e){return"IColumnFilter"==e}}exports.ColumnFilter=ColumnFilter;wijmo_1._addCultureInfo("FlexGridFilter",{ariaLabels:{edit:"Edit Filter for Column",dialog:"Filter Editor for Column",asc:"Sort Column in Ascending Order",dsc:"Sort Column in Descending Order",search:"Search Item List",op1:"First Condition Operator",val1:"First Condition Value",and:"Require both Conditions",or:"Require either Condition",op2:"Second Condition Operator",val2:"Second Condition Value",active:"active",listBox:"List of options available for filtering"},ascending:"↑ Ascending",descending:"↓ Descending",apply:"Apply",cancel:"Cancel",clear:"Clear",conditions:"Filter by Condition",values:"Filter by Value",search:"Search",selectAll:"Select All",includeSelection:"Include Current Selection",null:"(nothing)",exceedsMaxValues:"Not all items showing",popupBody:"This column has more than 250 unique items. Only the first 250 unique items are displayed.",popupOkButton:"OK",header:"Show items where the value",and:"And",or:"Or",stringOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Does not equal",op:Operator.NE},{name:"Begins with",op:Operator.BW},{name:"Does not begin with",op:Operator.NBW},{name:"Ends with",op:Operator.EW},{name:"Does not end with",op:Operator.NEW},{name:"Contains",op:Operator.CT},{name:"Does not contain",op:Operator.NC}],numberOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Does not equal",op:Operator.NE},{name:"Is Greater than",op:Operator.GT},{name:"Is Greater than or equal to",op:Operator.GE},{name:"Is Less than",op:Operator.LT},{name:"Is Less than or equal to",op:Operator.LE}],dateOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Is Before",op:Operator.LT},{name:"Is After",op:Operator.GT}],booleanOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Does not equal",op:Operator.NE}]});class ColumnFilterEditor extends wijmo_1.Control{constructor(e,t,i=!0){super(e,null,!0);this._disallowedControls=new Set(["TransposedGrid","WjTransposedGrid","TransposedMultiRow","WjTransposedMultiRow"]);this.filterChanged=new wijmo_1.Event;this.buttonClicked=new wijmo_1.Event;this._filter=wijmo_1.asType(t,ColumnFilter);let l=this.getTemplate();this.applyTemplate(`${wijmo_1.ControlClsNames.hostElement} ${wijmo_1.ControlClsNames.content} ${wijmo_1.ControlClsNames.content} ${exports.ColumnFilterEditorClsNames.hostElement}`,l,{_divSort:"div-sort",_btnAsc:"btn-asc",_btnDsc:"btn-dsc",_divType:"div-type",_aVal:"a-val",_aCnd:"a-cnd",_divEdtVal:"div-edt-val",_divEdtCnd:"div-edt-cnd",_btnApply:"btn-apply",_btnCancel:"btn-cancel",_btnClear:"btn-clear"});let s=wijmo_1.culture.FlexGridFilter,r=s.ariaLabels,a=this.hostElement,n=this.filter.column,o=n.grid.collectionView;wijmo_1.setAttribute(a,"role","dialog");wijmo_1.setAriaLabel(a,r.dialog+" "+n.header);wijmo_1.setAriaLabel(this._btnAsc,r.asc);wijmo_1.setAriaLabel(this._btnDsc,r.dsc);wijmo_1.setText(this._btnAsc,s.ascending);wijmo_1.setText(this._btnDsc,s.descending);wijmo_1.setText(this._aVal,s.values);wijmo_1.setText(this._aCnd,s.conditions);wijmo_1.setText(this._btnApply,s.apply);wijmo_1.setText(this._btnCancel,s.cancel);wijmo_1.setText(this._btnClear,s.clear);let d=this.filter.conditionFilter.isActive||0==(t.filterType&FilterType.Value)?FilterType.Condition:FilterType.Value;this._showFilter(d);if(!n.allowSorting||this._disallowedControls.has(n.grid.constructor.name)){wijmo_1.enable(this._btnAsc,!1);wijmo_1.enable(this._btnDsc,!1)}i&&o&&o.canSort||(this._divSort.style.display="none");this._updateSortButtonState();let h=this._btnClicked.bind(this);this._btnApply.addEventListener("click",h);this._btnCancel.addEventListener("click",h);this._btnClear.addEventListener("click",h);this._btnAsc.addEventListener("click",h);this._btnDsc.addEventListener("click",h);this._aVal.addEventListener("click",h);this._aCnd.addEventListener("click",h);this.addEventListener(a,"keydown",e=>{if(!e.defaultPrevented){let t=e.target.tagName.match(/^(a|button)$/i);switch(e.keyCode){case wijmo_1.Key.Space:if(t){this._btnClicked(e);e.preventDefault()}break;case wijmo_1.Key.Enter:if(t)this._btnClicked(e);else{this.updateFilter();this.onFilterChanged();this.onButtonClicked()}e.preventDefault();break;case wijmo_1.Key.Escape:this.onButtonClicked();e.preventDefault();break;case wijmo_1.Key.Tab:wijmo_1.moveFocus(this.hostElement,e.shiftKey?-1:1);e.preventDefault()}}});this.addEventListener(window,"resize",()=>{this.isTouching||this._wasTouching||this.onButtonClicked()})}static get controlTemplate(){ColumnFilterEditor._ctrlTemplate||(ColumnFilterEditor._ctrlTemplate="<div>"+`<div wj-part="div-sort" class="${exports.ColumnFilterEditorClsNames.sortButtons}">`+`<button wj-part="btn-asc" class="${wijmo_1.InputFormElementsClsNames.btn}"></button>&nbsp;&nbsp;&nbsp;`+`<button wj-part="btn-dsc" class="${wijmo_1.InputFormElementsClsNames.btn}"></button>`+"</div>"+`<div wj-part="div-type" class="${exports.ColumnFilterEditorClsNames.filterType}">`+'<a wj-part="a-cnd" href="" draggable="false"></a>&nbsp;|&nbsp;<a wj-part="a-val" href="" draggable="false"></a></div><div wj-part="div-edt-val" tabindex="-1"></div><div wj-part="div-edt-cnd" tabindex="-1"></div><div style="text-align:right;margin-top:10px">'+`<button wj-part="btn-apply" class="${wijmo_1.InputFormElementsClsNames.btn}"></button>&nbsp;&nbsp;`+`<button wj-part="btn-cancel" class="${wijmo_1.InputFormElementsClsNames.btn}"></button>&nbsp;&nbsp;`+`<button wj-part="btn-clear" class="${wijmo_1.InputFormElementsClsNames.btn}"></button>`+"</div></div>");return ColumnFilterEditor._ctrlTemplate}static set controlTemplate(e){ColumnFilterEditor._ctrlTemplate=e}get filter(){return this._filter}updateEditor(){this._edtVal&&this._edtVal.updateEditor();this._edtCnd&&this._edtCnd.updateEditor()}updateFilter(){switch(this._getFilterType()){case FilterType.Value:this._edtVal.updateFilter();this.filter.conditionFilter.clear();break;case FilterType.Condition:this._edtCnd.updateFilter();this.filter.valueFilter.clear()}}onFilterChanged(e){this.filterChanged.raise(this,e)}onButtonClicked(e){this.buttonClicked.raise(this,e)}_showFilter(e){this._wasTouching=this.isTouching;if(e==FilterType.Value&&null==this._edtVal){this._edtVal=new ValueFilterEditor(this._divEdtVal,this.filter.valueFilter);this._edtVal.canApplyChanged.addHandler(e=>{wijmo_1.enable(this._btnApply,this._edtVal.canApply)})}if(e==FilterType.Condition&&null==this._edtCnd){this._edtCnd=new ConditionFilterEditor(this._divEdtCnd,this.filter.conditionFilter);this._edtCnd.canApplyChanged.addHandler(e=>{wijmo_1.enable(this._btnApply,this._edtCnd.canApply)})}if(0!=(e&this.filter.filterType))if(e==FilterType.Value){this._divEdtVal.style.display="";this._divEdtCnd.style.display="none";this._enableLink(this._aVal,!1);this._enableLink(this._aCnd,!0);this._edtVal.focus();this._edtVal._updateExceedsMaxValuesDisplay();wijmo_1.enable(this._btnApply,this._edtVal.canApply)}else{this._divEdtVal.style.display="none";this._divEdtCnd.style.display="";this._enableLink(this._aVal,!0);this._enableLink(this._aCnd,!1);this._edtCnd.focus();wijmo_1.enable(this._btnApply,this._edtCnd.canApply)}let t=this._divType.style;switch(this.filter.filterType){case FilterType.None:case FilterType.Condition:case FilterType.Value:t.display="none";break;default:t.display=""}}_enableLink(e,t){wijmo_1.toggleClass(e,wijmo_1.ControlStateClsNames.disabled,!t);wijmo_1.setAttribute(e,"href",t?"":null);wijmo_1.setAttribute(e,"disabled",t?null:"disabled")}_updateSortButtonState(){let e=this.filter.column,t=e?e.currentSort:"",i=wijmo_1.ControlStateClsNames.active,l=wijmo_1.culture.FlexGridFilter.ariaLabels;if("+"===t){wijmo_1.addClass(this._btnAsc,i);this._btnAsc.setAttribute("aria-label",`${l.asc} ${l.active}`)}else if("-"===t){wijmo_1.addClass(this._btnDsc,i);this._btnDsc.setAttribute("aria-label",`${l.dsc} ${l.active}`)}}_getFilterType(){let e=FilterType;return"none"!=this._divEdtVal.style.display?e.Value:e.Condition}_btnClicked(e){let t=e.target;e.preventDefault();e.stopPropagation();if(!wijmo_1.hasClass(t,wijmo_1.ControlStateClsNames.disabled))if(t!=this._aVal)if(t!=this._aCnd){if(t==this._btnAsc||t==this._btnDsc){let t=this.filter.column.grid,i=this.filter.column,l=i.sortMemberPath||i.binding,s=i.grid.collectionView.sortDescriptions,r=this.hostElement["$WJ-OWNR"]&&this.hostElement["$WJ-OWNR"]["wj-cell-index"];if(r){let i=r.panel,a=r.rng;null==a&&(a=new wijmo_grid_1.CellRange(r.row,r.col,r.row,r.col));let n=new wijmo_grid_1.CellRangeEventArgs(i,a,e);if(t.onSortingColumn(n)){s.deferUpdate(()=>{s.clear();s.push(new wijmo_1.SortDescription(l,e.target==this._btnAsc))});this._updateSortButtonState();t.onSortedColumn(n)}}}if(t==this._btnApply){this.updateFilter();this.onFilterChanged()}else if(t==this._btnClear){if(this.filter.isActive){this.filter.clear();this.onFilterChanged()}}else this.updateEditor();this.onButtonClicked()}else{this._showFilter(FilterType.Condition);wijmo_1.moveFocus(this._edtCnd.hostElement,0)}else{this._showFilter(FilterType.Value);wijmo_1.moveFocus(this._edtVal.hostElement,0)}}}ColumnFilterEditor._ctrlTemplate="";exports.ColumnFilterEditor=ColumnFilterEditor;wijmo_1._registerModule("wijmo.grid.filter",selfModule);
package/es2015-esm.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * Wijmo Library 5.20242.30
3
+ * Wijmo Library 5.20251.34
4
4
  * https://developer.mescius.com/wijmo
5
5
  *
6
6
  * Copyright(c) MESCIUS inc. All rights reserved.
@@ -11,4 +11,4 @@
11
11
  *
12
12
  */
13
13
 
14
- import{Column,DataMap,FlexGrid,DataMapEditor,CellRange,CellRangeEventArgs,CellType,_NewRowTemplate}from"@grapecity/wijmo.grid";import{Globalize,asString,asNumber,asArray,asBoolean,asType,asEnum,isString,isDate,DateTime,culture,isNumber,copy,changeType,setAttribute,showPopup,hidePopup,isFunction,createElement,toggleClass,removeClass,closestClass,setAriaLabel,Control,Event,DataType,Key,CollectionView,GlyphClsNames,InputFormElementsClsNames,UtilitesClsNames,setText,escapeRegExp,setChecked,SortDescription,SortNulls,ControlClsNames,getUniqueId,_addCultureInfo,enable,moveFocus,hasClass,addClass,ControlStateClsNames,_registerModule}from"@grapecity/wijmo";import{DropDown,DropDownClsNames}from"@grapecity/wijmo.input";import*as input from"@grapecity/wijmo.input";import*as selfModule from"@grapecity/wijmo.grid.filter";export const ColumnFilterEditorClsNames={filterType:"wj-filtertype",hostElement:"wj-columnfiltereditor",sortButtons:"wj-sort-buttons"};export const ConditionFilterEditorClsNames={hostElement:"wj-conditionfilter-editor"};export const FlexGridFilterClsNames={elemFilter:"wj-elem-filter",filter:"wj-filter",filterOff:"wj-filter-off",filterOn:"wj-filter-on",hostElement:"wj-columnfiltereditor"};export const ValueFilterEditorClsNames={hostElement:"wj-valuefilter-editor",customModalText:"wj-custom-modal-text",modalFooter:"wj-valuefilter-modal-footer"};export var FilterType;!function(e){e[e.None=0]="None";e[e.Condition=1]="Condition";e[e.Value=2]="Value";e[e.Both=3]="Both"}(FilterType||(FilterType={}));export class FlexGridFilter{constructor(e,t){this._showIcons=!0;this._showSort=!0;this._defFilterType=FilterType.Both;this._xValueSearch=!0;this._includeUpdatedRowsInFilter=!1;this._showIncludeSelection=!1;this.filterApplied=new Event;this.editingFilter=new Event;this.filterChanging=new Event;this.filterChanged=new Event;this.exclusiveValueSearchChanged=new Event;this._showIncludeSelectionChanged=new Event;this._filters=[];this._g=asType(e,FlexGrid,!1);this._g.formatItem.addHandler(this._formatItem.bind(this));this._g.itemsSourceChanged.addHandler(this.clear.bind(this));let i=this._g.hostElement;e.addEventListener(i,"mousedown",this._mousedown.bind(this),!0);e.addEventListener(i,"click",this._click.bind(this),!0);e.addEventListener(i,"keydown",this._keydown.bind(this),!0);this._g.invalidate();copy(this,t);this._init()}_init(){const e=this.grid,_excludeRowFromFilter=e=>{let t=this.grid;const i=this.excludedRowsSet;if(null!=t&&t.rows.length>e)if(t.itemsSource)if(t.rows[e]instanceof _NewRowTemplate){let l=t.editableCollectionView.currentAddItem||t.rows[e].dataItem;l&&i.add(l)}else t.rows[e].dataItem&&i.add(t.rows[e].dataItem);else t.rows[e]&&i.add(t.rows[e])};e.rowChanged&&e.rowChanged.addHandler((e,t)=>{t.added&&_excludeRowFromFilter(t.index)});e.rowEditEnding.addHandler((e,t)=>{_excludeRowFromFilter(t.row)});e.cellEditEnded.addHandler((e,t)=>{_excludeRowFromFilter(t.row)})}get excludedRowsSet(){let e=this.grid;e.selectedSheet&&(e=e.selectedSheet);e._newAddedRowsSet||(e._newAddedRowsSet=new WeakSet);return e._newAddedRowsSet}set excludedRowsSet(e){let t=this.grid;t.selectedSheet&&(t=t.selectedSheet);t._newAddedRowsSet=e}get grid(){return this._g}get filterColumns(){return this._filterColumns}set filterColumns(e){this._filterColumns=asArray(e);this.clear()}get showFilterIcons(){return this._showIcons}set showFilterIcons(e){if(e!=this.showFilterIcons){this._showIcons=asBoolean(e);this._g&&this._g.invalidate()}}get showSortButtons(){return this._showSort}set showSortButtons(e){this._showSort=asBoolean(e)}get reApplyFilterOnUpdate(){return this._includeUpdatedRowsInFilter}set reApplyFilterOnUpdate(e){e!==this._includeUpdatedRowsInFilter&&(this._includeUpdatedRowsInFilter=asBoolean(e))}get showIncludeSelection(){return this._showIncludeSelection}set showIncludeSelection(e){if(e!=this._showIncludeSelection){this._showIncludeSelection=asBoolean(e,!1);this._onShowIncludeSelectionChanged()}}getColumnFilter(e,t=!0){if(e=this._asColumn(e)){for(let t=0;t<this._filters.length;t++)if(this._filters[t].column==e)return this._filters[t];if(t&&e.binding){let t=new ColumnFilter(this,e);this._filters.push(t);return t}}return null}get defaultFilterType(){return this._defFilterType}set defaultFilterType(e){if((e=asEnum(e,FilterType,!1))!=this.defaultFilterType){this._defFilterType=e;this._g.invalidate();this.clear()}}get exclusiveValueSearch(){return this._xValueSearch}set exclusiveValueSearch(e){if((e=asBoolean(e))!==this._xValueSearch){this._xValueSearch=e;this.onExclusiveValueSearchChanged()}}get filterDefinition(){let e={defaultFilterType:this.defaultFilterType,filters:[]};this._filters.forEach(t=>{let i=t.conditionFilter,l=t.valueFilter,s=l.uniqueValues&&l.uniqueValues.length;if(t&&t.column&&t.column.binding&&(t.isActive||s||t.filterType!=this.defaultFilterType)){let a={binding:t.column.binding};if(i.isActive){let e=i.condition1,l=i.condition2;a={binding:t.column.binding,type:"condition",condition1:{operator:e.operator,value:e.value},and:i.and,condition2:{operator:l.operator,value:l.value}}}else(l.isActive||s)&&(a={binding:t.column.binding,type:"value",uniqueValues:l.uniqueValues,sortValues:l.sortValues,maxValues:l.maxValues,exclusiveValueSearch:l.exclusiveValueSearch,showValues:l.showValues});t.filterType!=this.defaultFilterType&&(a.filterType=t.filterType);e.filters.push(a)}});return JSON.stringify(e)}set filterDefinition(e){e=asString(e);this.clear();if(e){let t=JSON.parse(e);this.defaultFilterType=t.defaultFilterType;for(let e=0;e<t.filters.length;e++){let i=t.filters[e],l=this._asColumn(i.binding);l||(l=new Column({binding:i.binding}));let s=this.getColumnFilter(l,!0);if(s){null!=i.filterType&&(s.filterType=asEnum(i.filterType,FilterType));switch(i.type){case"condition":let e=s.conditionFilter;e.condition1.value=l.dataType==DataType.Date?changeType(i.condition1.value,l.dataType,null):i.condition1.value;e.condition1.operator=i.condition1.operator;e.and=i.and;e.condition2.value=l.dataType==DataType.Date?changeType(i.condition2.value,l.dataType,null):i.condition2.value;e.condition2.operator=i.condition2.operator;break;case"value":let t=s.valueFilter;t.uniqueValues=i.uniqueValues;["sortValues","maxValues","exclusiveValueSearch"].forEach(e=>{null!=i[e]&&(t[e]=i[e])});t.showValues=i.showValues}}}}this.apply()}get activeEditor(){return Control.getControl(this._divEdt)}editColumnFilter(e,t,i){let l=this._g;this.closeEditor();e=this._asColumn(e);let s=new CellRangeEventArgs(l.cells,new CellRange(-1,e.index));if(!this.onEditingFilter(s))return;let a=createElement(`<div class="${DropDownClsNames.dropDownPanel}"></div>`),n=this.getColumnFilter(e),r=new ColumnFilterEditor(a,n,this.showSortButtons);this._divEdt=a;this._edtCol=e;l.rightToLeft&&(a.dir="rtl");if(!this.onFilterChanging(s)){this._divEdt=this._edtCol=null;return}s.cancel=!0;r.filterChanged.addHandler(()=>{s.cancel=!1;setTimeout(()=>{if(!s.cancel){this.excludedRowsSet=null;this.apply()}},r._edtVal&&r._edtVal._isFiltering?Control._SEARCH_DELAY+200:0)});r.buttonClicked.addHandler(()=>{this.closeEditor();l.focus();this.onFilterChanged(s)});r.lostFocus.addHandler(()=>{setTimeout(()=>{let e=Control.getControl(this._divEdt);e&&!e.containsFocus()&&this.closeEditor()},10)});let o=t?t.col:e.index,d=l.columns[o];t||d&&d.binding==e.binding||(o=l.selection.leftCol);l._edtHdl._commitRowEdits();l.scrollIntoView(-1,o,!0);let h=l.columnHeaders,u=t&&t.panel&&h&&t.panel._uid==h._uid?t.row:h.rows.length-1,c=o,p=i||h.getCellElement(u,c),_=p?null:h.getCellBoundingRect(u,c);p?showPopup(a,p,!1,!1,!1):showPopup(a,_);this._setAriaExpanded(p,!0);this._setAriaExpanded(l.cells.getCellElement(-1,c),!0);let m=r.hostElement.querySelectorAll("input");for(let e=0;e<m.length;e++){let t=m[e];if(t.offsetHeight>0&&t.tabIndex>-1&&!t.disabled){t.focus();break}}r.containsFocus()||r.focus()}_setAriaExpanded(e,t){if(e){var i=e.querySelector("."+FlexGridFilter._WJC_FILTER);setAttribute(i,"aria-expanded",t)}}closeEditor(){let e=this._g,t=Control.getControl(this._divEdt),i=this._edtCol;t&&hidePopup(t.hostElement,()=>{t.dispose()});if(i){let t=e.columnHeaders,l=t.rows.length?t.getCellElement(t.rows.length-1,i.index):null;this._setAriaExpanded(l,!1);l=e.cells.getCellElement(-1,i.index);this._setAriaExpanded(l,!1)}this._divEdt=null;this._edtCol=null}apply(){let e=this._g.collectionView;if(e){let t=this._g.editableCollectionView;if(t){t.commitEdit();t.commitNew()}e.filter=this._filter.bind(this)}let t=e?e.updateFilterDefinition:null;isFunction(t)&&t.call(e,this);this.onFilterApplied()}clear(){if(this._filters.length){this._filters=[];this.excludedRowsSet=null;this.apply()}}onFilterApplied(e){this.filterApplied.raise(this,e)}onEditingFilter(e){this.editingFilter.raise(this,e);return!e.cancel}onFilterChanging(e){this.filterChanging.raise(this,e);return!e.cancel}onFilterChanged(e){this.filterChanged.raise(this,e)}onExclusiveValueSearchChanged(e){this.exclusiveValueSearchChanged.raise(this,e)}_onShowIncludeSelectionChanged(e){this._showIncludeSelectionChanged.raise(this,e)}_asColumn(e){return isString(e)?this._g.getColumn(e,!0):isNumber(e)?this._g.columns[e]:asType(e,Column,!1)}_filter(e){const t=this.excludedRowsSet;if(!this.reApplyFilterOnUpdate&&t.has(e))return!0;let i=this._filters;for(let t=0;t<i.length;t++){let l=i[t];if(l.column!=FlexGridFilter._skipColumn&&!l.apply(e))return!1}return!0}_formatItem(e,t){if(t.panel==e.columnHeaders){let e=this._g,i=e.getMergedRange(t.panel,t.row,t.col)||new CellRange(t.row,t.col),l=e.columns[i.col],s=e._getBindingColumn(t.panel,t.row,l),a=t.cell;if(i.row2==t.panel.rows.length-1||l!=s){let i=this.getColumnFilter(s,this.defaultFilterType!=FilterType.None),n=this._filterColumns;n&&n.length&&n.indexOf(s.binding)<0&&n.indexOf(s.name)<0&&(i=null);if(i){toggleClass(a,FlexGridFilterClsNames.filterOn,i.isActive);toggleClass(a,FlexGridFilterClsNames.filterOff,!i.isActive)}else{removeClass(a,FlexGridFilterClsNames.filterOn);removeClass(a,FlexGridFilterClsNames.filterOff)}if(i&&i.filterType!=FilterType.None){this._showIcons&&this._addFilterButton(s,i,a);0==t.row&&(a=e.cells.getCellElement(-1,t.col))&&this._addFilterButton(l,i,a)}}}}_addFilterButton(e,t,i){let l=FlexGridFilter._WJC_FILTER,s=createElement(`<button class="${InputFormElementsClsNames.btn} ${GlyphClsNames.btnGlyph} ${UtilitesClsNames.right} `+l+'" type="button" tabindex="-1">'+`<span class=${GlyphClsNames.filter}></span>`+"</button>");setAriaLabel(s,culture.FlexGridFilter.ariaLabels.edit+" "+e.header);setAttribute(s,"aria-haspopup","dialog");setAttribute(s,"aria-expanded",!1);setAttribute(s,"aria-describedby",e.describedById);setAttribute(s,"aria-pressed",t.isActive);if(!i.querySelector("."+l)){1==i.children.length&&(i=i.querySelector("div")||i);i.insertBefore(s,i.firstChild)}}_mousedown(e){this._edtColPrev=this._edtCol}_click(e){if(this._toggleEditor(e)){e.stopPropagation();e.preventDefault()}}_toggleEditor(e){if(!e.defaultPrevented&&0==e.button)if(closestClass(e.target,FlexGridFilter._WJC_FILTER)){let t=this._g,i=t.hitTest(e.target);i.panel||(i=t.hitTest(e));if(i.panel&&t.columnHeaders&&t.cells&&(i.panel._uid==t.columnHeaders._uid||i.panel._uid==t.cells._uid&&-1==i.row)){let e=t.getMergedRange(i.panel,i.row,i.col)||new CellRange(i.row,i.col),l=t.columns[e.col],s=t._getBindingColumn(i.panel,i.row,l);if(this._divEdt&&this._edtCol==s){this.closeEditor();t.focus()}else s!=this._edtColPrev&&setTimeout(()=>{this.editColumnFilter(s,i)},this._divEdt?100:0);return!0}}else this.closeEditor();return!1}_keydown(e){if(!e.defaultPrevented&&!e.ctrlKey&&e.altKey&&(e.keyCode==Key.Down||e.keyCode==Key.Up)){let t=this.grid,i=t.selection,l=i.col>-1?t.columns[i.col]:null,s=l?t._getBindingColumn(t.cells,i.row,l):null,a=s&&s.dataMap&&s.dataMapEditor==DataMapEditor.DropDownList;if(this.filterColumns&&this.filterColumns.length>0&&!this.filterColumns.includes(s._binding._path)){e.preventDefault();return!1}if(t.activePanelType!=CellType.Cell&&t.activePanelType!=CellType.ColumnHeader){e.preventDefault();return!1}s&&s.editor instanceof DropDown&&(a=!0);if(s&&!a){let t=this.getColumnFilter(s,!1);if(t&&t.filterType!=FilterType.None){this.editColumnFilter(s);e.preventDefault();e.stopPropagation()}}}}}FlexGridFilter._WJC_FILTER=FlexGridFilterClsNames.elemFilter;export const empty={};export class ConditionFilter{constructor(e){this._c1=new FilterCondition(this);this._c2=new FilterCondition(this);this._and=!0;this._col=e}get condition1(){return this._c1}get condition2(){return this._c2}get and(){return this._and}set and(e){this._and=asBoolean(e)}get dataMap(){return this._map}set dataMap(e){this._map=asType(e,DataMap,!0)}get column(){return this._col}get isActive(){return this._c1.isActive||this._c2.isActive}apply(e){let t=this._col,i=this._c1,l=this._c2,s=!1,a=!1;if(!t||!t._binding||!this.isActive)return!0;e=t._binding.getValue(e);let n=this.dataMap||t.dataMap;if(n)e=n.getDisplayValue(e);else if(isDate(e)){s=!this._hasTimePart();a=!this._hasDatePart();let t=FilterCondition._refDateTime;s?e=DateTime.fromDateTime(e,t):a&&(e=DateTime.fromDateTime(t,e))}else if(isNumber(e)){let i=Globalize,l=t.format,s=i.formatNumber(e,l);e=i.parseFloat(s,l)}let r=i.apply(e,s,a),o=l.apply(e,s,a);return i.isActive&&l.isActive?this._and?r&&o:r||o:i.isActive?r:!l.isActive||o}clear(){this._c1.clear();this._c2.clear();this.and=!0}_hasDatePart(){let e=this._col.format;if(!e)return!0;e=culture.Globalize.calendar.patterns[e]||e;return/[yMd]+/.test(e)}_hasTimePart(){let e=this._col.format;if(!e)return!1;e=culture.Globalize.calendar.patterns[e]||e;return/[Hmst]+/.test(e)}implementsInterface(e){return"IColumnFilter"==e}}export class ConditionFilterEditor extends Control{constructor(e,t){super(e);this._canApply=!1;this.canApplyChanged=new Event;this._filter=asType(t,ConditionFilter,!1);let i=this.getTemplate();this.applyTemplate(`${ControlClsNames.hostElement} ${ConditionFilterEditorClsNames.hostElement}`,i,{_divHdr:"div-hdr",_divCmb1:"div-cmb1",_divVal1:"div-val1",_btnAnd:"btn-and",_btnOr:"btn-or",_spAnd:"sp-and",_spOr:"sp-or",_divCmb2:"div-cmb2",_divVal2:"div-val2"});let l=culture.FlexGridFilter,s=l.ariaLabels;setAriaLabel(this._btnAnd,s.and);setAriaLabel(this._btnOr,s.or);setText(this._divHdr,l.header);setText(this._spAnd,l.and);setText(this._spOr,l.or);const a=getUniqueId("cmb1");this._divHdr.htmlFor=a;this._divCmb1.id=a;this._cmb1=this._createOperatorCombo(this._divCmb1,s.op1);this._cmb2=this._createOperatorCombo(this._divCmb2,s.op2);this._val1=this._createValueInput(this._divVal1,s.val1);this._val2=this._createValueInput(this._divVal2,s.val2);this._val1.isDisabled=!0;this._cmb1.selectedIndexChanged.addHandler((e,t)=>{this._val1.isDisabled=null==e.selectedValue;this.canApply=!this._val1.isDisabled||!this._val2.isDisabled});this._val2.isDisabled=!0;this._cmb2.selectedIndexChanged.addHandler((e,t)=>{this._val2.isDisabled=null==e.selectedValue;this.canApply=!this._val1.isDisabled||!this._val2.isDisabled});let n=this.hostElement;this.addEventListener(n,"change",this._btnAndOrChanged.bind(this));this.addEventListener(n,"keydown",this._keydown.bind(this));setTimeout(()=>{this.updateEditor()})}static get controlTemplate(){ConditionFilterEditor._ctrlTemplate||(ConditionFilterEditor._ctrlTemplate='<div><label wj-part="div-hdr"></label><div wj-part="div-cmb1"></div><br/><div wj-part="div-val1"></div><br/><div role="radiogroup" style="text-align:center"><label><input wj-part="btn-and" type="radio" role="radio"> <span wj-part="sp-and"></span> </label>&nbsp;&nbsp;&nbsp;<label><input wj-part="btn-or" type="radio" role="radio"> <span wj-part="sp-or"></span> </label></div><div wj-part="div-cmb2"></div><br/><div wj-part="div-val2"></div><br/></div>');return ConditionFilterEditor._ctrlTemplate}static set controlTemplate(e){ConditionFilterEditor._ctrlTemplate=e}get filter(){return this._filter}get canApply(){return this._canApply}set canApply(e){if(e!=this._canApply){this._canApply=e;this.onCanApplyChanged()}}updateEditor(){let e=this._filter.condition1,t=this._filter.condition2;this._cmb1.selectedValue=e.operator;this._cmb2.selectedValue=t.operator;if(this._val1 instanceof input.ComboBox&&!(this._val1 instanceof input.InputTime)){this._val1.text=changeType(e.value,DataType.String);this._val2.text=changeType(t.value,DataType.String)}else{this._val1.value=e.value;this._val2.value=t.value}let i=this._filter.and;this._checkRadio(this._btnAnd,i);this._checkRadio(this._btnOr,!i)}clearEditor(){this._cmb1.selectedValue=this._cmb2.selectedValue=null;this._val1.text=this._val2.text=null;this._checkRadio(this._btnAnd,!0);this._checkRadio(this._btnOr,!1)}get isEditorClear(){return null==this._cmb1.selectedValue&&!this._val1.text&&null==this._cmb2.selectedValue&&!this._val2.text}updateFilter(){let e=this._filter.condition1,t=this._filter.condition2;e.operator=this._cmb1.selectedValue;t.operator=this._cmb2.selectedValue;if("value"in this._val1){e.value=this._val1.value;t.value=this._val2.value}else{e.value=this._getComboValue(this._val1);t.value=this._getComboValue(this._val2)}this._filter.and=this._btnAnd.checked}onCanApplyChanged(e){this.canApplyChanged.raise(this,e)}_getComboValue(e){return e.selectedIndex>-1?e.selectedValue:e.text}_createOperatorCombo(e,t){let i=this._filter.column,l=culture.FlexGridFilter,s=l.stringOperators,a=DataType;this._filter.dataMap||i.dataMap||(i.dataType==a.Date?s=l.dateOperators:i.dataType==a.Number?s=l.numberOperators:i.dataType==a.Boolean&&(s=l.booleanOperators));let n=new input.ComboBox(e,{itemsSource:s,displayMemberPath:"name",selectedValuePath:"op"});setAriaLabel(n.inputElement,t);return n}_createValueInput(e,t){let i=this._filter,l=i.column,s=i.dataMap||l.dataMap,a=null,n=DataType;if(l.dataType==n.Date)(a=i._hasDatePart()?i._hasTimePart()?new input.InputDateTime(e):new input.InputDate(e):new input.InputTime(e)).format=l.format;else if(l.dataType!=n.Number||s){(a=new input.ComboBox(e)).isEditable=!0;a.trimText=!1;if(s){a.itemsSource=s.getDisplayValues();a.caseSensitiveSearch=!!l.grid&&l.grid.caseSensitiveSearch}else l.dataType==n.Boolean&&(a.itemsSource=[!0,!1])}else(a=new input.InputNumber(e)).format=l.format;a.isRequired=!1;setAriaLabel(a.inputElement,t);return a}_btnAndOrChanged(e){let t=e.target==this._btnAnd,i=e.target==this._btnOr;if(t||i){this._checkRadio(this._btnAnd,t);this._checkRadio(this._btnOr,i)}}_checkRadio(e,t){e.checked=t;setAttribute(e,"aria-checked",t.toString());setAttribute(e,"tabindex",t?null:"-1")}_keydown(e){let t=e.target==this._btnAnd,i=e.target==this._btnOr;if(t||i)switch(e.keyCode){case Key.Left:case Key.Right:case Key.Up:case Key.Down:let i=t?this._btnOr:this._btnAnd;i.click();i.focus();e.preventDefault()}}}ConditionFilterEditor._ctrlTemplate="";export class FilterCondition{constructor(e){this._op=null;this._filter=e}get operator(){return this._op}set operator(e){this._op=asEnum(e,Operator,!0)}get value(){return this._val}set value(e){this._val=e;this._strVal=isString(e)?this._getCaseString(e):null}get isActive(){switch(this._op){case null:return!1;case Operator.EQ:case Operator.NE:return!0;default:return null!=this._val||null!=this._strVal}}clear(){this.operator=null;this.value=null}apply(e,t,i){let l=this._strVal||this._val;isString(e)&&(e=this._getCaseString(e));isString(l)&&null==e&&(e="");isDate(l)&&(t?l=DateTime.fromDateTime(l,FilterCondition._refDateTime):i&&(l=DateTime.fromDateTime(FilterCondition._refDateTime,l)));let s=Operator;switch(this._op){case null:return!0;case s.EQ:return null!=e&&null!=l?e.valueOf()==l.valueOf():e==l;case s.NE:return null!=e&&null!=l?e.valueOf()!=l.valueOf():e!=l;case s.GT:return e>l;case s.GE:return e>=l;case s.LT:return e<l;case s.LE:return e<=l;case s.BW:return!(null==this._strVal||!isString(e))&&0==e.indexOf(this._strVal);case s.EW:return!!(null!=this._strVal&&isString(e)&&e.length>=this._strVal.length)&&e.substr(e.length-this._strVal.length)==l;case s.CT:return!(null==this._strVal||!isString(e))&&e.indexOf(this._strVal)>-1;case s.NC:return!(null==this._strVal||!isString(e))&&e.indexOf(this._strVal)<0;case s.NBW:return!(null==this._strVal||!isString(e))&&0!==e.indexOf(this._strVal);case s.NEW:return!(null==this._strVal||!isString(e))&&e.substring(e.length-this._strVal.length)!==l}throw"Unknown operator"}_getCaseString(e){let t=this._filter.column,i=t?t.grid:null;return i&&i.caseSensitiveSearch?e:e.toLowerCase()}}FilterCondition._refDateTime=new Date(2e3,0,1,0,0,0);export var Operator;!function(e){e[e.EQ=0]="EQ";e[e.NE=1]="NE";e[e.GT=2]="GT";e[e.GE=3]="GE";e[e.LT=4]="LT";e[e.LE=5]="LE";e[e.BW=6]="BW";e[e.EW=7]="EW";e[e.CT=8]="CT";e[e.NC=9]="NC";e[e.NBW=10]="NBW";e[e.NEW=11]="NEW"}(Operator||(Operator={}));export var ValueFilterSearchKind;!function(e){e[e.Text=0]="Text";e[e.Regex=1]="Regex";e[e.Excel=2]="Excel"}(ValueFilterSearchKind||(ValueFilterSearchKind={}));export class ValueFilter{constructor(e){this._values=null;this._filterText=null;this._xValueSearch=!0;this._maxValues=250;this._uniqueValues=null;this._sortValues=!0;this._searchType=ValueFilterSearchKind.Excel;this._showIncludeSelection=!1;this._col=e}get searchType(){return this._searchType}set searchType(e){this._searchType=asEnum(e,ValueFilterSearchKind)}get showValues(){return this._values}set showValues(e){this._values=e}get filterText(){return this._filterText}set filterText(e){this._filterText=asString(e)}get exclusiveValueSearch(){return this._xValueSearch}set exclusiveValueSearch(e){if((e=asBoolean(e))!==this._xValueSearch){this._xValueSearch=asBoolean(e);e&&(this._filterText="")}}get maxValues(){return this._maxValues}set maxValues(e){this._maxValues=asNumber(e,!1,!0)}get uniqueValues(){return this._uniqueValues}set uniqueValues(e){this._uniqueValues=asArray(e)}get sortValues(){return this._sortValues}set sortValues(e){this._sortValues=asBoolean(e)}get dataMap(){return this._map}set dataMap(e){this._map=asType(e,DataMap,!0)}get showIncludeSelection(){return this._showIncludeSelection}set showIncludeSelection(e){e!=this._showIncludeSelection&&(this._showIncludeSelection=asBoolean(e,!1))}get column(){return this._col}get isActive(){return null!=this._values&&Object.keys(this._values).length>0}apply(e){let t=this.column;if(!(t&&t._binding&&this._values&&Object.keys(this._values).length))return!0;e=t._binding.getValue(e);e=this.dataMap?this.dataMap.getDisplayValue(e)||"":t.dataMap?t.dataMap.getDisplayValue(e)||"":Globalize.format(e,t.format);return null!=this._values[e]}clear(){this.showValues=null;this.filterText=null}getUniqueValues(e=!0){let t=[],i=this.column,l=Globalize.format;if(this.uniqueValues){this.uniqueValues.forEach(e=>{t.push({value:e,text:l(e,i.format)})});return t}let s={},a=i.collectionView,n=a?a.sourceCollection:[];if(e&&a&&a.sourceCollection&&a.filter)try{FlexGridFilter._skipColumn=this._col;let e=[];for(let t=0;t<n.length;t++)a.filter(n[t])&&e.push(n[t]);n=e}finally{FlexGridFilter._skipColumn=null}for(let e=0;e<n.length;e++){let a=i._binding.getValue(n[e]),r=this.dataMap?this.dataMap.getDisplayValue(a)||"":i.dataMap?i.dataMap.getDisplayValue(a)||"":l(a,i.format);if(!s[r]){s[r]=!0;t.push({value:a,text:r})}}return t}implementsInterface(e){return"IColumnFilter"==e}}export class ValueFilterEditor extends Control{constructor(e,t){super(e);this._canApply=!1;this._isFiltering=!1;this.canApplyChanged=new Event;this._filter=asType(t,ValueFilter,!1);let i=this.getTemplate();this.applyTemplate(`${ControlClsNames.hostElement} ${ValueFilterEditorClsNames.hostElement}`,i,{_divFilter:"div-filter",_cbSelectAll:"cb-select-all",_spSelectAll:"sp-select-all",_cbIncludeSel:"cb-include-sel",_spIncludeSel:"sp-include-sel",_lblIncludeSel:"lbl-include-sel",_divOptions:"div-options",_divValues:"div-values",_divExceeds:"div-exceeds",_aExceeds:"a-exceeds"});this._cbSelectAll.tabIndex=0;this._cbIncludeSel.tabIndex=0;let l=culture.FlexGridFilter;setText(this._spSelectAll,l.selectAll);setText(this._spIncludeSel,l.includeSelection);setText(this._aExceeds,l.exceedsMaxValues);let s=this._view=new CollectionView(null,{sortNulls:SortNulls.First,filter:this._filterValues.bind(this)});if(t.sortValues){let e=t.column.dataMap||t.dataMap?"text":"value",i=t.column.dataType!=DataType.Boolean;s.sortDescriptions.push(new SortDescription(e,i))}s.collectionChanged.addHandler(this._updateSelectAllCheck,this);this._filterText="";this._rxFilter=null;this._cmbFilter=new input.ComboBox(this._divFilter,{trimText:!1,isRequired:!1,placeholder:l.search});this._cmbFilter.isEditable=!0;this._lbValues=new input.ListBox(this._divValues,{displayMemberPath:"text",checkedMemberPath:"show",itemsSource:this._view,itemFormatter:(e,t)=>t||l.null,checkedItemsChanged:e=>this._updateSelectAllCheck()});setAttribute(this._divValues,"aria-label",culture.FlexGridFilter.ariaLabels.listBox);setAriaLabel(this._cmbFilter.inputElement,l.ariaLabels.search);setAttribute(this._lbValues.hostElement,"aria-multiselectable",!0);this._cmbFilter.inputElement.addEventListener("input",this._filterTextChanged.bind(this));this._cbSelectAll.addEventListener("click",this._cbSelectAllClicked.bind(this));if(!this._popup){this._initPopup();this._aExceeds&&this.addEventListener(this._aExceeds,"click",e=>{e.preventDefault();this._popup.show(!0)})}this.updateEditor();this._filter.showValues?this._initialItems=s.sourceCollection.filter(e=>this._filter.showValues[e.text||e.value]||!1):this._initialItems=this._lbValues.checkedItems}static get controlTemplate(){ValueFilterEditor._ctrlTemplate||(ValueFilterEditor._ctrlTemplate='<div><div wj-part="div-filter"></div>'+`<div wj-part="div-options" class="${input.ListBoxClsNames.listBoxItem}">`+'<label><input wj-part="cb-select-all" type="checkbox"> <span wj-part="sp-select-all"></span></label><br /><label wj-part="lbl-include-sel"><input wj-part="cb-include-sel" type="checkbox"> <span wj-part="sp-include-sel"></span></label></div><div wj-part="div-values"></div><div wj-part="div-exceeds"><a wj-part="a-exceeds"></a></div></div>');return ValueFilterEditor._ctrlTemplate}static set controlTemplate(e){ValueFilterEditor._ctrlTemplate=e}get filter(){return this._filter}get canApply(){return this._canApply}set canApply(e){if(e!=this._canApply){this._canApply=e;this.onCanApplyChanged()}}get _shouldIncludeSelection(){return this._filter.showIncludeSelection&&this._cbIncludeSel.checked}updateEditor(){let e=this._filter.column,t=this._filter.getUniqueValues(!0);this._lbValues.isContentHtml=e.isContentHtml;let i=this._filter.showValues;if(i&&0!=Object.keys(i).length){for(let e in i)for(let i=0;i<t.length;i++)if(t[i].text==e){t[i].show=!0;break}}else t.forEach(e=>e.show=!0);let l=this._filter.filterText||"",s=this._getCaseSensitive();this._cmbFilter.text=l;this._filterText=s?l:l.toLowerCase();this._rxFilter=this._getSearchExp(l,s);this._filter.showIncludeSelection&&!this.hostElement.contains(this._lblIncludeSel)?this._divOptions.appendChild(this._lblIncludeSel):this._filter.showIncludeSelection||this._lblIncludeSel.remove();let a=this._view;a.pageSize=this._filter.maxValues;a.sourceCollection=t;setTimeout(()=>{this._adjustWidths()},0);this._updateExceedsMaxValuesDisplay()}clearEditor(e=!0){this._cmbFilter.text="";this._filterText="";this._rxFilter=null;let t=this._view;t.pageSize=0;t.items.forEach(t=>{t.show=e});t.moveCurrentTo(-1);t.refresh();t.pageSize=this._filter.maxValues}get isEditorClear(){return!this._filterText&&!this._cbSelectAll.indeterminate}_updateFilter(){let e=null,t=this._getItems();if(this._filterText||this._cbSelectAll.indeterminate){e=this._shouldIncludeSelection&&this._filter.showValues||{};for(let i=0;i<t.length;i++){let l=t[i];l.show&&(e[l.text]=!0)}}let i=this._filter;i.showValues=e;i.filterText=this._filterText}updateFilter(){this._isFiltering?setTimeout(()=>{this._updateFilter()},Control._SEARCH_DELAY+100):this._updateFilter()}onCanApplyChanged(e){this.canApplyChanged.raise(this,e)}_getCaseSensitive(){let e=this._filter.column,t=e?e.grid:null;return t&&t.caseSensitiveSearch}_getItems(){return this._filter.exclusiveValueSearch?this._view.items:this._view.sourceCollection}_filterTextChanged(){""===this._filterText&&this._cbSelectAll.checked||this._filter.exclusiveValueSearch?this._lbValues._addMode=!1:this._lbValues._addMode=!0;this._toFilter&&clearTimeout(this._toFilter);this._isFiltering=!0;this._toFilter=setTimeout(()=>{let e=this._cmbFilter.text,t=this._getCaseSensitive();t||(e=e.toLowerCase());if(e!=this._filterText){this._filterText=e;this._rxFilter=this._getSearchExp(e,t);this._view.refresh();this._updateExceedsMaxValuesDisplay();if(!e){let e=this._initialItems;if(e.length&&this._view.sourceCollection.indexOf(e[0])>-1){this._lbValues.checkedItems=this._initialItems;this._updateSelectAllCheck();this._isFiltering=!1;return}}if(this._filter.exclusiveValueSearch){this._cbSelectAll.checked=!0;this._cbSelectAllClicked()}else this._updateSelectAllCheck()}this._isFiltering=!1},Control._SEARCH_DELAY)}_getSearchExp(e,t){if(!e)return null;switch(this._filter.searchType){case ValueFilterSearchKind.Text:return this._getTextSearchExp(e,t);case ValueFilterSearchKind.Regex:return this._getRegexSearchExp(e,t);case ValueFilterSearchKind.Excel:return this._getExcelSearchExp(e,t)}}_getTextSearchExp(e,t){return new RegExp(escapeRegExp(e),t?"":"i")}_getRegexSearchExp(e,t){try{return new RegExp(e,t?"s":"is")}catch(e){return new RegExp("(?!)",t?"s":"is")}}_getExcelSearchExp(e,t){let i=e;i=(i=(i=(i=(i=(i=(i=(i=i.replace(/([.+^$[\]\\(){}|-])/g,"\\$1")).replace(/~~/g,"__`$0`__")).replace(/~\?/g,"__`$1`__")).replace(/~\*/g,"__`$2`__")).replace(/~(.)/g,"$1")).replace(/(\?+)/g,(function(e,t){return Array.from(t).map(e=>".").join("")}))).replace(/(\*+)/g,(function(e,t){return Array.from(t).map(e=>".*").join("")}))).replace(/__`\$(\d)`__/g,(function(e,t){switch(t){case"0":return"~";case"1":return"\\?";case"2":return"\\*"}}));/([^~]|^)[?*]/g.test(e)&&(i="^"+i+"$");("~"===e||e&&!i.length)&&(i="$a^");return new RegExp(i,t?"s":"is")}_filterValues(e){let t=this._rxFilter;return null==t||null==e||t.test(e.text)}_cbSelectAllClicked(){let e=this._cbSelectAll.checked,t=this._divValues.scrollTop,i=this._getItems();for(let t=0;t<i.length;t++)i[t].show=e;this._view.refresh();this._divValues.scrollTop=t;setTimeout(()=>{this._adjustWidths()},0)}_updateSelectAllCheck(){let e=this._getItems(),t=0,i=0;for(let l=0;l<e.length;l++){e[l].show?t++:i++;if(t&&i)break}setChecked(this._cbSelectAll,t&&i?null:t>0);this.canApply=t>0}_adjustWidths(){let e=this._lbValues.hostElement;if(e&&e.offsetHeight>0){let t=0,i=e.querySelectorAll(`.${input.ListBoxClsNames.listBoxItem} label`);if(i.length){for(let e=0;e<i.length;e++)t=Math.max(t,i[e].scrollWidth);if(t){let i=e.querySelectorAll(`.${input.ListBoxClsNames.listBoxItem}`);if(i.length){let e=i[0],l=getComputedStyle(e),s=parseFloat(l.paddingLeft)+parseFloat(l.paddingRight);for(let e=0;e<i.length;e++)i[e].style.width=t+s+"px"}}}}}get exceedsMaxValues(){return!(!this._view||!this._view._view)&&this._view._view.length>this.filter.maxValues}_updateExceedsMaxValuesDisplay(){this._aExceeds.style.display=this.exceedsMaxValues?"":"none"}_initPopup(){let e=document.createElement("div");e.innerHTML='<div role="dialog">'+`<div class=${input.PopupClsNames.dialogBody}>`+`<div class=${ValueFilterEditorClsNames.customModalText}>`+"<p>"+culture.FlexGridFilter.popupBody+"</p></div></div>"+`<div class="${input.PopupClsNames.dialogFooter} ${ValueFilterEditorClsNames.modalFooter}" >`+`<button class="btn btn-primary ${UtilitesClsNames.hideOk}">`+culture.FlexGridFilter.popupOkButton+"</button></div></div>";this._popup=new input.Popup(e,{modal:!0,fadeIn:!0,fadeOut:!0})}}ValueFilterEditor._ctrlTemplate="";export class ColumnFilter{constructor(e,t){this._owner=e;this._col=t;this._valueFilter=new ValueFilter(t);this._valueFilter.exclusiveValueSearch=e.exclusiveValueSearch;this._valueFilter.showIncludeSelection=e.showIncludeSelection;this._conditionFilter=new ConditionFilter(t);e.exclusiveValueSearchChanged.addHandler(e=>{this._valueFilter.exclusiveValueSearch=e.exclusiveValueSearch});e._showIncludeSelectionChanged.addHandler(e=>{this._valueFilter.showIncludeSelection=e.showIncludeSelection})}get filterType(){return null!=this._filterType?this._filterType:this._owner.defaultFilterType}set filterType(e){if((e=asEnum(e,FilterType,!0))!=this._filterType){let t=this.isActive;this.clear();this._filterType=e;t?this._owner.apply():this._col.grid&&this._col.grid.invalidate()}}get dataMap(){return this.conditionFilter.dataMap||this.valueFilter.dataMap}set dataMap(e){this.conditionFilter.dataMap=e;this.valueFilter.dataMap=e}get valueFilter(){return this._valueFilter}get conditionFilter(){return this._conditionFilter}get column(){return this._col}get isActive(){return this._conditionFilter.isActive||this._valueFilter.isActive}apply(e){return this._conditionFilter.apply(e)&&this._valueFilter.apply(e)}clear(){this._valueFilter.clear();this._conditionFilter.clear()}implementsInterface(e){return"IColumnFilter"==e}}_addCultureInfo("FlexGridFilter",{ariaLabels:{edit:"Edit Filter for Column",dialog:"Filter Editor for Column",asc:"Sort Column in Ascending Order",dsc:"Sort Column in Descending Order",search:"Search Item List",op1:"First Condition Operator",val1:"First Condition Value",and:"Require both Conditions",or:"Require either Condition",op2:"Second Condition Operator",val2:"Second Condition Value",active:"active",listBox:"List of options available for filtering"},ascending:"↑ Ascending",descending:"↓ Descending",apply:"Apply",cancel:"Cancel",clear:"Clear",conditions:"Filter by Condition",values:"Filter by Value",search:"Search",selectAll:"Select All",includeSelection:"Include Current Selection",null:"(nothing)",exceedsMaxValues:"Not all items showing",popupBody:"This column has more than 250 unique items. Only the first 250 unique items are displayed.",popupOkButton:"OK",header:"Show items where the value",and:"And",or:"Or",stringOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Does not equal",op:Operator.NE},{name:"Begins with",op:Operator.BW},{name:"Does not begin with",op:Operator.NBW},{name:"Ends with",op:Operator.EW},{name:"Does not end with",op:Operator.NEW},{name:"Contains",op:Operator.CT},{name:"Does not contain",op:Operator.NC}],numberOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Does not equal",op:Operator.NE},{name:"Is Greater than",op:Operator.GT},{name:"Is Greater than or equal to",op:Operator.GE},{name:"Is Less than",op:Operator.LT},{name:"Is Less than or equal to",op:Operator.LE}],dateOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Is Before",op:Operator.LT},{name:"Is After",op:Operator.GT}],booleanOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Does not equal",op:Operator.NE}]});export class ColumnFilterEditor extends Control{constructor(e,t,i=!0){super(e,null,!0);this.filterChanged=new Event;this.buttonClicked=new Event;this._filter=asType(t,ColumnFilter);let l=this.getTemplate();this.applyTemplate(`${ControlClsNames.hostElement} ${ControlClsNames.content} ${ControlClsNames.content} ${ColumnFilterEditorClsNames.hostElement}`,l,{_divSort:"div-sort",_btnAsc:"btn-asc",_btnDsc:"btn-dsc",_divType:"div-type",_aVal:"a-val",_aCnd:"a-cnd",_divEdtVal:"div-edt-val",_divEdtCnd:"div-edt-cnd",_btnApply:"btn-apply",_btnCancel:"btn-cancel",_btnClear:"btn-clear"});let s=culture.FlexGridFilter,a=s.ariaLabels,n=this.hostElement,r=this.filter.column,o=r.grid.collectionView;setAttribute(n,"role","dialog");setAriaLabel(n,a.dialog+" "+r.header);setAriaLabel(this._btnAsc,a.asc);setAriaLabel(this._btnDsc,a.dsc);setText(this._btnAsc,s.ascending);setText(this._btnDsc,s.descending);setText(this._aVal,s.values);setText(this._aCnd,s.conditions);setText(this._btnApply,s.apply);setText(this._btnCancel,s.cancel);setText(this._btnClear,s.clear);let d=this.filter.conditionFilter.isActive||0==(t.filterType&FilterType.Value)?FilterType.Condition:FilterType.Value;this._showFilter(d);if(!r.allowSorting){enable(this._btnAsc,!1);enable(this._btnDsc,!1)}i&&o&&o.canSort||(this._divSort.style.display="none");this._updateSortButtonState();let h=this._btnClicked.bind(this);this._btnApply.addEventListener("click",h);this._btnCancel.addEventListener("click",h);this._btnClear.addEventListener("click",h);this._btnAsc.addEventListener("click",h);this._btnDsc.addEventListener("click",h);this._aVal.addEventListener("click",h);this._aCnd.addEventListener("click",h);this.addEventListener(n,"keydown",e=>{if(!e.defaultPrevented){let t=e.target.tagName.match(/^(a|button)$/i);switch(e.keyCode){case Key.Space:if(t){this._btnClicked(e);e.preventDefault()}break;case Key.Enter:if(t)this._btnClicked(e);else{this.updateFilter();this.onFilterChanged();this.onButtonClicked()}e.preventDefault();break;case Key.Escape:this.onButtonClicked();e.preventDefault();break;case Key.Tab:moveFocus(this.hostElement,e.shiftKey?-1:1);e.preventDefault()}}});this.addEventListener(window,"resize",()=>{this.isTouching||this._wasTouching||this.onButtonClicked()})}static get controlTemplate(){ColumnFilterEditor._ctrlTemplate||(ColumnFilterEditor._ctrlTemplate="<div>"+`<div wj-part="div-sort" class="${ColumnFilterEditorClsNames.sortButtons}">`+`<button wj-part="btn-asc" class="${InputFormElementsClsNames.btn}"></button>&nbsp;&nbsp;&nbsp;`+`<button wj-part="btn-dsc" class="${InputFormElementsClsNames.btn}"></button>`+"</div>"+`<div wj-part="div-type" class="${ColumnFilterEditorClsNames.filterType}">`+'<a wj-part="a-cnd" href="" draggable="false"></a>&nbsp;|&nbsp;<a wj-part="a-val" href="" draggable="false"></a></div><div wj-part="div-edt-val" tabindex="-1"></div><div wj-part="div-edt-cnd" tabindex="-1"></div><div style="text-align:right;margin-top:10px">'+`<button wj-part="btn-apply" class="${InputFormElementsClsNames.btn}"></button>&nbsp;&nbsp;`+`<button wj-part="btn-cancel" class="${InputFormElementsClsNames.btn}"></button>&nbsp;&nbsp;`+`<button wj-part="btn-clear" class="${InputFormElementsClsNames.btn}"></button>`+"</div></div>");return ColumnFilterEditor._ctrlTemplate}static set controlTemplate(e){ColumnFilterEditor._ctrlTemplate=e}get filter(){return this._filter}updateEditor(){this._edtVal&&this._edtVal.updateEditor();this._edtCnd&&this._edtCnd.updateEditor()}updateFilter(){switch(this._getFilterType()){case FilterType.Value:this._edtVal.updateFilter();this.filter.conditionFilter.clear();break;case FilterType.Condition:this._edtCnd.updateFilter();this.filter.valueFilter.clear()}}onFilterChanged(e){this.filterChanged.raise(this,e)}onButtonClicked(e){this.buttonClicked.raise(this,e)}_showFilter(e){this._wasTouching=this.isTouching;if(e==FilterType.Value&&null==this._edtVal){this._edtVal=new ValueFilterEditor(this._divEdtVal,this.filter.valueFilter);this._edtVal.canApplyChanged.addHandler(e=>{enable(this._btnApply,this._edtVal.canApply)})}if(e==FilterType.Condition&&null==this._edtCnd){this._edtCnd=new ConditionFilterEditor(this._divEdtCnd,this.filter.conditionFilter);this._edtCnd.canApplyChanged.addHandler(e=>{enable(this._btnApply,this._edtCnd.canApply)})}if(0!=(e&this.filter.filterType))if(e==FilterType.Value){this._divEdtVal.style.display="";this._divEdtCnd.style.display="none";this._enableLink(this._aVal,!1);this._enableLink(this._aCnd,!0);this._edtVal.focus();this._edtVal._updateExceedsMaxValuesDisplay();enable(this._btnApply,this._edtVal.canApply)}else{this._divEdtVal.style.display="none";this._divEdtCnd.style.display="";this._enableLink(this._aVal,!0);this._enableLink(this._aCnd,!1);this._edtCnd.focus();enable(this._btnApply,this._edtCnd.canApply)}let t=this._divType.style;switch(this.filter.filterType){case FilterType.None:case FilterType.Condition:case FilterType.Value:t.display="none";break;default:t.display=""}}_enableLink(e,t){toggleClass(e,ControlStateClsNames.disabled,!t);setAttribute(e,"href",t?"":null);setAttribute(e,"disabled",t?null:"disabled")}_updateSortButtonState(){let e=this.filter.column,t=e?e.currentSort:"",i=ControlStateClsNames.active,l=culture.FlexGridFilter.ariaLabels;if("+"===t){addClass(this._btnAsc,i);this._btnAsc.setAttribute("aria-label",`${l.asc} ${l.active}`)}else if("-"===t){addClass(this._btnDsc,i);this._btnDsc.setAttribute("aria-label",`${l.dsc} ${l.active}`)}}_getFilterType(){let e=FilterType;return"none"!=this._divEdtVal.style.display?e.Value:e.Condition}_btnClicked(e){let t=e.target;e.preventDefault();e.stopPropagation();if(!hasClass(t,ControlStateClsNames.disabled))if(t!=this._aVal)if(t!=this._aCnd){if(t==this._btnAsc||t==this._btnDsc){let t=this.filter.column,i=t.sortMemberPath||t.binding,l=t.grid.collectionView.sortDescriptions;l.deferUpdate(()=>{l.clear();l.push(new SortDescription(i,e.target==this._btnAsc))});this._updateSortButtonState()}if(t==this._btnApply){this.updateFilter();this.onFilterChanged()}else if(t==this._btnClear){if(this.filter.isActive){this.filter.clear();this.onFilterChanged()}}else this.updateEditor();this.onButtonClicked()}else{this._showFilter(FilterType.Condition);moveFocus(this._edtCnd.hostElement,0)}else{this._showFilter(FilterType.Value);moveFocus(this._edtVal.hostElement,0)}}}ColumnFilterEditor._ctrlTemplate="";_registerModule("wijmo.grid.filter",selfModule);
14
+ import{Column,DataMap,FlexGrid,DataMapEditor,CellRange,CellRangeEventArgs,CellType,_NewRowTemplate}from"@grapecity/wijmo.grid";import{Globalize,asString,asNumber,asArray,asBoolean,asType,asEnum,isString,isDate,DateTime,culture,isNumber,copy,changeType,setAttribute,showPopup,hidePopup,isFunction,createElement,toggleClass,removeClass,closestClass,setAriaLabel,Control,Event,DataType,Key,CollectionView,GlyphClsNames,InputFormElementsClsNames,UtilitesClsNames,setText,escapeRegExp,setChecked,SortDescription,SortNulls,ControlClsNames,getUniqueId,_addCultureInfo,enable,moveFocus,hasClass,addClass,ControlStateClsNames,_registerModule}from"@grapecity/wijmo";import{DropDown,DropDownClsNames}from"@grapecity/wijmo.input";import*as input from"@grapecity/wijmo.input";import*as selfModule from"@grapecity/wijmo.grid.filter";export const ColumnFilterEditorClsNames={filterType:"wj-filtertype",hostElement:"wj-columnfiltereditor",sortButtons:"wj-sort-buttons"};export const ConditionFilterEditorClsNames={hostElement:"wj-conditionfilter-editor"};export const FlexGridFilterClsNames={elemFilter:"wj-elem-filter",filter:"wj-filter",filterOff:"wj-filter-off",filterOn:"wj-filter-on",hostElement:"wj-columnfiltereditor"};export const ValueFilterEditorClsNames={hostElement:"wj-valuefilter-editor",customModalText:"wj-custom-modal-text",modalFooter:"wj-valuefilter-modal-footer"};export var FilterType;!function(e){e[e.None=0]="None";e[e.Condition=1]="Condition";e[e.Value=2]="Value";e[e.Both=3]="Both"}(FilterType||(FilterType={}));export class FlexGridFilter{constructor(e,t){this._showIcons=!0;this._showSort=!0;this._defFilterType=FilterType.Both;this._xValueSearch=!0;this._includeUpdatedRowsInFilter=!1;this._showIncludeSelection=!1;this.filterApplied=new Event;this.editingFilter=new Event;this.filterChanging=new Event;this.filterChanged=new Event;this.exclusiveValueSearchChanged=new Event;this._showIncludeSelectionChanged=new Event;this._filters=[];this._g=asType(e,FlexGrid,!1);this._g.formatItem.addHandler(this._formatItem.bind(this));this._g.itemsSourceChanged.addHandler(this.clear.bind(this));let i=this._g.hostElement;e.addEventListener(i,"mousedown",this._mousedown.bind(this),!0);e.addEventListener(i,"click",this._click.bind(this),!0);e.addEventListener(i,"keydown",this._keydown.bind(this),!0);this._g.invalidate();copy(this,t);this._init()}_init(){const e=this.grid,_excludeRowFromFilter=e=>{let t=this.grid;const i=this.excludedRowsSet;if(null!=t&&t.rows.length>e)if(t.itemsSource)if(t.rows[e]instanceof _NewRowTemplate){let l=t.editableCollectionView.currentAddItem||t.rows[e].dataItem;l&&i.add(l)}else t.rows[e].dataItem&&i.add(t.rows[e].dataItem);else t.rows[e]&&i.add(t.rows[e])};e.rowChanged&&e.rowChanged.addHandler((e,t)=>{t.added&&_excludeRowFromFilter(t.index)});e.rowEditEnding.addHandler((e,t)=>{_excludeRowFromFilter(t.row)});e.cellEditEnded.addHandler((e,t)=>{_excludeRowFromFilter(t.row)})}get excludedRowsSet(){let e=this.grid;e.selectedSheet&&(e=e.selectedSheet);e._newAddedRowsSet||(e._newAddedRowsSet=new WeakSet);return e._newAddedRowsSet}set excludedRowsSet(e){let t=this.grid;t.selectedSheet&&(t=t.selectedSheet);t._newAddedRowsSet=e}get grid(){return this._g}get filterColumns(){return this._filterColumns}set filterColumns(e){this._filterColumns=asArray(e);this.clear()}get showFilterIcons(){return this._showIcons}set showFilterIcons(e){if(e!=this.showFilterIcons){this._showIcons=asBoolean(e);this._g&&this._g.invalidate()}}get showSortButtons(){return this._showSort}set showSortButtons(e){this._showSort=asBoolean(e)}get reApplyFilterOnUpdate(){return this._includeUpdatedRowsInFilter}set reApplyFilterOnUpdate(e){e!==this._includeUpdatedRowsInFilter&&(this._includeUpdatedRowsInFilter=asBoolean(e))}get showIncludeSelection(){return this._showIncludeSelection}set showIncludeSelection(e){if(e!=this._showIncludeSelection){this._showIncludeSelection=asBoolean(e,!1);this._onShowIncludeSelectionChanged()}}getColumnFilter(e,t=!0){if(e=this._asColumn(e)){for(let t=0;t<this._filters.length;t++)if(this._filters[t].column==e)return this._filters[t];if(t&&e.binding){let t=new ColumnFilter(this,e);this._filters.push(t);return t}}return null}get defaultFilterType(){return this._defFilterType}set defaultFilterType(e){if((e=asEnum(e,FilterType,!1))!=this.defaultFilterType){this._defFilterType=e;this._g.invalidate();this.clear()}}get exclusiveValueSearch(){return this._xValueSearch}set exclusiveValueSearch(e){if((e=asBoolean(e))!==this._xValueSearch){this._xValueSearch=e;this.onExclusiveValueSearchChanged()}}get filterDefinition(){let e={defaultFilterType:this.defaultFilterType,filters:[]};this._filters.forEach(t=>{let i=t.conditionFilter,l=t.valueFilter,s=l.uniqueValues&&l.uniqueValues.length;if(t&&t.column&&t.column.binding&&(t.isActive||s||t.filterType!=this.defaultFilterType)){let a={binding:t.column.binding};if(i.isActive){let e=i.condition1,l=i.condition2;a={binding:t.column.binding,type:"condition",condition1:{operator:e.operator,value:e.value},and:i.and,condition2:{operator:l.operator,value:l.value}}}else(l.isActive||s)&&(a={binding:t.column.binding,type:"value",uniqueValues:l.uniqueValues,sortValues:l.sortValues,maxValues:l.maxValues,exclusiveValueSearch:l.exclusiveValueSearch,showValues:l.showValues});t.filterType!=this.defaultFilterType&&(a.filterType=t.filterType);e.filters.push(a)}});return JSON.stringify(e)}set filterDefinition(e){e=asString(e);this.clear();if(e){let t=JSON.parse(e);this.defaultFilterType=t.defaultFilterType;for(let e=0;e<t.filters.length;e++){let i=t.filters[e],l=this._asColumn(i.binding);l||(l=new Column({binding:i.binding}));let s=this.getColumnFilter(l,!0);if(s){null!=i.filterType&&(s.filterType=asEnum(i.filterType,FilterType));switch(i.type){case"condition":let e=s.conditionFilter;e.condition1.value=l.dataType==DataType.Date?changeType(i.condition1.value,l.dataType,null):i.condition1.value;e.condition1.operator=i.condition1.operator;e.and=i.and;e.condition2.value=l.dataType==DataType.Date?changeType(i.condition2.value,l.dataType,null):i.condition2.value;e.condition2.operator=i.condition2.operator;break;case"value":let t=s.valueFilter;t.uniqueValues=i.uniqueValues;["sortValues","maxValues","exclusiveValueSearch"].forEach(e=>{null!=i[e]&&(t[e]=i[e])});t.showValues=i.showValues}}}}this.apply()}get activeEditor(){return Control.getControl(this._divEdt)}editColumnFilter(e,t,i){let l=this._g;this.closeEditor();e=this._asColumn(e);let s=new CellRangeEventArgs(l.cells,new CellRange(-1,e.index));if(!this.onEditingFilter(s))return;let a=createElement(`<div class="${DropDownClsNames.dropDownPanel}"></div>`),n=this.getColumnFilter(e),r=new ColumnFilterEditor(a,n,this.showSortButtons);this._divEdt=a;this._edtCol=e;l.rightToLeft&&(a.dir="rtl");if(!this.onFilterChanging(s)){this._divEdt=this._edtCol=null;return}s.cancel=!0;r.filterChanged.addHandler(()=>{s.cancel=!1;setTimeout(()=>{s.cancel||this.apply()},r._edtVal&&r._edtVal._isFiltering?Control._SEARCH_DELAY+200:0)});r.buttonClicked.addHandler(()=>{this.closeEditor();l.focus();this.onFilterChanged(s)});r.lostFocus.addHandler(()=>{setTimeout(()=>{let e=Control.getControl(this._divEdt);e&&!e.containsFocus()&&this.closeEditor()},10)});let o=t?t.col:e.index,d=l.columns[o];t||d&&d.binding==e.binding||(o=l.selection.leftCol);l._edtHdl._commitRowEdits();l.scrollIntoView(-1,o,!0);let h=l.columnHeaders,u=t&&t.panel&&h&&t.panel._uid==h._uid?t.row:h.rows.length-1,c=o,p=i||h.getCellElement(u,c),_=p?null:h.getCellBoundingRect(u,c);p?showPopup(a,p,!1,!1,!1):showPopup(a,_);this._setAriaExpanded(p,!0);this._setAriaExpanded(l.cells.getCellElement(-1,c),!0);let m=r.hostElement.querySelectorAll("input");for(let e=0;e<m.length;e++){let t=m[e];if(t.offsetHeight>0&&t.tabIndex>-1&&!t.disabled){t.focus();break}}r.containsFocus()||r.focus()}_setAriaExpanded(e,t){if(e){var i=e.querySelector("."+FlexGridFilter._WJC_FILTER);setAttribute(i,"aria-expanded",t)}}closeEditor(){let e=this._g,t=Control.getControl(this._divEdt),i=this._edtCol;t&&hidePopup(t.hostElement,()=>{t.dispose()});if(i){let t=e.columnHeaders,l=t.rows.length?t.getCellElement(t.rows.length-1,i.index):null;this._setAriaExpanded(l,!1);l=e.cells.getCellElement(-1,i.index);this._setAriaExpanded(l,!1)}this._divEdt=null;this._edtCol=null}apply(){let e=this._g.collectionView;if(e){let t=this._g.editableCollectionView;if(t){t.commitEdit();t.commitNew()}this.excludedRowsSet=null;e.filter=this._filter.bind(this)}let t=e?e.updateFilterDefinition:null;isFunction(t)&&t.call(e,this);this.onFilterApplied()}clear(){if(this._filters.length){this._filters=[];this.apply()}}onFilterApplied(e){this.filterApplied.raise(this,e)}onEditingFilter(e){this.editingFilter.raise(this,e);return!e.cancel}onFilterChanging(e){this.filterChanging.raise(this,e);return!e.cancel}onFilterChanged(e){this.filterChanged.raise(this,e)}onExclusiveValueSearchChanged(e){this.exclusiveValueSearchChanged.raise(this,e)}_onShowIncludeSelectionChanged(e){this._showIncludeSelectionChanged.raise(this,e)}_asColumn(e){return isString(e)?this._g.getColumn(e,!0):isNumber(e)?this._g.columns[e]:asType(e,Column,!1)}_filter(e){const t=this.excludedRowsSet;if(!this.reApplyFilterOnUpdate&&t.has(e))return!0;let i=this._filters;for(let t=0;t<i.length;t++){let l=i[t];if(l.column!=FlexGridFilter._skipColumn&&!l.apply(e))return!1}return!0}_formatItem(e,t){if(t.panel==e.columnHeaders){let e=this._g,i=e.getMergedRange(t.panel,t.row,t.col)||new CellRange(t.row,t.col),l=e.columns[i.col],s=e._getBindingColumn(t.panel,t.row,l),a=t.cell;if(i.row2==t.panel.rows.length-1||l!=s){let i=this.getColumnFilter(s,this.defaultFilterType!=FilterType.None),n=this._filterColumns;n&&n.length&&n.indexOf(s.binding)<0&&n.indexOf(s.name)<0&&(i=null);if(i){toggleClass(a,FlexGridFilterClsNames.filterOn,i.isActive);toggleClass(a,FlexGridFilterClsNames.filterOff,!i.isActive)}else{removeClass(a,FlexGridFilterClsNames.filterOn);removeClass(a,FlexGridFilterClsNames.filterOff)}if(i&&i.filterType!=FilterType.None){this._showIcons&&this._addFilterButton(s,i,a);0==t.row&&(a=e.cells.getCellElement(-1,t.col))&&this._addFilterButton(l,i,a)}}}}_addFilterButton(e,t,i){let l=FlexGridFilter._WJC_FILTER,s=createElement(`<button class="${InputFormElementsClsNames.btn} ${GlyphClsNames.btnGlyph} ${UtilitesClsNames.right} `+l+'" type="button" tabindex="-1">'+`<span class=${GlyphClsNames.filter}></span>`+"</button>");setAriaLabel(s,culture.FlexGridFilter.ariaLabels.edit+" "+e.header);setAttribute(s,"aria-haspopup","dialog");setAttribute(s,"aria-expanded",!1);setAttribute(s,"aria-describedby",e.describedById);setAttribute(s,"aria-pressed",t.isActive);if(!i.querySelector("."+l)){1==i.children.length&&(i=i.querySelector("div")||i);i.insertBefore(s,i.firstChild)}}_mousedown(e){this._edtColPrev=this._edtCol}_click(e){if(this._toggleEditor(e)){e.stopPropagation();e.preventDefault()}}_toggleEditor(e){if(!e.defaultPrevented&&0==e.button)if(closestClass(e.target,FlexGridFilter._WJC_FILTER)){let t=this._g,i=t.hitTest(e.target);i.panel||(i=t.hitTest(e));if(i.panel&&t.columnHeaders&&t.cells&&(i.panel._uid==t.columnHeaders._uid||i.panel._uid==t.cells._uid&&-1==i.row)){let e=t.getMergedRange(i.panel,i.row,i.col)||new CellRange(i.row,i.col),l=t.columns[e.col],s=t._getBindingColumn(i.panel,i.row,l);if(this._divEdt&&this._edtCol==s){this.closeEditor();t.focus()}else s!=this._edtColPrev&&setTimeout(()=>{this.editColumnFilter(s,i)},this._divEdt?100:0);return!0}}else this.closeEditor();return!1}_keydown(e){if(!e.defaultPrevented&&!e.ctrlKey&&e.altKey&&(e.keyCode==Key.Down||e.keyCode==Key.Up)){let t=this.grid,i=t.selection,l=i.col>-1?t.columns[i.col]:null,s=l?t._getBindingColumn(t.cells,i.row,l):null,a=s&&s.dataMap&&s.dataMapEditor==DataMapEditor.DropDownList;if(this.filterColumns&&this.filterColumns.length>0&&!this.filterColumns.includes(s._binding._path)){e.preventDefault();return!1}if(t.activePanelType!=CellType.Cell&&t.activePanelType!=CellType.ColumnHeader){e.preventDefault();return!1}s&&s.editor instanceof DropDown&&(a=!0);if(s&&!a){let t=this.getColumnFilter(s,!1);if(t&&t.filterType!=FilterType.None){this.editColumnFilter(s);e.preventDefault();e.stopPropagation()}}}}}FlexGridFilter._WJC_FILTER=FlexGridFilterClsNames.elemFilter;export const empty={};export class ConditionFilter{constructor(e){this._c1=new FilterCondition(this);this._c2=new FilterCondition(this);this._and=!0;this._col=e}get condition1(){return this._c1}get condition2(){return this._c2}get and(){return this._and}set and(e){this._and=asBoolean(e)}get dataMap(){return this._map}set dataMap(e){this._map=asType(e,DataMap,!0)}get column(){return this._col}get isActive(){return this._c1.isActive||this._c2.isActive}apply(e){let t=this._col,i=this._c1,l=this._c2,s=!1,a=!1;if(!t||!t._binding||!this.isActive)return!0;e=t._binding.getValue(e);let n=this.dataMap||t.dataMap;if(n)e=n.getDisplayValue(e);else if(isDate(e)){s=!this._hasTimePart();a=!this._hasDatePart();let t=FilterCondition._refDateTime;s?e=DateTime.fromDateTime(e,t):a&&(e=DateTime.fromDateTime(t,e))}else if(isNumber(e)){let i=Globalize,l=t.format,s=i.formatNumber(e,l);e=i.parseFloat(s,l)}let r=i.apply(e,s,a),o=l.apply(e,s,a);return i.isActive&&l.isActive?this._and?r&&o:r||o:i.isActive?r:!l.isActive||o}clear(){this._c1.clear();this._c2.clear();this.and=!0}_hasDatePart(){let e=this._col.format;if(!e)return!0;e=culture.Globalize.calendar.patterns[e]||e;return/[yMd]+/.test(e)}_hasTimePart(){let e=this._col.format;if(!e)return!1;e=culture.Globalize.calendar.patterns[e]||e;return/[Hmst]+/.test(e)}implementsInterface(e){return"IColumnFilter"==e}}export class ConditionFilterEditor extends Control{constructor(e,t){super(e);this._canApply=!1;this.canApplyChanged=new Event;this._filter=asType(t,ConditionFilter,!1);let i=this.getTemplate();this.applyTemplate(`${ControlClsNames.hostElement} ${ConditionFilterEditorClsNames.hostElement}`,i,{_divHdr:"div-hdr",_divCmb1:"div-cmb1",_divVal1:"div-val1",_btnAnd:"btn-and",_btnOr:"btn-or",_spAnd:"sp-and",_spOr:"sp-or",_divCmb2:"div-cmb2",_divVal2:"div-val2"});let l=culture.FlexGridFilter,s=l.ariaLabels;setAriaLabel(this._btnAnd,s.and);setAriaLabel(this._btnOr,s.or);setText(this._divHdr,l.header);setText(this._spAnd,l.and);setText(this._spOr,l.or);const a=getUniqueId("cmb1");this._divHdr.htmlFor=a;this._divCmb1.id=a;this._cmb1=this._createOperatorCombo(this._divCmb1,s.op1);this._cmb2=this._createOperatorCombo(this._divCmb2,s.op2);this._val1=this._createValueInput(this._divVal1,s.val1);this._val2=this._createValueInput(this._divVal2,s.val2);this._val1.isDisabled=!0;this._cmb1.selectedIndexChanged.addHandler((e,t)=>{this._val1.isDisabled=null==e.selectedValue;this.canApply=!this._val1.isDisabled||!this._val2.isDisabled});this._val2.isDisabled=!0;this._cmb2.selectedIndexChanged.addHandler((e,t)=>{this._val2.isDisabled=null==e.selectedValue;this.canApply=!this._val1.isDisabled||!this._val2.isDisabled});let n=this.hostElement;this.addEventListener(n,"change",this._btnAndOrChanged.bind(this));this.addEventListener(n,"keydown",this._keydown.bind(this));setTimeout(()=>{this.updateEditor()})}static get controlTemplate(){ConditionFilterEditor._ctrlTemplate||(ConditionFilterEditor._ctrlTemplate='<div><label wj-part="div-hdr"></label><div wj-part="div-cmb1"></div><br/><div wj-part="div-val1"></div><br/><div role="radiogroup" style="text-align:center"><label><input wj-part="btn-and" type="radio" role="radio"> <span wj-part="sp-and"></span> </label>&nbsp;&nbsp;&nbsp;<label><input wj-part="btn-or" type="radio" role="radio"> <span wj-part="sp-or"></span> </label></div><div wj-part="div-cmb2"></div><br/><div wj-part="div-val2"></div><br/></div>');return ConditionFilterEditor._ctrlTemplate}static set controlTemplate(e){ConditionFilterEditor._ctrlTemplate=e}get filter(){return this._filter}get canApply(){return this._canApply}set canApply(e){if(e!=this._canApply){this._canApply=e;this.onCanApplyChanged()}}updateEditor(){let e=this._filter.condition1,t=this._filter.condition2;this._cmb1.selectedValue=e.operator;this._cmb2.selectedValue=t.operator;if(this._val1 instanceof input.ComboBox&&!(this._val1 instanceof input.InputTime)){this._val1.text=changeType(e.value,DataType.String);this._val2.text=changeType(t.value,DataType.String)}else{this._val1.value=e.value;this._val2.value=t.value}let i=this._filter.and;this._checkRadio(this._btnAnd,i);this._checkRadio(this._btnOr,!i)}clearEditor(){this._cmb1.selectedValue=this._cmb2.selectedValue=null;this._val1.text=this._val2.text=null;this._checkRadio(this._btnAnd,!0);this._checkRadio(this._btnOr,!1)}get isEditorClear(){return null==this._cmb1.selectedValue&&!this._val1.text&&null==this._cmb2.selectedValue&&!this._val2.text}updateFilter(){let e=this._filter.condition1,t=this._filter.condition2;e.operator=this._cmb1.selectedValue;t.operator=this._cmb2.selectedValue;if("value"in this._val1){e.value=this._val1.value;t.value=this._val2.value}else{e.value=this._getComboValue(this._val1);t.value=this._getComboValue(this._val2)}this._filter.and=this._btnAnd.checked}onCanApplyChanged(e){this.canApplyChanged.raise(this,e)}_getComboValue(e){return e.selectedIndex>-1?e.selectedValue:e.text}_createOperatorCombo(e,t){let i=this._filter.column,l=culture.FlexGridFilter,s=l.stringOperators,a=DataType;this._filter.dataMap||i.dataMap||(i.dataType==a.Date?s=l.dateOperators:i.dataType==a.Number?s=l.numberOperators:i.dataType==a.Boolean&&(s=l.booleanOperators));let n=new input.ComboBox(e,{itemsSource:s,displayMemberPath:"name",selectedValuePath:"op"});setAriaLabel(n.inputElement,t);return n}_createValueInput(e,t){let i=this._filter,l=i.column,s=i.dataMap||l.dataMap,a=null,n=DataType;if(l.dataType==n.Date)(a=i._hasDatePart()?i._hasTimePart()?new input.InputDateTime(e):new input.InputDate(e):new input.InputTime(e)).format=l.format;else if(l.dataType!=n.Number||s){(a=new input.ComboBox(e)).isEditable=!0;a.trimText=!1;if(s){a.itemsSource=s.getDisplayValues();a.caseSensitiveSearch=!!l.grid&&l.grid.caseSensitiveSearch}else l.dataType==n.Boolean&&(a.itemsSource=[!0,!1])}else(a=new input.InputNumber(e)).format=l.format;a.isRequired=!1;setAriaLabel(a.inputElement,t);return a}_btnAndOrChanged(e){let t=e.target==this._btnAnd,i=e.target==this._btnOr;if(t||i){this._checkRadio(this._btnAnd,t);this._checkRadio(this._btnOr,i)}}_checkRadio(e,t){e.checked=t;setAttribute(e,"aria-checked",t.toString());setAttribute(e,"tabindex",t?null:"-1")}_keydown(e){let t=e.target==this._btnAnd,i=e.target==this._btnOr;if(t||i)switch(e.keyCode){case Key.Left:case Key.Right:case Key.Up:case Key.Down:let i=t?this._btnOr:this._btnAnd;i.click();i.focus();e.preventDefault()}}}ConditionFilterEditor._ctrlTemplate="";export class FilterCondition{constructor(e){this._op=null;this._filter=e}get operator(){return this._op}set operator(e){this._op=asEnum(e,Operator,!0)}get value(){return this._val}set value(e){this._val=e;this._strVal=isString(e)?this._getCaseString(e):null}get isActive(){switch(this._op){case null:return!1;case Operator.EQ:case Operator.NE:return!0;default:return null!=this._val||null!=this._strVal}}clear(){this.operator=null;this.value=null}apply(e,t,i){let l=this._strVal||this._val;isString(e)&&(e=this._getCaseString(e));isString(l)&&null==e&&(e="");isDate(l)&&(t?l=DateTime.fromDateTime(l,FilterCondition._refDateTime):i&&(l=DateTime.fromDateTime(FilterCondition._refDateTime,l)));let s=Operator;switch(this._op){case null:return!0;case s.EQ:return null!=e&&null!=l?e.valueOf()==l.valueOf():e==l;case s.NE:return null!=e&&null!=l?e.valueOf()!=l.valueOf():e!=l;case s.GT:return e>l;case s.GE:return e>=l;case s.LT:return e<l;case s.LE:return e<=l;case s.BW:return!(null==this._strVal||!isString(e))&&0==e.indexOf(this._strVal);case s.EW:return!!(null!=this._strVal&&isString(e)&&e.length>=this._strVal.length)&&e.substr(e.length-this._strVal.length)==l;case s.CT:return!(null==this._strVal||!isString(e))&&e.indexOf(this._strVal)>-1;case s.NC:return!(null==this._strVal||!isString(e))&&e.indexOf(this._strVal)<0;case s.NBW:return!(null==this._strVal||!isString(e))&&0!==e.indexOf(this._strVal);case s.NEW:return!(null==this._strVal||!isString(e))&&e.substring(e.length-this._strVal.length)!==l}throw"Unknown operator"}_getCaseString(e){let t=this._filter.column,i=t?t.grid:null;return i&&i.caseSensitiveSearch?e:e.toLowerCase()}}FilterCondition._refDateTime=new Date(2e3,0,1,0,0,0);export var Operator;!function(e){e[e.EQ=0]="EQ";e[e.NE=1]="NE";e[e.GT=2]="GT";e[e.GE=3]="GE";e[e.LT=4]="LT";e[e.LE=5]="LE";e[e.BW=6]="BW";e[e.EW=7]="EW";e[e.CT=8]="CT";e[e.NC=9]="NC";e[e.NBW=10]="NBW";e[e.NEW=11]="NEW"}(Operator||(Operator={}));export var ValueFilterSearchKind;!function(e){e[e.Text=0]="Text";e[e.Regex=1]="Regex";e[e.Excel=2]="Excel"}(ValueFilterSearchKind||(ValueFilterSearchKind={}));export class ValueFilter{constructor(e){this._values=null;this._filterText=null;this._xValueSearch=!0;this._maxValues=250;this._uniqueValues=null;this._sortValues=!0;this._searchType=ValueFilterSearchKind.Excel;this._showIncludeSelection=!1;this._col=e}get searchType(){return this._searchType}set searchType(e){this._searchType=asEnum(e,ValueFilterSearchKind)}get showValues(){return this._values}set showValues(e){this._values=e}get filterText(){return this._filterText}set filterText(e){this._filterText=asString(e)}get exclusiveValueSearch(){return this._xValueSearch}set exclusiveValueSearch(e){if((e=asBoolean(e))!==this._xValueSearch){this._xValueSearch=asBoolean(e);e&&(this._filterText="")}}get maxValues(){return this._maxValues}set maxValues(e){this._maxValues=asNumber(e,!1,!0)}get uniqueValues(){return this._uniqueValues}set uniqueValues(e){this._uniqueValues=asArray(e)}get sortValues(){return this._sortValues}set sortValues(e){this._sortValues=asBoolean(e)}get dataMap(){return this._map}set dataMap(e){this._map=asType(e,DataMap,!0)}get showIncludeSelection(){return this._showIncludeSelection}set showIncludeSelection(e){e!=this._showIncludeSelection&&(this._showIncludeSelection=asBoolean(e,!1))}get column(){return this._col}get isActive(){return null!=this._values&&Object.keys(this._values).length>0}apply(e){let t=this.column;if(!(t&&t._binding&&this._values&&Object.keys(this._values).length))return!0;e=t._binding.getValue(e);e=this.dataMap?this.dataMap.getDisplayValue(e)||"":t.dataMap?t.dataMap.getDisplayValue(e)||"":Globalize.format(e,t.format);return null!=this._values[e]}clear(){this.showValues=null;this.filterText=null}getUniqueValues(e=!0){let t=[],i=this.column,l=Globalize.format;if(this.uniqueValues){this.uniqueValues.forEach(e=>{t.push({value:e,text:l(e,i.format)})});return t}let s={},a=i.collectionView,n=a?a.sourceCollection:[];if(e&&a&&a.sourceCollection&&a.filter)try{FlexGridFilter._skipColumn=this._col;let e=[];for(let t=0;t<n.length;t++)a.filter(n[t])&&e.push(n[t]);n=e}finally{FlexGridFilter._skipColumn=null}for(let e=0;e<n.length;e++){let a=i._binding.getValue(n[e]),r=this.dataMap?this.dataMap.getDisplayValue(a)||"":i.dataMap?i.dataMap.getDisplayValue(a)||"":l(a,i.format);if(!s[r]){s[r]=!0;t.push({value:a,text:r})}}return t}implementsInterface(e){return"IColumnFilter"==e}}export class ValueFilterEditor extends Control{constructor(e,t){super(e);this._canApply=!1;this._isFiltering=!1;this.canApplyChanged=new Event;this._filter=asType(t,ValueFilter,!1);let i=this.getTemplate();this.applyTemplate(`${ControlClsNames.hostElement} ${ValueFilterEditorClsNames.hostElement}`,i,{_divFilter:"div-filter",_cbSelectAll:"cb-select-all",_spSelectAll:"sp-select-all",_cbIncludeSel:"cb-include-sel",_spIncludeSel:"sp-include-sel",_lblIncludeSel:"lbl-include-sel",_divOptions:"div-options",_divValues:"div-values",_divExceeds:"div-exceeds",_aExceeds:"a-exceeds"});this._cbSelectAll.tabIndex=0;this._cbIncludeSel.tabIndex=0;let l=culture.FlexGridFilter;setText(this._spSelectAll,l.selectAll);setText(this._spIncludeSel,l.includeSelection);setText(this._aExceeds,l.exceedsMaxValues);let s=this._view=new CollectionView(null,{sortNulls:SortNulls.First,filter:this._filterValues.bind(this)});if(t.sortValues){let e=t.column.dataMap||t.dataMap?"text":"value",i=t.column.dataType!=DataType.Boolean;s.sortDescriptions.push(new SortDescription(e,i))}s.collectionChanged.addHandler(this._updateSelectAllCheck,this);this._filterText="";this._rxFilter=null;this._cmbFilter=new input.ComboBox(this._divFilter,{trimText:!1,isRequired:!1,placeholder:l.search});this._cmbFilter.isEditable=!0;this._lbValues=new input.ListBox(this._divValues,{displayMemberPath:"text",checkedMemberPath:"show",itemsSource:this._view,itemFormatter:(e,t)=>t||l.null,checkedItemsChanged:e=>this._updateSelectAllCheck()});setAttribute(this._divValues,"aria-label",culture.FlexGridFilter.ariaLabels.listBox);setAriaLabel(this._cmbFilter.inputElement,l.ariaLabels.search);setAttribute(this._lbValues.hostElement,"aria-multiselectable",!0);this._cmbFilter.inputElement.addEventListener("input",this._filterTextChanged.bind(this));this._cbSelectAll.addEventListener("click",this._cbSelectAllClicked.bind(this));if(!this._popup){this._initPopup();this._aExceeds&&this.addEventListener(this._aExceeds,"click",e=>{e.preventDefault();this._popup.show(!0)})}this.updateEditor();this._filter.showValues?this._initialItems=s.sourceCollection.filter(e=>this._filter.showValues[e.text||e.value]||!1):this._initialItems=this._lbValues.checkedItems}static get controlTemplate(){ValueFilterEditor._ctrlTemplate||(ValueFilterEditor._ctrlTemplate='<div><div wj-part="div-filter"></div>'+`<div wj-part="div-options" class="${input.ListBoxClsNames.listBoxItem}">`+'<label><input wj-part="cb-select-all" type="checkbox"> <span wj-part="sp-select-all"></span></label><br /><label wj-part="lbl-include-sel"><input wj-part="cb-include-sel" type="checkbox"> <span wj-part="sp-include-sel"></span></label></div><div wj-part="div-values"></div><div wj-part="div-exceeds"><a wj-part="a-exceeds"></a></div></div>');return ValueFilterEditor._ctrlTemplate}static set controlTemplate(e){ValueFilterEditor._ctrlTemplate=e}get filter(){return this._filter}get canApply(){return this._canApply}set canApply(e){if(e!=this._canApply){this._canApply=e;this.onCanApplyChanged()}}get _shouldIncludeSelection(){return this._filter.showIncludeSelection&&this._cbIncludeSel.checked}updateEditor(){let e=this._filter.column,t=this._filter.getUniqueValues(!0);this._lbValues.isContentHtml=e.isContentHtml;let i=this._filter.showValues;if(i&&0!=Object.keys(i).length){for(let e in i)for(let i=0;i<t.length;i++)if(t[i].text==e){t[i].show=!0;break}}else t.forEach(e=>e.show=!0);let l=this._filter.filterText||"",s=this._getCaseSensitive();this._cmbFilter.text=l;this._filterText=s?l:l.toLowerCase();this._rxFilter=this._getSearchExp(l,s);this._filter.showIncludeSelection&&!this.hostElement.contains(this._lblIncludeSel)?this._divOptions.appendChild(this._lblIncludeSel):this._filter.showIncludeSelection||this._lblIncludeSel.remove();let a=this._view;a.pageSize=this._filter.maxValues;a.sourceCollection=t;setTimeout(()=>{this._adjustWidths()},0);this._updateExceedsMaxValuesDisplay()}clearEditor(e=!0){this._cmbFilter.text="";this._filterText="";this._rxFilter=null;let t=this._view;t.pageSize=0;t.items.forEach(t=>{t.show=e});t.moveCurrentTo(-1);t.refresh();t.pageSize=this._filter.maxValues}get isEditorClear(){return!this._filterText&&!this._cbSelectAll.indeterminate}_updateFilter(){let e=null,t=this._getItems();if(this._filterText||this._cbSelectAll.indeterminate){e=this._shouldIncludeSelection&&this._filter.showValues||{};for(let i=0;i<t.length;i++){let l=t[i];l.show&&(e[l.text]=!0)}}let i=this._filter;i.showValues=e;i.filterText=this._filterText}updateFilter(){this._isFiltering?setTimeout(()=>{this._updateFilter()},Control._SEARCH_DELAY+100):this._updateFilter()}onCanApplyChanged(e){this.canApplyChanged.raise(this,e)}_getCaseSensitive(){let e=this._filter.column,t=e?e.grid:null;return t&&t.caseSensitiveSearch}_getItems(){return this._filter.exclusiveValueSearch?this._view.items:this._view.sourceCollection}_filterTextChanged(){""===this._filterText&&this._cbSelectAll.checked||this._filter.exclusiveValueSearch?this._lbValues._addMode=!1:this._lbValues._addMode=!0;this._toFilter&&clearTimeout(this._toFilter);this._isFiltering=!0;this._toFilter=setTimeout(()=>{let e=this._cmbFilter.text,t=this._getCaseSensitive();t||(e=e.toLowerCase());if(e!=this._filterText){this._filterText=e;this._rxFilter=this._getSearchExp(e,t);this._view.refresh();this._updateExceedsMaxValuesDisplay();if(!e){let e=this._initialItems;if(e.length&&this._view.sourceCollection.indexOf(e[0])>-1){this._lbValues.checkedItems=this._initialItems;this._updateSelectAllCheck();this._isFiltering=!1;return}}if(this._filter.exclusiveValueSearch){this._cbSelectAll.checked=!0;this._cbSelectAllClicked()}else this._updateSelectAllCheck()}this._isFiltering=!1},Control._SEARCH_DELAY)}_getSearchExp(e,t){if(!e)return null;switch(this._filter.searchType){case ValueFilterSearchKind.Text:return this._getTextSearchExp(e,t);case ValueFilterSearchKind.Regex:return this._getRegexSearchExp(e,t);case ValueFilterSearchKind.Excel:return this._getExcelSearchExp(e,t)}}_getTextSearchExp(e,t){return new RegExp(escapeRegExp(e),t?"":"i")}_getRegexSearchExp(e,t){try{return new RegExp(e,t?"s":"is")}catch(e){return new RegExp("(?!)",t?"s":"is")}}_getExcelSearchExp(e,t){let i=e;i=(i=(i=(i=(i=(i=(i=(i=i.replace(/([.+^$[\]\\(){}|-])/g,"\\$1")).replace(/~~/g,"__`$0`__")).replace(/~\?/g,"__`$1`__")).replace(/~\*/g,"__`$2`__")).replace(/~(.)/g,"$1")).replace(/(\?+)/g,(function(e,t){return Array.from(t).map(e=>".").join("")}))).replace(/(\*+)/g,(function(e,t){return Array.from(t).map(e=>".*").join("")}))).replace(/__`\$(\d)`__/g,(function(e,t){switch(t){case"0":return"~";case"1":return"\\?";case"2":return"\\*"}}));/([^~]|^)[?*]/g.test(e)&&(i="^"+i+"$");("~"===e||e&&!i.length)&&(i="$a^");return new RegExp(i,t?"s":"is")}_filterValues(e){let t=this._rxFilter;return null==t||null==e||t.test(e.text)}_cbSelectAllClicked(){let e=this._cbSelectAll.checked,t=this._divValues.scrollTop,i=this._getItems();for(let t=0;t<i.length;t++)i[t].show=e;this._view.refresh();this._divValues.scrollTop=t;setTimeout(()=>{this._adjustWidths()},0)}_updateSelectAllCheck(){let e=this._getItems(),t=0,i=0;for(let l=0;l<e.length;l++){e[l].show?t++:i++;if(t&&i)break}setChecked(this._cbSelectAll,t&&i?null:t>0);this.canApply=t>0}_adjustWidths(){let e=this._lbValues.hostElement;if(e&&e.offsetHeight>0){let t=0,i=e.querySelectorAll(`.${input.ListBoxClsNames.listBoxItem} label`);if(i.length){for(let e=0;e<i.length;e++)t=Math.max(t,i[e].scrollWidth);if(t){let i=e.querySelectorAll(`.${input.ListBoxClsNames.listBoxItem}`);if(i.length){let e=i[0],l=getComputedStyle(e),s=parseFloat(l.paddingLeft)+parseFloat(l.paddingRight);for(let e=0;e<i.length;e++)i[e].style.width=t+s+"px"}}}}}get exceedsMaxValues(){return!(!this._view||!this._view._view)&&this._view._view.length>this.filter.maxValues}_updateExceedsMaxValuesDisplay(){this._aExceeds.style.display=this.exceedsMaxValues?"":"none"}_initPopup(){let e=document.createElement("div");e.innerHTML='<div role="dialog">'+`<div class=${input.PopupClsNames.dialogBody}>`+`<div class=${ValueFilterEditorClsNames.customModalText}>`+"<p>"+culture.FlexGridFilter.popupBody+"</p></div></div>"+`<div class="${input.PopupClsNames.dialogFooter} ${ValueFilterEditorClsNames.modalFooter}" >`+`<button class="btn btn-primary ${UtilitesClsNames.hideOk}">`+culture.FlexGridFilter.popupOkButton+"</button></div></div>";this._popup=new input.Popup(e,{modal:!0,fadeIn:!0,fadeOut:!0})}}ValueFilterEditor._ctrlTemplate="";export class ColumnFilter{constructor(e,t){this._owner=e;this._col=t;this._valueFilter=new ValueFilter(t);this._valueFilter.exclusiveValueSearch=e.exclusiveValueSearch;this._valueFilter.showIncludeSelection=e.showIncludeSelection;this._conditionFilter=new ConditionFilter(t);e.exclusiveValueSearchChanged.addHandler(e=>{this._valueFilter.exclusiveValueSearch=e.exclusiveValueSearch});e._showIncludeSelectionChanged.addHandler(e=>{this._valueFilter.showIncludeSelection=e.showIncludeSelection})}get filterType(){return null!=this._filterType?this._filterType:this._owner.defaultFilterType}set filterType(e){if((e=asEnum(e,FilterType,!0))!=this._filterType){let t=this.isActive;this.clear();this._filterType=e;t?this._owner.apply():this._col.grid&&this._col.grid.invalidate()}}get dataMap(){return this.conditionFilter.dataMap||this.valueFilter.dataMap}set dataMap(e){this.conditionFilter.dataMap=e;this.valueFilter.dataMap=e}get valueFilter(){return this._valueFilter}get conditionFilter(){return this._conditionFilter}get column(){return this._col}get isActive(){return this._conditionFilter.isActive||this._valueFilter.isActive}apply(e){return this._conditionFilter.apply(e)&&this._valueFilter.apply(e)}clear(){this._valueFilter.clear();this._conditionFilter.clear()}implementsInterface(e){return"IColumnFilter"==e}}_addCultureInfo("FlexGridFilter",{ariaLabels:{edit:"Edit Filter for Column",dialog:"Filter Editor for Column",asc:"Sort Column in Ascending Order",dsc:"Sort Column in Descending Order",search:"Search Item List",op1:"First Condition Operator",val1:"First Condition Value",and:"Require both Conditions",or:"Require either Condition",op2:"Second Condition Operator",val2:"Second Condition Value",active:"active",listBox:"List of options available for filtering"},ascending:"↑ Ascending",descending:"↓ Descending",apply:"Apply",cancel:"Cancel",clear:"Clear",conditions:"Filter by Condition",values:"Filter by Value",search:"Search",selectAll:"Select All",includeSelection:"Include Current Selection",null:"(nothing)",exceedsMaxValues:"Not all items showing",popupBody:"This column has more than 250 unique items. Only the first 250 unique items are displayed.",popupOkButton:"OK",header:"Show items where the value",and:"And",or:"Or",stringOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Does not equal",op:Operator.NE},{name:"Begins with",op:Operator.BW},{name:"Does not begin with",op:Operator.NBW},{name:"Ends with",op:Operator.EW},{name:"Does not end with",op:Operator.NEW},{name:"Contains",op:Operator.CT},{name:"Does not contain",op:Operator.NC}],numberOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Does not equal",op:Operator.NE},{name:"Is Greater than",op:Operator.GT},{name:"Is Greater than or equal to",op:Operator.GE},{name:"Is Less than",op:Operator.LT},{name:"Is Less than or equal to",op:Operator.LE}],dateOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Is Before",op:Operator.LT},{name:"Is After",op:Operator.GT}],booleanOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Does not equal",op:Operator.NE}]});export class ColumnFilterEditor extends Control{constructor(e,t,i=!0){super(e,null,!0);this._disallowedControls=new Set(["TransposedGrid","WjTransposedGrid","TransposedMultiRow","WjTransposedMultiRow"]);this.filterChanged=new Event;this.buttonClicked=new Event;this._filter=asType(t,ColumnFilter);let l=this.getTemplate();this.applyTemplate(`${ControlClsNames.hostElement} ${ControlClsNames.content} ${ControlClsNames.content} ${ColumnFilterEditorClsNames.hostElement}`,l,{_divSort:"div-sort",_btnAsc:"btn-asc",_btnDsc:"btn-dsc",_divType:"div-type",_aVal:"a-val",_aCnd:"a-cnd",_divEdtVal:"div-edt-val",_divEdtCnd:"div-edt-cnd",_btnApply:"btn-apply",_btnCancel:"btn-cancel",_btnClear:"btn-clear"});let s=culture.FlexGridFilter,a=s.ariaLabels,n=this.hostElement,r=this.filter.column,o=r.grid.collectionView;setAttribute(n,"role","dialog");setAriaLabel(n,a.dialog+" "+r.header);setAriaLabel(this._btnAsc,a.asc);setAriaLabel(this._btnDsc,a.dsc);setText(this._btnAsc,s.ascending);setText(this._btnDsc,s.descending);setText(this._aVal,s.values);setText(this._aCnd,s.conditions);setText(this._btnApply,s.apply);setText(this._btnCancel,s.cancel);setText(this._btnClear,s.clear);let d=this.filter.conditionFilter.isActive||0==(t.filterType&FilterType.Value)?FilterType.Condition:FilterType.Value;this._showFilter(d);if(!r.allowSorting||this._disallowedControls.has(r.grid.constructor.name)){enable(this._btnAsc,!1);enable(this._btnDsc,!1)}i&&o&&o.canSort||(this._divSort.style.display="none");this._updateSortButtonState();let h=this._btnClicked.bind(this);this._btnApply.addEventListener("click",h);this._btnCancel.addEventListener("click",h);this._btnClear.addEventListener("click",h);this._btnAsc.addEventListener("click",h);this._btnDsc.addEventListener("click",h);this._aVal.addEventListener("click",h);this._aCnd.addEventListener("click",h);this.addEventListener(n,"keydown",e=>{if(!e.defaultPrevented){let t=e.target.tagName.match(/^(a|button)$/i);switch(e.keyCode){case Key.Space:if(t){this._btnClicked(e);e.preventDefault()}break;case Key.Enter:if(t)this._btnClicked(e);else{this.updateFilter();this.onFilterChanged();this.onButtonClicked()}e.preventDefault();break;case Key.Escape:this.onButtonClicked();e.preventDefault();break;case Key.Tab:moveFocus(this.hostElement,e.shiftKey?-1:1);e.preventDefault()}}});this.addEventListener(window,"resize",()=>{this.isTouching||this._wasTouching||this.onButtonClicked()})}static get controlTemplate(){ColumnFilterEditor._ctrlTemplate||(ColumnFilterEditor._ctrlTemplate="<div>"+`<div wj-part="div-sort" class="${ColumnFilterEditorClsNames.sortButtons}">`+`<button wj-part="btn-asc" class="${InputFormElementsClsNames.btn}"></button>&nbsp;&nbsp;&nbsp;`+`<button wj-part="btn-dsc" class="${InputFormElementsClsNames.btn}"></button>`+"</div>"+`<div wj-part="div-type" class="${ColumnFilterEditorClsNames.filterType}">`+'<a wj-part="a-cnd" href="" draggable="false"></a>&nbsp;|&nbsp;<a wj-part="a-val" href="" draggable="false"></a></div><div wj-part="div-edt-val" tabindex="-1"></div><div wj-part="div-edt-cnd" tabindex="-1"></div><div style="text-align:right;margin-top:10px">'+`<button wj-part="btn-apply" class="${InputFormElementsClsNames.btn}"></button>&nbsp;&nbsp;`+`<button wj-part="btn-cancel" class="${InputFormElementsClsNames.btn}"></button>&nbsp;&nbsp;`+`<button wj-part="btn-clear" class="${InputFormElementsClsNames.btn}"></button>`+"</div></div>");return ColumnFilterEditor._ctrlTemplate}static set controlTemplate(e){ColumnFilterEditor._ctrlTemplate=e}get filter(){return this._filter}updateEditor(){this._edtVal&&this._edtVal.updateEditor();this._edtCnd&&this._edtCnd.updateEditor()}updateFilter(){switch(this._getFilterType()){case FilterType.Value:this._edtVal.updateFilter();this.filter.conditionFilter.clear();break;case FilterType.Condition:this._edtCnd.updateFilter();this.filter.valueFilter.clear()}}onFilterChanged(e){this.filterChanged.raise(this,e)}onButtonClicked(e){this.buttonClicked.raise(this,e)}_showFilter(e){this._wasTouching=this.isTouching;if(e==FilterType.Value&&null==this._edtVal){this._edtVal=new ValueFilterEditor(this._divEdtVal,this.filter.valueFilter);this._edtVal.canApplyChanged.addHandler(e=>{enable(this._btnApply,this._edtVal.canApply)})}if(e==FilterType.Condition&&null==this._edtCnd){this._edtCnd=new ConditionFilterEditor(this._divEdtCnd,this.filter.conditionFilter);this._edtCnd.canApplyChanged.addHandler(e=>{enable(this._btnApply,this._edtCnd.canApply)})}if(0!=(e&this.filter.filterType))if(e==FilterType.Value){this._divEdtVal.style.display="";this._divEdtCnd.style.display="none";this._enableLink(this._aVal,!1);this._enableLink(this._aCnd,!0);this._edtVal.focus();this._edtVal._updateExceedsMaxValuesDisplay();enable(this._btnApply,this._edtVal.canApply)}else{this._divEdtVal.style.display="none";this._divEdtCnd.style.display="";this._enableLink(this._aVal,!0);this._enableLink(this._aCnd,!1);this._edtCnd.focus();enable(this._btnApply,this._edtCnd.canApply)}let t=this._divType.style;switch(this.filter.filterType){case FilterType.None:case FilterType.Condition:case FilterType.Value:t.display="none";break;default:t.display=""}}_enableLink(e,t){toggleClass(e,ControlStateClsNames.disabled,!t);setAttribute(e,"href",t?"":null);setAttribute(e,"disabled",t?null:"disabled")}_updateSortButtonState(){let e=this.filter.column,t=e?e.currentSort:"",i=ControlStateClsNames.active,l=culture.FlexGridFilter.ariaLabels;if("+"===t){addClass(this._btnAsc,i);this._btnAsc.setAttribute("aria-label",`${l.asc} ${l.active}`)}else if("-"===t){addClass(this._btnDsc,i);this._btnDsc.setAttribute("aria-label",`${l.dsc} ${l.active}`)}}_getFilterType(){let e=FilterType;return"none"!=this._divEdtVal.style.display?e.Value:e.Condition}_btnClicked(e){let t=e.target;e.preventDefault();e.stopPropagation();if(!hasClass(t,ControlStateClsNames.disabled))if(t!=this._aVal)if(t!=this._aCnd){if(t==this._btnAsc||t==this._btnDsc){let t=this.filter.column.grid,i=this.filter.column,l=i.sortMemberPath||i.binding,s=i.grid.collectionView.sortDescriptions,a=this.hostElement["$WJ-OWNR"]&&this.hostElement["$WJ-OWNR"]["wj-cell-index"];if(a){let i=a.panel,n=a.rng;null==n&&(n=new CellRange(a.row,a.col,a.row,a.col));let r=new CellRangeEventArgs(i,n,e);if(t.onSortingColumn(r)){s.deferUpdate(()=>{s.clear();s.push(new SortDescription(l,e.target==this._btnAsc))});this._updateSortButtonState();t.onSortedColumn(r)}}}if(t==this._btnApply){this.updateFilter();this.onFilterChanged()}else if(t==this._btnClear){if(this.filter.isActive){this.filter.clear();this.onFilterChanged()}}else this.updateEditor();this.onButtonClicked()}else{this._showFilter(FilterType.Condition);moveFocus(this._edtCnd.hostElement,0)}else{this._showFilter(FilterType.Value);moveFocus(this._edtVal.hostElement,0)}}}ColumnFilterEditor._ctrlTemplate="";_registerModule("wijmo.grid.filter",selfModule);
package/es5-esm.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * Wijmo Library 5.20242.30
3
+ * Wijmo Library 5.20251.34
4
4
  * https://developer.mescius.com/wijmo
5
5
  *
6
6
  * Copyright(c) MESCIUS inc. All rights reserved.
@@ -11,4 +11,4 @@
11
11
  *
12
12
  */
13
13
 
14
- var __extends=this&&this.__extends||function(){var extendStatics=function(e,t){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)};return function(e,t){extendStatics(e,t);function __(){this.constructor=e}e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)}}();import{Column,DataMap,FlexGrid,DataMapEditor,CellRange,CellRangeEventArgs,CellType,_NewRowTemplate}from"@grapecity/wijmo.grid";import{Globalize,asString,asNumber,asArray,asBoolean,asType,asEnum,isString,isDate,DateTime,culture,isNumber,copy,changeType,setAttribute,showPopup,hidePopup,isFunction,createElement,toggleClass,removeClass,closestClass,setAriaLabel,Control,Event,DataType,Key,CollectionView,GlyphClsNames,InputFormElementsClsNames,UtilitesClsNames,setText,escapeRegExp,setChecked,SortDescription,SortNulls,ControlClsNames,getUniqueId,_addCultureInfo,enable,moveFocus,hasClass,addClass,ControlStateClsNames,_registerModule}from"@grapecity/wijmo";import{DropDown,DropDownClsNames}from"@grapecity/wijmo.input";import*as input from"@grapecity/wijmo.input";import*as selfModule from"@grapecity/wijmo.grid.filter";export var ColumnFilterEditorClsNames={filterType:"wj-filtertype",hostElement:"wj-columnfiltereditor",sortButtons:"wj-sort-buttons"};export var ConditionFilterEditorClsNames={hostElement:"wj-conditionfilter-editor"};export var FlexGridFilterClsNames={elemFilter:"wj-elem-filter",filter:"wj-filter",filterOff:"wj-filter-off",filterOn:"wj-filter-on",hostElement:"wj-columnfiltereditor"};export var ValueFilterEditorClsNames={hostElement:"wj-valuefilter-editor",customModalText:"wj-custom-modal-text",modalFooter:"wj-valuefilter-modal-footer"};export var FilterType;!function(e){e[e.None=0]="None";e[e.Condition=1]="Condition";e[e.Value=2]="Value";e[e.Both=3]="Both"}(FilterType||(FilterType={}));var FlexGridFilter=function(){function FlexGridFilter(e,t){this._showIcons=!0;this._showSort=!0;this._defFilterType=FilterType.Both;this._xValueSearch=!0;this._includeUpdatedRowsInFilter=!1;this._showIncludeSelection=!1;this.filterApplied=new Event;this.editingFilter=new Event;this.filterChanging=new Event;this.filterChanged=new Event;this.exclusiveValueSearchChanged=new Event;this._showIncludeSelectionChanged=new Event;this._filters=[];this._g=asType(e,FlexGrid,!1);this._g.formatItem.addHandler(this._formatItem.bind(this));this._g.itemsSourceChanged.addHandler(this.clear.bind(this));var i=this._g.hostElement;e.addEventListener(i,"mousedown",this._mousedown.bind(this),!0);e.addEventListener(i,"click",this._click.bind(this),!0);e.addEventListener(i,"keydown",this._keydown.bind(this),!0);this._g.invalidate();copy(this,t);this._init()}FlexGridFilter.prototype._init=function(){var e=this,t=this.grid,_excludeRowFromFilter=function(t){var i=e.grid,l=e.excludedRowsSet;if(null!=i&&i.rows.length>t)if(i.itemsSource)if(i.rows[t]instanceof _NewRowTemplate){var r=i.editableCollectionView.currentAddItem||i.rows[t].dataItem;r&&l.add(r)}else i.rows[t].dataItem&&l.add(i.rows[t].dataItem);else i.rows[t]&&l.add(i.rows[t])};t.rowChanged&&t.rowChanged.addHandler((function(e,t){t.added&&_excludeRowFromFilter(t.index)}));t.rowEditEnding.addHandler((function(e,t){_excludeRowFromFilter(t.row)}));t.cellEditEnded.addHandler((function(e,t){_excludeRowFromFilter(t.row)}))};Object.defineProperty(FlexGridFilter.prototype,"excludedRowsSet",{get:function(){var e=this.grid;e.selectedSheet&&(e=e.selectedSheet);e._newAddedRowsSet||(e._newAddedRowsSet=new WeakSet);return e._newAddedRowsSet},set:function(e){var t=this.grid;t.selectedSheet&&(t=t.selectedSheet);t._newAddedRowsSet=e},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"grid",{get:function(){return this._g},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"filterColumns",{get:function(){return this._filterColumns},set:function(e){this._filterColumns=asArray(e);this.clear()},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"showFilterIcons",{get:function(){return this._showIcons},set:function(e){if(e!=this.showFilterIcons){this._showIcons=asBoolean(e);this._g&&this._g.invalidate()}},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"showSortButtons",{get:function(){return this._showSort},set:function(e){this._showSort=asBoolean(e)},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"reApplyFilterOnUpdate",{get:function(){return this._includeUpdatedRowsInFilter},set:function(e){e!==this._includeUpdatedRowsInFilter&&(this._includeUpdatedRowsInFilter=asBoolean(e))},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"showIncludeSelection",{get:function(){return this._showIncludeSelection},set:function(e){if(e!=this._showIncludeSelection){this._showIncludeSelection=asBoolean(e,!1);this._onShowIncludeSelectionChanged()}},enumerable:!0,configurable:!0});FlexGridFilter.prototype.getColumnFilter=function(e,t){void 0===t&&(t=!0);if(e=this._asColumn(e)){for(var i=0;i<this._filters.length;i++)if(this._filters[i].column==e)return this._filters[i];if(t&&e.binding){var l=new ColumnFilter(this,e);this._filters.push(l);return l}}return null};Object.defineProperty(FlexGridFilter.prototype,"defaultFilterType",{get:function(){return this._defFilterType},set:function(e){if((e=asEnum(e,FilterType,!1))!=this.defaultFilterType){this._defFilterType=e;this._g.invalidate();this.clear()}},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"exclusiveValueSearch",{get:function(){return this._xValueSearch},set:function(e){if((e=asBoolean(e))!==this._xValueSearch){this._xValueSearch=e;this.onExclusiveValueSearchChanged()}},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"filterDefinition",{get:function(){var e=this,t={defaultFilterType:this.defaultFilterType,filters:[]};this._filters.forEach((function(i){var l=i.conditionFilter,r=i.valueFilter,n=r.uniqueValues&&r.uniqueValues.length;if(i&&i.column&&i.column.binding&&(i.isActive||n||i.filterType!=e.defaultFilterType)){var o={binding:i.column.binding};if(l.isActive){var a=l.condition1,s=l.condition2;o={binding:i.column.binding,type:"condition",condition1:{operator:a.operator,value:a.value},and:l.and,condition2:{operator:s.operator,value:s.value}}}else(r.isActive||n)&&(o={binding:i.column.binding,type:"value",uniqueValues:r.uniqueValues,sortValues:r.sortValues,maxValues:r.maxValues,exclusiveValueSearch:r.exclusiveValueSearch,showValues:r.showValues});i.filterType!=e.defaultFilterType&&(o.filterType=i.filterType);t.filters.push(o)}}));return JSON.stringify(t)},set:function(e){e=asString(e);this.clear();if(e){var t=JSON.parse(e);this.defaultFilterType=t.defaultFilterType;for(var _loop_1=function(e){var l=t.filters[e],r=i._asColumn(l.binding);r||(r=new Column({binding:l.binding}));var n=i.getColumnFilter(r,!0);if(n){null!=l.filterType&&(n.filterType=asEnum(l.filterType,FilterType));switch(l.type){case"condition":var o=n.conditionFilter;o.condition1.value=r.dataType==DataType.Date?changeType(l.condition1.value,r.dataType,null):l.condition1.value;o.condition1.operator=l.condition1.operator;o.and=l.and;o.condition2.value=r.dataType==DataType.Date?changeType(l.condition2.value,r.dataType,null):l.condition2.value;o.condition2.operator=l.condition2.operator;break;case"value":var a=n.valueFilter;a.uniqueValues=l.uniqueValues;["sortValues","maxValues","exclusiveValueSearch"].forEach((function(e){null!=l[e]&&(a[e]=l[e])}));a.showValues=l.showValues}}},i=this,l=0;l<t.filters.length;l++)_loop_1(l)}this.apply()},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"activeEditor",{get:function(){return Control.getControl(this._divEdt)},enumerable:!0,configurable:!0});FlexGridFilter.prototype.editColumnFilter=function(e,t,i){var l=this,r=this._g;this.closeEditor();e=this._asColumn(e);var n=new CellRangeEventArgs(r.cells,new CellRange(-1,e.index));if(this.onEditingFilter(n)){var o=createElement('<div class="'+DropDownClsNames.dropDownPanel+'"></div>'),a=this.getColumnFilter(e),s=new ColumnFilterEditor(o,a,this.showSortButtons);this._divEdt=o;this._edtCol=e;r.rightToLeft&&(o.dir="rtl");if(this.onFilterChanging(n)){n.cancel=!0;s.filterChanged.addHandler((function(){n.cancel=!1;setTimeout((function(){if(!n.cancel){l.excludedRowsSet=null;l.apply()}}),s._edtVal&&s._edtVal._isFiltering?Control._SEARCH_DELAY+200:0)}));s.buttonClicked.addHandler((function(){l.closeEditor();r.focus();l.onFilterChanged(n)}));s.lostFocus.addHandler((function(){setTimeout((function(){var e=Control.getControl(l._divEdt);e&&!e.containsFocus()&&l.closeEditor()}),10)}));var u=t?t.col:e.index,d=r.columns[u];t||d&&d.binding==e.binding||(u=r.selection.leftCol);r._edtHdl._commitRowEdits();r.scrollIntoView(-1,u,!0);var c=r.columnHeaders,p=t&&t.panel&&c&&t.panel._uid==c._uid?t.row:c.rows.length-1,h=u,f=i||c.getCellElement(p,h),_=f?null:c.getCellBoundingRect(p,h);f?showPopup(o,f,!1,!1,!1):showPopup(o,_);this._setAriaExpanded(f,!0);this._setAriaExpanded(r.cells.getCellElement(-1,h),!0);for(var m=s.hostElement.querySelectorAll("input"),b=0;b<m.length;b++){var v=m[b];if(v.offsetHeight>0&&v.tabIndex>-1&&!v.disabled){v.focus();break}}s.containsFocus()||s.focus()}else this._divEdt=this._edtCol=null}};FlexGridFilter.prototype._setAriaExpanded=function(e,t){if(e){var i=e.querySelector("."+FlexGridFilter._WJC_FILTER);setAttribute(i,"aria-expanded",t)}};FlexGridFilter.prototype.closeEditor=function(){var e=this._g,t=Control.getControl(this._divEdt),i=this._edtCol;t&&hidePopup(t.hostElement,(function(){t.dispose()}));if(i){var l=e.columnHeaders,r=l.rows.length?l.getCellElement(l.rows.length-1,i.index):null;this._setAriaExpanded(r,!1);r=e.cells.getCellElement(-1,i.index);this._setAriaExpanded(r,!1)}this._divEdt=null;this._edtCol=null};FlexGridFilter.prototype.apply=function(){var e=this._g.collectionView;if(e){var t=this._g.editableCollectionView;if(t){t.commitEdit();t.commitNew()}e.filter=this._filter.bind(this)}var i=e?e.updateFilterDefinition:null;isFunction(i)&&i.call(e,this);this.onFilterApplied()};FlexGridFilter.prototype.clear=function(){if(this._filters.length){this._filters=[];this.excludedRowsSet=null;this.apply()}};FlexGridFilter.prototype.onFilterApplied=function(e){this.filterApplied.raise(this,e)};FlexGridFilter.prototype.onEditingFilter=function(e){this.editingFilter.raise(this,e);return!e.cancel};FlexGridFilter.prototype.onFilterChanging=function(e){this.filterChanging.raise(this,e);return!e.cancel};FlexGridFilter.prototype.onFilterChanged=function(e){this.filterChanged.raise(this,e)};FlexGridFilter.prototype.onExclusiveValueSearchChanged=function(e){this.exclusiveValueSearchChanged.raise(this,e)};FlexGridFilter.prototype._onShowIncludeSelectionChanged=function(e){this._showIncludeSelectionChanged.raise(this,e)};FlexGridFilter.prototype._asColumn=function(e){return isString(e)?this._g.getColumn(e,!0):isNumber(e)?this._g.columns[e]:asType(e,Column,!1)};FlexGridFilter.prototype._filter=function(e){var t=this.excludedRowsSet;if(!this.reApplyFilterOnUpdate&&t.has(e))return!0;for(var i=this._filters,l=0;l<i.length;l++){var r=i[l];if(r.column!=FlexGridFilter._skipColumn&&!r.apply(e))return!1}return!0};FlexGridFilter.prototype._formatItem=function(e,t){if(t.panel==e.columnHeaders){var i=this._g,l=i.getMergedRange(t.panel,t.row,t.col)||new CellRange(t.row,t.col),r=i.columns[l.col],n=i._getBindingColumn(t.panel,t.row,r),o=t.cell;if(l.row2==t.panel.rows.length-1||r!=n){var a=this.getColumnFilter(n,this.defaultFilterType!=FilterType.None),s=this._filterColumns;s&&s.length&&s.indexOf(n.binding)<0&&s.indexOf(n.name)<0&&(a=null);if(a){toggleClass(o,FlexGridFilterClsNames.filterOn,a.isActive);toggleClass(o,FlexGridFilterClsNames.filterOff,!a.isActive)}else{removeClass(o,FlexGridFilterClsNames.filterOn);removeClass(o,FlexGridFilterClsNames.filterOff)}if(a&&a.filterType!=FilterType.None){this._showIcons&&this._addFilterButton(n,a,o);0==t.row&&(o=i.cells.getCellElement(-1,t.col))&&this._addFilterButton(r,a,o)}}}};FlexGridFilter.prototype._addFilterButton=function(e,t,i){var l=FlexGridFilter._WJC_FILTER,r=createElement('<button class="'+InputFormElementsClsNames.btn+" "+GlyphClsNames.btnGlyph+" "+UtilitesClsNames.right+" "+l+'" type="button" tabindex="-1"><span class='+GlyphClsNames.filter+"></span></button>");setAriaLabel(r,culture.FlexGridFilter.ariaLabels.edit+" "+e.header);setAttribute(r,"aria-haspopup","dialog");setAttribute(r,"aria-expanded",!1);setAttribute(r,"aria-describedby",e.describedById);setAttribute(r,"aria-pressed",t.isActive);if(!i.querySelector("."+l)){1==i.children.length&&(i=i.querySelector("div")||i);i.insertBefore(r,i.firstChild)}};FlexGridFilter.prototype._mousedown=function(e){this._edtColPrev=this._edtCol};FlexGridFilter.prototype._click=function(e){if(this._toggleEditor(e)){e.stopPropagation();e.preventDefault()}};FlexGridFilter.prototype._toggleEditor=function(e){var t=this;if(!e.defaultPrevented&&0==e.button)if(closestClass(e.target,FlexGridFilter._WJC_FILTER)){var i=this._g,l=i.hitTest(e.target);l.panel||(l=i.hitTest(e));if(l.panel&&i.columnHeaders&&i.cells&&(l.panel._uid==i.columnHeaders._uid||l.panel._uid==i.cells._uid&&-1==l.row)){var r=i.getMergedRange(l.panel,l.row,l.col)||new CellRange(l.row,l.col),n=i.columns[r.col],o=i._getBindingColumn(l.panel,l.row,n);if(this._divEdt&&this._edtCol==o){this.closeEditor();i.focus()}else o!=this._edtColPrev&&setTimeout((function(){t.editColumnFilter(o,l)}),this._divEdt?100:0);return!0}}else this.closeEditor();return!1};FlexGridFilter.prototype._keydown=function(e){if(!e.defaultPrevented&&!e.ctrlKey&&e.altKey&&(e.keyCode==Key.Down||e.keyCode==Key.Up)){var t=this.grid,i=t.selection,l=i.col>-1?t.columns[i.col]:null,r=l?t._getBindingColumn(t.cells,i.row,l):null,n=r&&r.dataMap&&r.dataMapEditor==DataMapEditor.DropDownList;if(this.filterColumns&&this.filterColumns.length>0&&!this.filterColumns.includes(r._binding._path)){e.preventDefault();return!1}if(t.activePanelType!=CellType.Cell&&t.activePanelType!=CellType.ColumnHeader){e.preventDefault();return!1}r&&r.editor instanceof DropDown&&(n=!0);if(r&&!n){var o=this.getColumnFilter(r,!1);if(o&&o.filterType!=FilterType.None){this.editColumnFilter(r);e.preventDefault();e.stopPropagation()}}}};FlexGridFilter._WJC_FILTER=FlexGridFilterClsNames.elemFilter;return FlexGridFilter}();export{FlexGridFilter};export var empty={};var ConditionFilter=function(){function ConditionFilter(e){this._c1=new FilterCondition(this);this._c2=new FilterCondition(this);this._and=!0;this._col=e}Object.defineProperty(ConditionFilter.prototype,"condition1",{get:function(){return this._c1},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilter.prototype,"condition2",{get:function(){return this._c2},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilter.prototype,"and",{get:function(){return this._and},set:function(e){this._and=asBoolean(e)},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilter.prototype,"dataMap",{get:function(){return this._map},set:function(e){this._map=asType(e,DataMap,!0)},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilter.prototype,"column",{get:function(){return this._col},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilter.prototype,"isActive",{get:function(){return this._c1.isActive||this._c2.isActive},enumerable:!0,configurable:!0});ConditionFilter.prototype.apply=function(e){var t=this._col,i=this._c1,l=this._c2,r=!1,n=!1;if(!t||!t._binding||!this.isActive)return!0;e=t._binding.getValue(e);var o=this.dataMap||t.dataMap;if(o)e=o.getDisplayValue(e);else if(isDate(e)){r=!this._hasTimePart();n=!this._hasDatePart();var a=FilterCondition._refDateTime;r?e=DateTime.fromDateTime(e,a):n&&(e=DateTime.fromDateTime(a,e))}else if(isNumber(e)){var s=Globalize,u=t.format,d=s.formatNumber(e,u);e=s.parseFloat(d,u)}var c=i.apply(e,r,n),p=l.apply(e,r,n);return i.isActive&&l.isActive?this._and?c&&p:c||p:i.isActive?c:!l.isActive||p};ConditionFilter.prototype.clear=function(){this._c1.clear();this._c2.clear();this.and=!0};ConditionFilter.prototype._hasDatePart=function(){var e=this._col.format;if(!e)return!0;e=culture.Globalize.calendar.patterns[e]||e;return/[yMd]+/.test(e)};ConditionFilter.prototype._hasTimePart=function(){var e=this._col.format;if(!e)return!1;e=culture.Globalize.calendar.patterns[e]||e;return/[Hmst]+/.test(e)};ConditionFilter.prototype.implementsInterface=function(e){return"IColumnFilter"==e};return ConditionFilter}();export{ConditionFilter};var ConditionFilterEditor=function(e){__extends(ConditionFilterEditor,e);function ConditionFilterEditor(t,i){var l=e.call(this,t)||this;l._canApply=!1;l.canApplyChanged=new Event;l._filter=asType(i,ConditionFilter,!1);var r=l.getTemplate();l.applyTemplate(ControlClsNames.hostElement+" "+ConditionFilterEditorClsNames.hostElement,r,{_divHdr:"div-hdr",_divCmb1:"div-cmb1",_divVal1:"div-val1",_btnAnd:"btn-and",_btnOr:"btn-or",_spAnd:"sp-and",_spOr:"sp-or",_divCmb2:"div-cmb2",_divVal2:"div-val2"});var n=culture.FlexGridFilter,o=n.ariaLabels;setAriaLabel(l._btnAnd,o.and);setAriaLabel(l._btnOr,o.or);setText(l._divHdr,n.header);setText(l._spAnd,n.and);setText(l._spOr,n.or);var a=getUniqueId("cmb1");l._divHdr.htmlFor=a;l._divCmb1.id=a;l._cmb1=l._createOperatorCombo(l._divCmb1,o.op1);l._cmb2=l._createOperatorCombo(l._divCmb2,o.op2);l._val1=l._createValueInput(l._divVal1,o.val1);l._val2=l._createValueInput(l._divVal2,o.val2);l._val1.isDisabled=!0;l._cmb1.selectedIndexChanged.addHandler((function(e,t){l._val1.isDisabled=null==e.selectedValue;l.canApply=!l._val1.isDisabled||!l._val2.isDisabled}));l._val2.isDisabled=!0;l._cmb2.selectedIndexChanged.addHandler((function(e,t){l._val2.isDisabled=null==e.selectedValue;l.canApply=!l._val1.isDisabled||!l._val2.isDisabled}));var s=l.hostElement;l.addEventListener(s,"change",l._btnAndOrChanged.bind(l));l.addEventListener(s,"keydown",l._keydown.bind(l));setTimeout((function(){l.updateEditor()}));return l}Object.defineProperty(ConditionFilterEditor,"controlTemplate",{get:function(){ConditionFilterEditor._ctrlTemplate||(ConditionFilterEditor._ctrlTemplate='<div><label wj-part="div-hdr"></label><div wj-part="div-cmb1"></div><br/><div wj-part="div-val1"></div><br/><div role="radiogroup" style="text-align:center"><label><input wj-part="btn-and" type="radio" role="radio"> <span wj-part="sp-and"></span> </label>&nbsp;&nbsp;&nbsp;<label><input wj-part="btn-or" type="radio" role="radio"> <span wj-part="sp-or"></span> </label></div><div wj-part="div-cmb2"></div><br/><div wj-part="div-val2"></div><br/></div>');return ConditionFilterEditor._ctrlTemplate},set:function(e){ConditionFilterEditor._ctrlTemplate=e},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilterEditor.prototype,"filter",{get:function(){return this._filter},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilterEditor.prototype,"canApply",{get:function(){return this._canApply},set:function(e){if(e!=this._canApply){this._canApply=e;this.onCanApplyChanged()}},enumerable:!0,configurable:!0});ConditionFilterEditor.prototype.updateEditor=function(){var e=this._filter.condition1,t=this._filter.condition2;this._cmb1.selectedValue=e.operator;this._cmb2.selectedValue=t.operator;if(this._val1 instanceof input.ComboBox&&!(this._val1 instanceof input.InputTime)){this._val1.text=changeType(e.value,DataType.String);this._val2.text=changeType(t.value,DataType.String)}else{this._val1.value=e.value;this._val2.value=t.value}var i=this._filter.and;this._checkRadio(this._btnAnd,i);this._checkRadio(this._btnOr,!i)};ConditionFilterEditor.prototype.clearEditor=function(){this._cmb1.selectedValue=this._cmb2.selectedValue=null;this._val1.text=this._val2.text=null;this._checkRadio(this._btnAnd,!0);this._checkRadio(this._btnOr,!1)};Object.defineProperty(ConditionFilterEditor.prototype,"isEditorClear",{get:function(){return null==this._cmb1.selectedValue&&!this._val1.text&&null==this._cmb2.selectedValue&&!this._val2.text},enumerable:!0,configurable:!0});ConditionFilterEditor.prototype.updateFilter=function(){var e=this._filter.condition1,t=this._filter.condition2;e.operator=this._cmb1.selectedValue;t.operator=this._cmb2.selectedValue;if("value"in this._val1){e.value=this._val1.value;t.value=this._val2.value}else{e.value=this._getComboValue(this._val1);t.value=this._getComboValue(this._val2)}this._filter.and=this._btnAnd.checked};ConditionFilterEditor.prototype.onCanApplyChanged=function(e){this.canApplyChanged.raise(this,e)};ConditionFilterEditor.prototype._getComboValue=function(e){return e.selectedIndex>-1?e.selectedValue:e.text};ConditionFilterEditor.prototype._createOperatorCombo=function(e,t){var i=this._filter.column,l=culture.FlexGridFilter,r=l.stringOperators,n=DataType;this._filter.dataMap||i.dataMap||(i.dataType==n.Date?r=l.dateOperators:i.dataType==n.Number?r=l.numberOperators:i.dataType==n.Boolean&&(r=l.booleanOperators));var o=new input.ComboBox(e,{itemsSource:r,displayMemberPath:"name",selectedValuePath:"op"});setAriaLabel(o.inputElement,t);return o};ConditionFilterEditor.prototype._createValueInput=function(e,t){var i=this._filter,l=i.column,r=i.dataMap||l.dataMap,n=null,o=DataType;if(l.dataType==o.Date)(n=i._hasDatePart()?i._hasTimePart()?new input.InputDateTime(e):new input.InputDate(e):new input.InputTime(e)).format=l.format;else if(l.dataType!=o.Number||r){(n=new input.ComboBox(e)).isEditable=!0;n.trimText=!1;if(r){n.itemsSource=r.getDisplayValues();n.caseSensitiveSearch=!!l.grid&&l.grid.caseSensitiveSearch}else l.dataType==o.Boolean&&(n.itemsSource=[!0,!1])}else(n=new input.InputNumber(e)).format=l.format;n.isRequired=!1;setAriaLabel(n.inputElement,t);return n};ConditionFilterEditor.prototype._btnAndOrChanged=function(e){var t=e.target==this._btnAnd,i=e.target==this._btnOr;if(t||i){this._checkRadio(this._btnAnd,t);this._checkRadio(this._btnOr,i)}};ConditionFilterEditor.prototype._checkRadio=function(e,t){e.checked=t;setAttribute(e,"aria-checked",t.toString());setAttribute(e,"tabindex",t?null:"-1")};ConditionFilterEditor.prototype._keydown=function(e){var t=e.target==this._btnAnd,i=e.target==this._btnOr;if(t||i)switch(e.keyCode){case Key.Left:case Key.Right:case Key.Up:case Key.Down:var l=t?this._btnOr:this._btnAnd;l.click();l.focus();e.preventDefault()}};ConditionFilterEditor._ctrlTemplate="";return ConditionFilterEditor}(Control);export{ConditionFilterEditor};var FilterCondition=function(){function FilterCondition(e){this._op=null;this._filter=e}Object.defineProperty(FilterCondition.prototype,"operator",{get:function(){return this._op},set:function(e){this._op=asEnum(e,Operator,!0)},enumerable:!0,configurable:!0});Object.defineProperty(FilterCondition.prototype,"value",{get:function(){return this._val},set:function(e){this._val=e;this._strVal=isString(e)?this._getCaseString(e):null},enumerable:!0,configurable:!0});Object.defineProperty(FilterCondition.prototype,"isActive",{get:function(){switch(this._op){case null:return!1;case Operator.EQ:case Operator.NE:return!0;default:return null!=this._val||null!=this._strVal}},enumerable:!0,configurable:!0});FilterCondition.prototype.clear=function(){this.operator=null;this.value=null};FilterCondition.prototype.apply=function(e,t,i){var l=this._strVal||this._val;isString(e)&&(e=this._getCaseString(e));isString(l)&&null==e&&(e="");isDate(l)&&(t?l=DateTime.fromDateTime(l,FilterCondition._refDateTime):i&&(l=DateTime.fromDateTime(FilterCondition._refDateTime,l)));var r=Operator;switch(this._op){case null:return!0;case r.EQ:return null!=e&&null!=l?e.valueOf()==l.valueOf():e==l;case r.NE:return null!=e&&null!=l?e.valueOf()!=l.valueOf():e!=l;case r.GT:return e>l;case r.GE:return e>=l;case r.LT:return e<l;case r.LE:return e<=l;case r.BW:return!(null==this._strVal||!isString(e))&&0==e.indexOf(this._strVal);case r.EW:return!!(null!=this._strVal&&isString(e)&&e.length>=this._strVal.length)&&e.substr(e.length-this._strVal.length)==l;case r.CT:return!(null==this._strVal||!isString(e))&&e.indexOf(this._strVal)>-1;case r.NC:return!(null==this._strVal||!isString(e))&&e.indexOf(this._strVal)<0;case r.NBW:return!(null==this._strVal||!isString(e))&&0!==e.indexOf(this._strVal);case r.NEW:return!(null==this._strVal||!isString(e))&&e.substring(e.length-this._strVal.length)!==l}throw"Unknown operator"};FilterCondition.prototype._getCaseString=function(e){var t=this._filter.column,i=t?t.grid:null;return i&&i.caseSensitiveSearch?e:e.toLowerCase()};FilterCondition._refDateTime=new Date(2e3,0,1,0,0,0);return FilterCondition}();export{FilterCondition};export var Operator;!function(e){e[e.EQ=0]="EQ";e[e.NE=1]="NE";e[e.GT=2]="GT";e[e.GE=3]="GE";e[e.LT=4]="LT";e[e.LE=5]="LE";e[e.BW=6]="BW";e[e.EW=7]="EW";e[e.CT=8]="CT";e[e.NC=9]="NC";e[e.NBW=10]="NBW";e[e.NEW=11]="NEW"}(Operator||(Operator={}));export var ValueFilterSearchKind;!function(e){e[e.Text=0]="Text";e[e.Regex=1]="Regex";e[e.Excel=2]="Excel"}(ValueFilterSearchKind||(ValueFilterSearchKind={}));var ValueFilter=function(){function ValueFilter(e){this._values=null;this._filterText=null;this._xValueSearch=!0;this._maxValues=250;this._uniqueValues=null;this._sortValues=!0;this._searchType=ValueFilterSearchKind.Excel;this._showIncludeSelection=!1;this._col=e}Object.defineProperty(ValueFilter.prototype,"searchType",{get:function(){return this._searchType},set:function(e){this._searchType=asEnum(e,ValueFilterSearchKind)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"showValues",{get:function(){return this._values},set:function(e){this._values=e},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"filterText",{get:function(){return this._filterText},set:function(e){this._filterText=asString(e)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"exclusiveValueSearch",{get:function(){return this._xValueSearch},set:function(e){if((e=asBoolean(e))!==this._xValueSearch){this._xValueSearch=asBoolean(e);e&&(this._filterText="")}},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"maxValues",{get:function(){return this._maxValues},set:function(e){this._maxValues=asNumber(e,!1,!0)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"uniqueValues",{get:function(){return this._uniqueValues},set:function(e){this._uniqueValues=asArray(e)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"sortValues",{get:function(){return this._sortValues},set:function(e){this._sortValues=asBoolean(e)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"dataMap",{get:function(){return this._map},set:function(e){this._map=asType(e,DataMap,!0)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"showIncludeSelection",{get:function(){return this._showIncludeSelection},set:function(e){e!=this._showIncludeSelection&&(this._showIncludeSelection=asBoolean(e,!1))},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"column",{get:function(){return this._col},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"isActive",{get:function(){return null!=this._values&&Object.keys(this._values).length>0},enumerable:!0,configurable:!0});ValueFilter.prototype.apply=function(e){var t=this.column;if(!(t&&t._binding&&this._values&&Object.keys(this._values).length))return!0;e=t._binding.getValue(e);e=this.dataMap?this.dataMap.getDisplayValue(e)||"":t.dataMap?t.dataMap.getDisplayValue(e)||"":Globalize.format(e,t.format);return null!=this._values[e]};ValueFilter.prototype.clear=function(){this.showValues=null;this.filterText=null};ValueFilter.prototype.getUniqueValues=function(e){void 0===e&&(e=!0);var t=[],i=this.column,l=Globalize.format;if(this.uniqueValues){this.uniqueValues.forEach((function(e){t.push({value:e,text:l(e,i.format)})}));return t}var r={},n=i.collectionView,o=n?n.sourceCollection:[];if(e&&n&&n.sourceCollection&&n.filter)try{FlexGridFilter._skipColumn=this._col;for(var a=[],s=0;s<o.length;s++)n.filter(o[s])&&a.push(o[s]);o=a}finally{FlexGridFilter._skipColumn=null}for(s=0;s<o.length;s++){var u=i._binding.getValue(o[s]),d=this.dataMap?this.dataMap.getDisplayValue(u)||"":i.dataMap?i.dataMap.getDisplayValue(u)||"":l(u,i.format);if(!r[d]){r[d]=!0;t.push({value:u,text:d})}}return t};ValueFilter.prototype.implementsInterface=function(e){return"IColumnFilter"==e};return ValueFilter}();export{ValueFilter};var ValueFilterEditor=function(e){__extends(ValueFilterEditor,e);function ValueFilterEditor(t,i){var l=e.call(this,t)||this;l._canApply=!1;l._isFiltering=!1;l.canApplyChanged=new Event;l._filter=asType(i,ValueFilter,!1);var r=l.getTemplate();l.applyTemplate(ControlClsNames.hostElement+" "+ValueFilterEditorClsNames.hostElement,r,{_divFilter:"div-filter",_cbSelectAll:"cb-select-all",_spSelectAll:"sp-select-all",_cbIncludeSel:"cb-include-sel",_spIncludeSel:"sp-include-sel",_lblIncludeSel:"lbl-include-sel",_divOptions:"div-options",_divValues:"div-values",_divExceeds:"div-exceeds",_aExceeds:"a-exceeds"});l._cbSelectAll.tabIndex=0;l._cbIncludeSel.tabIndex=0;var n=culture.FlexGridFilter;setText(l._spSelectAll,n.selectAll);setText(l._spIncludeSel,n.includeSelection);setText(l._aExceeds,n.exceedsMaxValues);var o=l._view=new CollectionView(null,{sortNulls:SortNulls.First,filter:l._filterValues.bind(l)});if(i.sortValues){var a=i.column.dataMap||i.dataMap?"text":"value",s=i.column.dataType!=DataType.Boolean;o.sortDescriptions.push(new SortDescription(a,s))}o.collectionChanged.addHandler(l._updateSelectAllCheck,l);l._filterText="";l._rxFilter=null;l._cmbFilter=new input.ComboBox(l._divFilter,{trimText:!1,isRequired:!1,placeholder:n.search});l._cmbFilter.isEditable=!0;l._lbValues=new input.ListBox(l._divValues,{displayMemberPath:"text",checkedMemberPath:"show",itemsSource:l._view,itemFormatter:function(e,t){return t||n.null},checkedItemsChanged:function(e){return l._updateSelectAllCheck()}});setAttribute(l._divValues,"aria-label",culture.FlexGridFilter.ariaLabels.listBox);setAriaLabel(l._cmbFilter.inputElement,n.ariaLabels.search);setAttribute(l._lbValues.hostElement,"aria-multiselectable",!0);l._cmbFilter.inputElement.addEventListener("input",l._filterTextChanged.bind(l));l._cbSelectAll.addEventListener("click",l._cbSelectAllClicked.bind(l));if(!l._popup){l._initPopup();l._aExceeds&&l.addEventListener(l._aExceeds,"click",(function(e){e.preventDefault();l._popup.show(!0)}))}l.updateEditor();l._filter.showValues?l._initialItems=o.sourceCollection.filter((function(e){return l._filter.showValues[e.text||e.value]||!1})):l._initialItems=l._lbValues.checkedItems;return l}Object.defineProperty(ValueFilterEditor,"controlTemplate",{get:function(){ValueFilterEditor._ctrlTemplate||(ValueFilterEditor._ctrlTemplate='<div><div wj-part="div-filter"></div><div wj-part="div-options" class="'+input.ListBoxClsNames.listBoxItem+'"><label><input wj-part="cb-select-all" type="checkbox"> <span wj-part="sp-select-all"></span></label><br /><label wj-part="lbl-include-sel"><input wj-part="cb-include-sel" type="checkbox"> <span wj-part="sp-include-sel"></span></label></div><div wj-part="div-values"></div><div wj-part="div-exceeds"><a wj-part="a-exceeds"></a></div></div>');return ValueFilterEditor._ctrlTemplate},set:function(e){ValueFilterEditor._ctrlTemplate=e},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilterEditor.prototype,"filter",{get:function(){return this._filter},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilterEditor.prototype,"canApply",{get:function(){return this._canApply},set:function(e){if(e!=this._canApply){this._canApply=e;this.onCanApplyChanged()}},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilterEditor.prototype,"_shouldIncludeSelection",{get:function(){return this._filter.showIncludeSelection&&this._cbIncludeSel.checked},enumerable:!0,configurable:!0});ValueFilterEditor.prototype.updateEditor=function(){var e=this,t=this._filter.column,i=this._filter.getUniqueValues(!0);this._lbValues.isContentHtml=t.isContentHtml;var l=this._filter.showValues;if(l&&0!=Object.keys(l).length){for(var r in l)for(var n=0;n<i.length;n++)if(i[n].text==r){i[n].show=!0;break}}else i.forEach((function(e){return e.show=!0}));var o=this._filter.filterText||"",a=this._getCaseSensitive();this._cmbFilter.text=o;this._filterText=a?o:o.toLowerCase();this._rxFilter=this._getSearchExp(o,a);this._filter.showIncludeSelection&&!this.hostElement.contains(this._lblIncludeSel)?this._divOptions.appendChild(this._lblIncludeSel):this._filter.showIncludeSelection||this._lblIncludeSel.remove();var s=this._view;s.pageSize=this._filter.maxValues;s.sourceCollection=i;setTimeout((function(){e._adjustWidths()}),0);this._updateExceedsMaxValuesDisplay()};ValueFilterEditor.prototype.clearEditor=function(e){void 0===e&&(e=!0);this._cmbFilter.text="";this._filterText="";this._rxFilter=null;var t=this._view;t.pageSize=0;t.items.forEach((function(t){t.show=e}));t.moveCurrentTo(-1);t.refresh();t.pageSize=this._filter.maxValues};Object.defineProperty(ValueFilterEditor.prototype,"isEditorClear",{get:function(){return!this._filterText&&!this._cbSelectAll.indeterminate},enumerable:!0,configurable:!0});ValueFilterEditor.prototype._updateFilter=function(){var e=null,t=this._getItems();if(this._filterText||this._cbSelectAll.indeterminate){e=this._shouldIncludeSelection&&this._filter.showValues||{};for(var i=0;i<t.length;i++){var l=t[i];l.show&&(e[l.text]=!0)}}var r=this._filter;r.showValues=e;r.filterText=this._filterText};ValueFilterEditor.prototype.updateFilter=function(){var e=this;this._isFiltering?setTimeout((function(){e._updateFilter()}),Control._SEARCH_DELAY+100):this._updateFilter()};ValueFilterEditor.prototype.onCanApplyChanged=function(e){this.canApplyChanged.raise(this,e)};ValueFilterEditor.prototype._getCaseSensitive=function(){var e=this._filter.column,t=e?e.grid:null;return t&&t.caseSensitiveSearch};ValueFilterEditor.prototype._getItems=function(){return this._filter.exclusiveValueSearch?this._view.items:this._view.sourceCollection};ValueFilterEditor.prototype._filterTextChanged=function(){var e=this;""===this._filterText&&this._cbSelectAll.checked||this._filter.exclusiveValueSearch?this._lbValues._addMode=!1:this._lbValues._addMode=!0;this._toFilter&&clearTimeout(this._toFilter);this._isFiltering=!0;this._toFilter=setTimeout((function(){var t=e._cmbFilter.text,i=e._getCaseSensitive();i||(t=t.toLowerCase());if(t!=e._filterText){e._filterText=t;e._rxFilter=e._getSearchExp(t,i);e._view.refresh();e._updateExceedsMaxValuesDisplay();if(!t){var l=e._initialItems;if(l.length&&e._view.sourceCollection.indexOf(l[0])>-1){e._lbValues.checkedItems=e._initialItems;e._updateSelectAllCheck();e._isFiltering=!1;return}}if(e._filter.exclusiveValueSearch){e._cbSelectAll.checked=!0;e._cbSelectAllClicked()}else e._updateSelectAllCheck()}e._isFiltering=!1}),Control._SEARCH_DELAY)};ValueFilterEditor.prototype._getSearchExp=function(e,t){if(!e)return null;switch(this._filter.searchType){case ValueFilterSearchKind.Text:return this._getTextSearchExp(e,t);case ValueFilterSearchKind.Regex:return this._getRegexSearchExp(e,t);case ValueFilterSearchKind.Excel:return this._getExcelSearchExp(e,t)}};ValueFilterEditor.prototype._getTextSearchExp=function(e,t){return new RegExp(escapeRegExp(e),t?"":"i")};ValueFilterEditor.prototype._getRegexSearchExp=function(e,t){try{return new RegExp(e,t?"s":"is")}catch(e){return new RegExp("(?!)",t?"s":"is")}};ValueFilterEditor.prototype._getExcelSearchExp=function(e,t){var i=e;i=(i=(i=(i=(i=(i=(i=(i=i.replace(/([.+^$[\]\\(){}|-])/g,"\\$1")).replace(/~~/g,"__`$0`__")).replace(/~\?/g,"__`$1`__")).replace(/~\*/g,"__`$2`__")).replace(/~(.)/g,"$1")).replace(/(\?+)/g,(function(e,t){return Array.from(t).map((function(e){return"."})).join("")}))).replace(/(\*+)/g,(function(e,t){return Array.from(t).map((function(e){return".*"})).join("")}))).replace(/__`\$(\d)`__/g,(function(e,t){switch(t){case"0":return"~";case"1":return"\\?";case"2":return"\\*"}}));/([^~]|^)[?*]/g.test(e)&&(i="^"+i+"$");("~"===e||e&&!i.length)&&(i="$a^");return new RegExp(i,t?"s":"is")};ValueFilterEditor.prototype._filterValues=function(e){var t=this._rxFilter;return null==t||null==e||t.test(e.text)};ValueFilterEditor.prototype._cbSelectAllClicked=function(){for(var e=this,t=this._cbSelectAll.checked,i=this._divValues.scrollTop,l=this._getItems(),r=0;r<l.length;r++)l[r].show=t;this._view.refresh();this._divValues.scrollTop=i;setTimeout((function(){e._adjustWidths()}),0)};ValueFilterEditor.prototype._updateSelectAllCheck=function(){for(var e=this._getItems(),t=0,i=0,l=0;l<e.length;l++){e[l].show?t++:i++;if(t&&i)break}setChecked(this._cbSelectAll,t&&i?null:t>0);this.canApply=t>0};ValueFilterEditor.prototype._adjustWidths=function(){var e=this._lbValues.hostElement;if(e&&e.offsetHeight>0){var t=0,i=e.querySelectorAll("."+input.ListBoxClsNames.listBoxItem+" label");if(i.length){for(var l=0;l<i.length;l++)t=Math.max(t,i[l].scrollWidth);if(t){var r=e.querySelectorAll("."+input.ListBoxClsNames.listBoxItem);if(r.length){var n=r[0],o=getComputedStyle(n),a=parseFloat(o.paddingLeft)+parseFloat(o.paddingRight);for(l=0;l<r.length;l++)r[l].style.width=t+a+"px"}}}}};Object.defineProperty(ValueFilterEditor.prototype,"exceedsMaxValues",{get:function(){return!(!this._view||!this._view._view)&&this._view._view.length>this.filter.maxValues},enumerable:!0,configurable:!0});ValueFilterEditor.prototype._updateExceedsMaxValuesDisplay=function(){this._aExceeds.style.display=this.exceedsMaxValues?"":"none"};ValueFilterEditor.prototype._initPopup=function(){var e=document.createElement("div");e.innerHTML='<div role="dialog"><div class='+input.PopupClsNames.dialogBody+"><div class="+ValueFilterEditorClsNames.customModalText+"><p>"+culture.FlexGridFilter.popupBody+'</p></div></div><div class="'+input.PopupClsNames.dialogFooter+" "+ValueFilterEditorClsNames.modalFooter+'" ><button class="btn btn-primary '+UtilitesClsNames.hideOk+'">'+culture.FlexGridFilter.popupOkButton+"</button></div></div>";this._popup=new input.Popup(e,{modal:!0,fadeIn:!0,fadeOut:!0})};ValueFilterEditor._ctrlTemplate="";return ValueFilterEditor}(Control);export{ValueFilterEditor};var ColumnFilter=function(){function ColumnFilter(e,t){var i=this;this._owner=e;this._col=t;this._valueFilter=new ValueFilter(t);this._valueFilter.exclusiveValueSearch=e.exclusiveValueSearch;this._valueFilter.showIncludeSelection=e.showIncludeSelection;this._conditionFilter=new ConditionFilter(t);e.exclusiveValueSearchChanged.addHandler((function(e){i._valueFilter.exclusiveValueSearch=e.exclusiveValueSearch}));e._showIncludeSelectionChanged.addHandler((function(e){i._valueFilter.showIncludeSelection=e.showIncludeSelection}))}Object.defineProperty(ColumnFilter.prototype,"filterType",{get:function(){return null!=this._filterType?this._filterType:this._owner.defaultFilterType},set:function(e){if((e=asEnum(e,FilterType,!0))!=this._filterType){var t=this.isActive;this.clear();this._filterType=e;t?this._owner.apply():this._col.grid&&this._col.grid.invalidate()}},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"dataMap",{get:function(){return this.conditionFilter.dataMap||this.valueFilter.dataMap},set:function(e){this.conditionFilter.dataMap=e;this.valueFilter.dataMap=e},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"valueFilter",{get:function(){return this._valueFilter},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"conditionFilter",{get:function(){return this._conditionFilter},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"column",{get:function(){return this._col},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"isActive",{get:function(){return this._conditionFilter.isActive||this._valueFilter.isActive},enumerable:!0,configurable:!0});ColumnFilter.prototype.apply=function(e){return this._conditionFilter.apply(e)&&this._valueFilter.apply(e)};ColumnFilter.prototype.clear=function(){this._valueFilter.clear();this._conditionFilter.clear()};ColumnFilter.prototype.implementsInterface=function(e){return"IColumnFilter"==e};return ColumnFilter}();export{ColumnFilter};_addCultureInfo("FlexGridFilter",{ariaLabels:{edit:"Edit Filter for Column",dialog:"Filter Editor for Column",asc:"Sort Column in Ascending Order",dsc:"Sort Column in Descending Order",search:"Search Item List",op1:"First Condition Operator",val1:"First Condition Value",and:"Require both Conditions",or:"Require either Condition",op2:"Second Condition Operator",val2:"Second Condition Value",active:"active",listBox:"List of options available for filtering"},ascending:"↑ Ascending",descending:"↓ Descending",apply:"Apply",cancel:"Cancel",clear:"Clear",conditions:"Filter by Condition",values:"Filter by Value",search:"Search",selectAll:"Select All",includeSelection:"Include Current Selection",null:"(nothing)",exceedsMaxValues:"Not all items showing",popupBody:"This column has more than 250 unique items. Only the first 250 unique items are displayed.",popupOkButton:"OK",header:"Show items where the value",and:"And",or:"Or",stringOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Does not equal",op:Operator.NE},{name:"Begins with",op:Operator.BW},{name:"Does not begin with",op:Operator.NBW},{name:"Ends with",op:Operator.EW},{name:"Does not end with",op:Operator.NEW},{name:"Contains",op:Operator.CT},{name:"Does not contain",op:Operator.NC}],numberOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Does not equal",op:Operator.NE},{name:"Is Greater than",op:Operator.GT},{name:"Is Greater than or equal to",op:Operator.GE},{name:"Is Less than",op:Operator.LT},{name:"Is Less than or equal to",op:Operator.LE}],dateOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Is Before",op:Operator.LT},{name:"Is After",op:Operator.GT}],booleanOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Does not equal",op:Operator.NE}]});var ColumnFilterEditor=function(e){__extends(ColumnFilterEditor,e);function ColumnFilterEditor(t,i,l){void 0===l&&(l=!0);var r=e.call(this,t,null,!0)||this;r.filterChanged=new Event;r.buttonClicked=new Event;r._filter=asType(i,ColumnFilter);var n=r.getTemplate();r.applyTemplate(ControlClsNames.hostElement+" "+ControlClsNames.content+" "+ControlClsNames.content+" "+ColumnFilterEditorClsNames.hostElement,n,{_divSort:"div-sort",_btnAsc:"btn-asc",_btnDsc:"btn-dsc",_divType:"div-type",_aVal:"a-val",_aCnd:"a-cnd",_divEdtVal:"div-edt-val",_divEdtCnd:"div-edt-cnd",_btnApply:"btn-apply",_btnCancel:"btn-cancel",_btnClear:"btn-clear"});var o=culture.FlexGridFilter,a=o.ariaLabels,s=r.hostElement,u=r.filter.column,d=u.grid.collectionView;setAttribute(s,"role","dialog");setAriaLabel(s,a.dialog+" "+u.header);setAriaLabel(r._btnAsc,a.asc);setAriaLabel(r._btnDsc,a.dsc);setText(r._btnAsc,o.ascending);setText(r._btnDsc,o.descending);setText(r._aVal,o.values);setText(r._aCnd,o.conditions);setText(r._btnApply,o.apply);setText(r._btnCancel,o.cancel);setText(r._btnClear,o.clear);var c=r.filter.conditionFilter.isActive||0==(i.filterType&FilterType.Value)?FilterType.Condition:FilterType.Value;r._showFilter(c);if(!u.allowSorting){enable(r._btnAsc,!1);enable(r._btnDsc,!1)}l&&d&&d.canSort||(r._divSort.style.display="none");r._updateSortButtonState();var p=r._btnClicked.bind(r);r._btnApply.addEventListener("click",p);r._btnCancel.addEventListener("click",p);r._btnClear.addEventListener("click",p);r._btnAsc.addEventListener("click",p);r._btnDsc.addEventListener("click",p);r._aVal.addEventListener("click",p);r._aCnd.addEventListener("click",p);r.addEventListener(s,"keydown",(function(e){if(!e.defaultPrevented){var t=e.target.tagName.match(/^(a|button)$/i);switch(e.keyCode){case Key.Space:if(t){r._btnClicked(e);e.preventDefault()}break;case Key.Enter:if(t)r._btnClicked(e);else{r.updateFilter();r.onFilterChanged();r.onButtonClicked()}e.preventDefault();break;case Key.Escape:r.onButtonClicked();e.preventDefault();break;case Key.Tab:moveFocus(r.hostElement,e.shiftKey?-1:1);e.preventDefault()}}}));r.addEventListener(window,"resize",(function(){r.isTouching||r._wasTouching||r.onButtonClicked()}));return r}Object.defineProperty(ColumnFilterEditor,"controlTemplate",{get:function(){ColumnFilterEditor._ctrlTemplate||(ColumnFilterEditor._ctrlTemplate='<div><div wj-part="div-sort" class="'+ColumnFilterEditorClsNames.sortButtons+'"><button wj-part="btn-asc" class="'+InputFormElementsClsNames.btn+'"></button>&nbsp;&nbsp;&nbsp;<button wj-part="btn-dsc" class="'+InputFormElementsClsNames.btn+'"></button></div><div wj-part="div-type" class="'+ColumnFilterEditorClsNames.filterType+'"><a wj-part="a-cnd" href="" draggable="false"></a>&nbsp;|&nbsp;<a wj-part="a-val" href="" draggable="false"></a></div><div wj-part="div-edt-val" tabindex="-1"></div><div wj-part="div-edt-cnd" tabindex="-1"></div><div style="text-align:right;margin-top:10px"><button wj-part="btn-apply" class="'+InputFormElementsClsNames.btn+'"></button>&nbsp;&nbsp;<button wj-part="btn-cancel" class="'+InputFormElementsClsNames.btn+'"></button>&nbsp;&nbsp;<button wj-part="btn-clear" class="'+InputFormElementsClsNames.btn+'"></button></div></div>');return ColumnFilterEditor._ctrlTemplate},set:function(e){ColumnFilterEditor._ctrlTemplate=e},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilterEditor.prototype,"filter",{get:function(){return this._filter},enumerable:!0,configurable:!0});ColumnFilterEditor.prototype.updateEditor=function(){this._edtVal&&this._edtVal.updateEditor();this._edtCnd&&this._edtCnd.updateEditor()};ColumnFilterEditor.prototype.updateFilter=function(){switch(this._getFilterType()){case FilterType.Value:this._edtVal.updateFilter();this.filter.conditionFilter.clear();break;case FilterType.Condition:this._edtCnd.updateFilter();this.filter.valueFilter.clear()}};ColumnFilterEditor.prototype.onFilterChanged=function(e){this.filterChanged.raise(this,e)};ColumnFilterEditor.prototype.onButtonClicked=function(e){this.buttonClicked.raise(this,e)};ColumnFilterEditor.prototype._showFilter=function(e){var t=this;this._wasTouching=this.isTouching;if(e==FilterType.Value&&null==this._edtVal){this._edtVal=new ValueFilterEditor(this._divEdtVal,this.filter.valueFilter);this._edtVal.canApplyChanged.addHandler((function(e){enable(t._btnApply,t._edtVal.canApply)}))}if(e==FilterType.Condition&&null==this._edtCnd){this._edtCnd=new ConditionFilterEditor(this._divEdtCnd,this.filter.conditionFilter);this._edtCnd.canApplyChanged.addHandler((function(e){enable(t._btnApply,t._edtCnd.canApply)}))}if(0!=(e&this.filter.filterType))if(e==FilterType.Value){this._divEdtVal.style.display="";this._divEdtCnd.style.display="none";this._enableLink(this._aVal,!1);this._enableLink(this._aCnd,!0);this._edtVal.focus();this._edtVal._updateExceedsMaxValuesDisplay();enable(this._btnApply,this._edtVal.canApply)}else{this._divEdtVal.style.display="none";this._divEdtCnd.style.display="";this._enableLink(this._aVal,!0);this._enableLink(this._aCnd,!1);this._edtCnd.focus();enable(this._btnApply,this._edtCnd.canApply)}var i=this._divType.style;switch(this.filter.filterType){case FilterType.None:case FilterType.Condition:case FilterType.Value:i.display="none";break;default:i.display=""}};ColumnFilterEditor.prototype._enableLink=function(e,t){toggleClass(e,ControlStateClsNames.disabled,!t);setAttribute(e,"href",t?"":null);setAttribute(e,"disabled",t?null:"disabled")};ColumnFilterEditor.prototype._updateSortButtonState=function(){var e=this.filter.column,t=e?e.currentSort:"",i=ControlStateClsNames.active,l=culture.FlexGridFilter.ariaLabels;if("+"===t){addClass(this._btnAsc,i);this._btnAsc.setAttribute("aria-label",l.asc+" "+l.active)}else if("-"===t){addClass(this._btnDsc,i);this._btnDsc.setAttribute("aria-label",l.dsc+" "+l.active)}};ColumnFilterEditor.prototype._getFilterType=function(){var e=FilterType;return"none"!=this._divEdtVal.style.display?e.Value:e.Condition};ColumnFilterEditor.prototype._btnClicked=function(e){var t=this,i=e.target;e.preventDefault();e.stopPropagation();if(!hasClass(i,ControlStateClsNames.disabled))if(i!=this._aVal)if(i!=this._aCnd){if(i==this._btnAsc||i==this._btnDsc){var l=this.filter.column,r=l.sortMemberPath||l.binding,n=l.grid.collectionView.sortDescriptions;n.deferUpdate((function(){n.clear();n.push(new SortDescription(r,e.target==t._btnAsc))}));this._updateSortButtonState()}if(i==this._btnApply){this.updateFilter();this.onFilterChanged()}else if(i==this._btnClear){if(this.filter.isActive){this.filter.clear();this.onFilterChanged()}}else this.updateEditor();this.onButtonClicked()}else{this._showFilter(FilterType.Condition);moveFocus(this._edtCnd.hostElement,0)}else{this._showFilter(FilterType.Value);moveFocus(this._edtVal.hostElement,0)}};ColumnFilterEditor._ctrlTemplate="";return ColumnFilterEditor}(Control);export{ColumnFilterEditor};_registerModule("wijmo.grid.filter",selfModule);
14
+ var __extends=this&&this.__extends||function(){var extendStatics=function(e,t){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)};return function(e,t){extendStatics(e,t);function __(){this.constructor=e}e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)}}();import{Column,DataMap,FlexGrid,DataMapEditor,CellRange,CellRangeEventArgs,CellType,_NewRowTemplate}from"@grapecity/wijmo.grid";import{Globalize,asString,asNumber,asArray,asBoolean,asType,asEnum,isString,isDate,DateTime,culture,isNumber,copy,changeType,setAttribute,showPopup,hidePopup,isFunction,createElement,toggleClass,removeClass,closestClass,setAriaLabel,Control,Event,DataType,Key,CollectionView,GlyphClsNames,InputFormElementsClsNames,UtilitesClsNames,setText,escapeRegExp,setChecked,SortDescription,SortNulls,ControlClsNames,getUniqueId,_addCultureInfo,enable,moveFocus,hasClass,addClass,ControlStateClsNames,_registerModule}from"@grapecity/wijmo";import{DropDown,DropDownClsNames}from"@grapecity/wijmo.input";import*as input from"@grapecity/wijmo.input";import*as selfModule from"@grapecity/wijmo.grid.filter";export var ColumnFilterEditorClsNames={filterType:"wj-filtertype",hostElement:"wj-columnfiltereditor",sortButtons:"wj-sort-buttons"};export var ConditionFilterEditorClsNames={hostElement:"wj-conditionfilter-editor"};export var FlexGridFilterClsNames={elemFilter:"wj-elem-filter",filter:"wj-filter",filterOff:"wj-filter-off",filterOn:"wj-filter-on",hostElement:"wj-columnfiltereditor"};export var ValueFilterEditorClsNames={hostElement:"wj-valuefilter-editor",customModalText:"wj-custom-modal-text",modalFooter:"wj-valuefilter-modal-footer"};export var FilterType;!function(e){e[e.None=0]="None";e[e.Condition=1]="Condition";e[e.Value=2]="Value";e[e.Both=3]="Both"}(FilterType||(FilterType={}));var FlexGridFilter=function(){function FlexGridFilter(e,t){this._showIcons=!0;this._showSort=!0;this._defFilterType=FilterType.Both;this._xValueSearch=!0;this._includeUpdatedRowsInFilter=!1;this._showIncludeSelection=!1;this.filterApplied=new Event;this.editingFilter=new Event;this.filterChanging=new Event;this.filterChanged=new Event;this.exclusiveValueSearchChanged=new Event;this._showIncludeSelectionChanged=new Event;this._filters=[];this._g=asType(e,FlexGrid,!1);this._g.formatItem.addHandler(this._formatItem.bind(this));this._g.itemsSourceChanged.addHandler(this.clear.bind(this));var i=this._g.hostElement;e.addEventListener(i,"mousedown",this._mousedown.bind(this),!0);e.addEventListener(i,"click",this._click.bind(this),!0);e.addEventListener(i,"keydown",this._keydown.bind(this),!0);this._g.invalidate();copy(this,t);this._init()}FlexGridFilter.prototype._init=function(){var e=this,t=this.grid,_excludeRowFromFilter=function(t){var i=e.grid,l=e.excludedRowsSet;if(null!=i&&i.rows.length>t)if(i.itemsSource)if(i.rows[t]instanceof _NewRowTemplate){var r=i.editableCollectionView.currentAddItem||i.rows[t].dataItem;r&&l.add(r)}else i.rows[t].dataItem&&l.add(i.rows[t].dataItem);else i.rows[t]&&l.add(i.rows[t])};t.rowChanged&&t.rowChanged.addHandler((function(e,t){t.added&&_excludeRowFromFilter(t.index)}));t.rowEditEnding.addHandler((function(e,t){_excludeRowFromFilter(t.row)}));t.cellEditEnded.addHandler((function(e,t){_excludeRowFromFilter(t.row)}))};Object.defineProperty(FlexGridFilter.prototype,"excludedRowsSet",{get:function(){var e=this.grid;e.selectedSheet&&(e=e.selectedSheet);e._newAddedRowsSet||(e._newAddedRowsSet=new WeakSet);return e._newAddedRowsSet},set:function(e){var t=this.grid;t.selectedSheet&&(t=t.selectedSheet);t._newAddedRowsSet=e},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"grid",{get:function(){return this._g},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"filterColumns",{get:function(){return this._filterColumns},set:function(e){this._filterColumns=asArray(e);this.clear()},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"showFilterIcons",{get:function(){return this._showIcons},set:function(e){if(e!=this.showFilterIcons){this._showIcons=asBoolean(e);this._g&&this._g.invalidate()}},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"showSortButtons",{get:function(){return this._showSort},set:function(e){this._showSort=asBoolean(e)},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"reApplyFilterOnUpdate",{get:function(){return this._includeUpdatedRowsInFilter},set:function(e){e!==this._includeUpdatedRowsInFilter&&(this._includeUpdatedRowsInFilter=asBoolean(e))},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"showIncludeSelection",{get:function(){return this._showIncludeSelection},set:function(e){if(e!=this._showIncludeSelection){this._showIncludeSelection=asBoolean(e,!1);this._onShowIncludeSelectionChanged()}},enumerable:!0,configurable:!0});FlexGridFilter.prototype.getColumnFilter=function(e,t){void 0===t&&(t=!0);if(e=this._asColumn(e)){for(var i=0;i<this._filters.length;i++)if(this._filters[i].column==e)return this._filters[i];if(t&&e.binding){var l=new ColumnFilter(this,e);this._filters.push(l);return l}}return null};Object.defineProperty(FlexGridFilter.prototype,"defaultFilterType",{get:function(){return this._defFilterType},set:function(e){if((e=asEnum(e,FilterType,!1))!=this.defaultFilterType){this._defFilterType=e;this._g.invalidate();this.clear()}},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"exclusiveValueSearch",{get:function(){return this._xValueSearch},set:function(e){if((e=asBoolean(e))!==this._xValueSearch){this._xValueSearch=e;this.onExclusiveValueSearchChanged()}},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"filterDefinition",{get:function(){var e=this,t={defaultFilterType:this.defaultFilterType,filters:[]};this._filters.forEach((function(i){var l=i.conditionFilter,r=i.valueFilter,n=r.uniqueValues&&r.uniqueValues.length;if(i&&i.column&&i.column.binding&&(i.isActive||n||i.filterType!=e.defaultFilterType)){var o={binding:i.column.binding};if(l.isActive){var a=l.condition1,s=l.condition2;o={binding:i.column.binding,type:"condition",condition1:{operator:a.operator,value:a.value},and:l.and,condition2:{operator:s.operator,value:s.value}}}else(r.isActive||n)&&(o={binding:i.column.binding,type:"value",uniqueValues:r.uniqueValues,sortValues:r.sortValues,maxValues:r.maxValues,exclusiveValueSearch:r.exclusiveValueSearch,showValues:r.showValues});i.filterType!=e.defaultFilterType&&(o.filterType=i.filterType);t.filters.push(o)}}));return JSON.stringify(t)},set:function(e){e=asString(e);this.clear();if(e){var t=JSON.parse(e);this.defaultFilterType=t.defaultFilterType;for(var _loop_1=function(e){var l=t.filters[e],r=i._asColumn(l.binding);r||(r=new Column({binding:l.binding}));var n=i.getColumnFilter(r,!0);if(n){null!=l.filterType&&(n.filterType=asEnum(l.filterType,FilterType));switch(l.type){case"condition":var o=n.conditionFilter;o.condition1.value=r.dataType==DataType.Date?changeType(l.condition1.value,r.dataType,null):l.condition1.value;o.condition1.operator=l.condition1.operator;o.and=l.and;o.condition2.value=r.dataType==DataType.Date?changeType(l.condition2.value,r.dataType,null):l.condition2.value;o.condition2.operator=l.condition2.operator;break;case"value":var a=n.valueFilter;a.uniqueValues=l.uniqueValues;["sortValues","maxValues","exclusiveValueSearch"].forEach((function(e){null!=l[e]&&(a[e]=l[e])}));a.showValues=l.showValues}}},i=this,l=0;l<t.filters.length;l++)_loop_1(l)}this.apply()},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"activeEditor",{get:function(){return Control.getControl(this._divEdt)},enumerable:!0,configurable:!0});FlexGridFilter.prototype.editColumnFilter=function(e,t,i){var l=this,r=this._g;this.closeEditor();e=this._asColumn(e);var n=new CellRangeEventArgs(r.cells,new CellRange(-1,e.index));if(this.onEditingFilter(n)){var o=createElement('<div class="'+DropDownClsNames.dropDownPanel+'"></div>'),a=this.getColumnFilter(e),s=new ColumnFilterEditor(o,a,this.showSortButtons);this._divEdt=o;this._edtCol=e;r.rightToLeft&&(o.dir="rtl");if(this.onFilterChanging(n)){n.cancel=!0;s.filterChanged.addHandler((function(){n.cancel=!1;setTimeout((function(){n.cancel||l.apply()}),s._edtVal&&s._edtVal._isFiltering?Control._SEARCH_DELAY+200:0)}));s.buttonClicked.addHandler((function(){l.closeEditor();r.focus();l.onFilterChanged(n)}));s.lostFocus.addHandler((function(){setTimeout((function(){var e=Control.getControl(l._divEdt);e&&!e.containsFocus()&&l.closeEditor()}),10)}));var u=t?t.col:e.index,d=r.columns[u];t||d&&d.binding==e.binding||(u=r.selection.leftCol);r._edtHdl._commitRowEdits();r.scrollIntoView(-1,u,!0);var c=r.columnHeaders,p=t&&t.panel&&c&&t.panel._uid==c._uid?t.row:c.rows.length-1,h=u,f=i||c.getCellElement(p,h),_=f?null:c.getCellBoundingRect(p,h);f?showPopup(o,f,!1,!1,!1):showPopup(o,_);this._setAriaExpanded(f,!0);this._setAriaExpanded(r.cells.getCellElement(-1,h),!0);for(var m=s.hostElement.querySelectorAll("input"),b=0;b<m.length;b++){var v=m[b];if(v.offsetHeight>0&&v.tabIndex>-1&&!v.disabled){v.focus();break}}s.containsFocus()||s.focus()}else this._divEdt=this._edtCol=null}};FlexGridFilter.prototype._setAriaExpanded=function(e,t){if(e){var i=e.querySelector("."+FlexGridFilter._WJC_FILTER);setAttribute(i,"aria-expanded",t)}};FlexGridFilter.prototype.closeEditor=function(){var e=this._g,t=Control.getControl(this._divEdt),i=this._edtCol;t&&hidePopup(t.hostElement,(function(){t.dispose()}));if(i){var l=e.columnHeaders,r=l.rows.length?l.getCellElement(l.rows.length-1,i.index):null;this._setAriaExpanded(r,!1);r=e.cells.getCellElement(-1,i.index);this._setAriaExpanded(r,!1)}this._divEdt=null;this._edtCol=null};FlexGridFilter.prototype.apply=function(){var e=this._g.collectionView;if(e){var t=this._g.editableCollectionView;if(t){t.commitEdit();t.commitNew()}this.excludedRowsSet=null;e.filter=this._filter.bind(this)}var i=e?e.updateFilterDefinition:null;isFunction(i)&&i.call(e,this);this.onFilterApplied()};FlexGridFilter.prototype.clear=function(){if(this._filters.length){this._filters=[];this.apply()}};FlexGridFilter.prototype.onFilterApplied=function(e){this.filterApplied.raise(this,e)};FlexGridFilter.prototype.onEditingFilter=function(e){this.editingFilter.raise(this,e);return!e.cancel};FlexGridFilter.prototype.onFilterChanging=function(e){this.filterChanging.raise(this,e);return!e.cancel};FlexGridFilter.prototype.onFilterChanged=function(e){this.filterChanged.raise(this,e)};FlexGridFilter.prototype.onExclusiveValueSearchChanged=function(e){this.exclusiveValueSearchChanged.raise(this,e)};FlexGridFilter.prototype._onShowIncludeSelectionChanged=function(e){this._showIncludeSelectionChanged.raise(this,e)};FlexGridFilter.prototype._asColumn=function(e){return isString(e)?this._g.getColumn(e,!0):isNumber(e)?this._g.columns[e]:asType(e,Column,!1)};FlexGridFilter.prototype._filter=function(e){var t=this.excludedRowsSet;if(!this.reApplyFilterOnUpdate&&t.has(e))return!0;for(var i=this._filters,l=0;l<i.length;l++){var r=i[l];if(r.column!=FlexGridFilter._skipColumn&&!r.apply(e))return!1}return!0};FlexGridFilter.prototype._formatItem=function(e,t){if(t.panel==e.columnHeaders){var i=this._g,l=i.getMergedRange(t.panel,t.row,t.col)||new CellRange(t.row,t.col),r=i.columns[l.col],n=i._getBindingColumn(t.panel,t.row,r),o=t.cell;if(l.row2==t.panel.rows.length-1||r!=n){var a=this.getColumnFilter(n,this.defaultFilterType!=FilterType.None),s=this._filterColumns;s&&s.length&&s.indexOf(n.binding)<0&&s.indexOf(n.name)<0&&(a=null);if(a){toggleClass(o,FlexGridFilterClsNames.filterOn,a.isActive);toggleClass(o,FlexGridFilterClsNames.filterOff,!a.isActive)}else{removeClass(o,FlexGridFilterClsNames.filterOn);removeClass(o,FlexGridFilterClsNames.filterOff)}if(a&&a.filterType!=FilterType.None){this._showIcons&&this._addFilterButton(n,a,o);0==t.row&&(o=i.cells.getCellElement(-1,t.col))&&this._addFilterButton(r,a,o)}}}};FlexGridFilter.prototype._addFilterButton=function(e,t,i){var l=FlexGridFilter._WJC_FILTER,r=createElement('<button class="'+InputFormElementsClsNames.btn+" "+GlyphClsNames.btnGlyph+" "+UtilitesClsNames.right+" "+l+'" type="button" tabindex="-1"><span class='+GlyphClsNames.filter+"></span></button>");setAriaLabel(r,culture.FlexGridFilter.ariaLabels.edit+" "+e.header);setAttribute(r,"aria-haspopup","dialog");setAttribute(r,"aria-expanded",!1);setAttribute(r,"aria-describedby",e.describedById);setAttribute(r,"aria-pressed",t.isActive);if(!i.querySelector("."+l)){1==i.children.length&&(i=i.querySelector("div")||i);i.insertBefore(r,i.firstChild)}};FlexGridFilter.prototype._mousedown=function(e){this._edtColPrev=this._edtCol};FlexGridFilter.prototype._click=function(e){if(this._toggleEditor(e)){e.stopPropagation();e.preventDefault()}};FlexGridFilter.prototype._toggleEditor=function(e){var t=this;if(!e.defaultPrevented&&0==e.button)if(closestClass(e.target,FlexGridFilter._WJC_FILTER)){var i=this._g,l=i.hitTest(e.target);l.panel||(l=i.hitTest(e));if(l.panel&&i.columnHeaders&&i.cells&&(l.panel._uid==i.columnHeaders._uid||l.panel._uid==i.cells._uid&&-1==l.row)){var r=i.getMergedRange(l.panel,l.row,l.col)||new CellRange(l.row,l.col),n=i.columns[r.col],o=i._getBindingColumn(l.panel,l.row,n);if(this._divEdt&&this._edtCol==o){this.closeEditor();i.focus()}else o!=this._edtColPrev&&setTimeout((function(){t.editColumnFilter(o,l)}),this._divEdt?100:0);return!0}}else this.closeEditor();return!1};FlexGridFilter.prototype._keydown=function(e){if(!e.defaultPrevented&&!e.ctrlKey&&e.altKey&&(e.keyCode==Key.Down||e.keyCode==Key.Up)){var t=this.grid,i=t.selection,l=i.col>-1?t.columns[i.col]:null,r=l?t._getBindingColumn(t.cells,i.row,l):null,n=r&&r.dataMap&&r.dataMapEditor==DataMapEditor.DropDownList;if(this.filterColumns&&this.filterColumns.length>0&&!this.filterColumns.includes(r._binding._path)){e.preventDefault();return!1}if(t.activePanelType!=CellType.Cell&&t.activePanelType!=CellType.ColumnHeader){e.preventDefault();return!1}r&&r.editor instanceof DropDown&&(n=!0);if(r&&!n){var o=this.getColumnFilter(r,!1);if(o&&o.filterType!=FilterType.None){this.editColumnFilter(r);e.preventDefault();e.stopPropagation()}}}};FlexGridFilter._WJC_FILTER=FlexGridFilterClsNames.elemFilter;return FlexGridFilter}();export{FlexGridFilter};export var empty={};var ConditionFilter=function(){function ConditionFilter(e){this._c1=new FilterCondition(this);this._c2=new FilterCondition(this);this._and=!0;this._col=e}Object.defineProperty(ConditionFilter.prototype,"condition1",{get:function(){return this._c1},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilter.prototype,"condition2",{get:function(){return this._c2},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilter.prototype,"and",{get:function(){return this._and},set:function(e){this._and=asBoolean(e)},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilter.prototype,"dataMap",{get:function(){return this._map},set:function(e){this._map=asType(e,DataMap,!0)},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilter.prototype,"column",{get:function(){return this._col},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilter.prototype,"isActive",{get:function(){return this._c1.isActive||this._c2.isActive},enumerable:!0,configurable:!0});ConditionFilter.prototype.apply=function(e){var t=this._col,i=this._c1,l=this._c2,r=!1,n=!1;if(!t||!t._binding||!this.isActive)return!0;e=t._binding.getValue(e);var o=this.dataMap||t.dataMap;if(o)e=o.getDisplayValue(e);else if(isDate(e)){r=!this._hasTimePart();n=!this._hasDatePart();var a=FilterCondition._refDateTime;r?e=DateTime.fromDateTime(e,a):n&&(e=DateTime.fromDateTime(a,e))}else if(isNumber(e)){var s=Globalize,u=t.format,d=s.formatNumber(e,u);e=s.parseFloat(d,u)}var c=i.apply(e,r,n),p=l.apply(e,r,n);return i.isActive&&l.isActive?this._and?c&&p:c||p:i.isActive?c:!l.isActive||p};ConditionFilter.prototype.clear=function(){this._c1.clear();this._c2.clear();this.and=!0};ConditionFilter.prototype._hasDatePart=function(){var e=this._col.format;if(!e)return!0;e=culture.Globalize.calendar.patterns[e]||e;return/[yMd]+/.test(e)};ConditionFilter.prototype._hasTimePart=function(){var e=this._col.format;if(!e)return!1;e=culture.Globalize.calendar.patterns[e]||e;return/[Hmst]+/.test(e)};ConditionFilter.prototype.implementsInterface=function(e){return"IColumnFilter"==e};return ConditionFilter}();export{ConditionFilter};var ConditionFilterEditor=function(e){__extends(ConditionFilterEditor,e);function ConditionFilterEditor(t,i){var l=e.call(this,t)||this;l._canApply=!1;l.canApplyChanged=new Event;l._filter=asType(i,ConditionFilter,!1);var r=l.getTemplate();l.applyTemplate(ControlClsNames.hostElement+" "+ConditionFilterEditorClsNames.hostElement,r,{_divHdr:"div-hdr",_divCmb1:"div-cmb1",_divVal1:"div-val1",_btnAnd:"btn-and",_btnOr:"btn-or",_spAnd:"sp-and",_spOr:"sp-or",_divCmb2:"div-cmb2",_divVal2:"div-val2"});var n=culture.FlexGridFilter,o=n.ariaLabels;setAriaLabel(l._btnAnd,o.and);setAriaLabel(l._btnOr,o.or);setText(l._divHdr,n.header);setText(l._spAnd,n.and);setText(l._spOr,n.or);var a=getUniqueId("cmb1");l._divHdr.htmlFor=a;l._divCmb1.id=a;l._cmb1=l._createOperatorCombo(l._divCmb1,o.op1);l._cmb2=l._createOperatorCombo(l._divCmb2,o.op2);l._val1=l._createValueInput(l._divVal1,o.val1);l._val2=l._createValueInput(l._divVal2,o.val2);l._val1.isDisabled=!0;l._cmb1.selectedIndexChanged.addHandler((function(e,t){l._val1.isDisabled=null==e.selectedValue;l.canApply=!l._val1.isDisabled||!l._val2.isDisabled}));l._val2.isDisabled=!0;l._cmb2.selectedIndexChanged.addHandler((function(e,t){l._val2.isDisabled=null==e.selectedValue;l.canApply=!l._val1.isDisabled||!l._val2.isDisabled}));var s=l.hostElement;l.addEventListener(s,"change",l._btnAndOrChanged.bind(l));l.addEventListener(s,"keydown",l._keydown.bind(l));setTimeout((function(){l.updateEditor()}));return l}Object.defineProperty(ConditionFilterEditor,"controlTemplate",{get:function(){ConditionFilterEditor._ctrlTemplate||(ConditionFilterEditor._ctrlTemplate='<div><label wj-part="div-hdr"></label><div wj-part="div-cmb1"></div><br/><div wj-part="div-val1"></div><br/><div role="radiogroup" style="text-align:center"><label><input wj-part="btn-and" type="radio" role="radio"> <span wj-part="sp-and"></span> </label>&nbsp;&nbsp;&nbsp;<label><input wj-part="btn-or" type="radio" role="radio"> <span wj-part="sp-or"></span> </label></div><div wj-part="div-cmb2"></div><br/><div wj-part="div-val2"></div><br/></div>');return ConditionFilterEditor._ctrlTemplate},set:function(e){ConditionFilterEditor._ctrlTemplate=e},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilterEditor.prototype,"filter",{get:function(){return this._filter},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilterEditor.prototype,"canApply",{get:function(){return this._canApply},set:function(e){if(e!=this._canApply){this._canApply=e;this.onCanApplyChanged()}},enumerable:!0,configurable:!0});ConditionFilterEditor.prototype.updateEditor=function(){var e=this._filter.condition1,t=this._filter.condition2;this._cmb1.selectedValue=e.operator;this._cmb2.selectedValue=t.operator;if(this._val1 instanceof input.ComboBox&&!(this._val1 instanceof input.InputTime)){this._val1.text=changeType(e.value,DataType.String);this._val2.text=changeType(t.value,DataType.String)}else{this._val1.value=e.value;this._val2.value=t.value}var i=this._filter.and;this._checkRadio(this._btnAnd,i);this._checkRadio(this._btnOr,!i)};ConditionFilterEditor.prototype.clearEditor=function(){this._cmb1.selectedValue=this._cmb2.selectedValue=null;this._val1.text=this._val2.text=null;this._checkRadio(this._btnAnd,!0);this._checkRadio(this._btnOr,!1)};Object.defineProperty(ConditionFilterEditor.prototype,"isEditorClear",{get:function(){return null==this._cmb1.selectedValue&&!this._val1.text&&null==this._cmb2.selectedValue&&!this._val2.text},enumerable:!0,configurable:!0});ConditionFilterEditor.prototype.updateFilter=function(){var e=this._filter.condition1,t=this._filter.condition2;e.operator=this._cmb1.selectedValue;t.operator=this._cmb2.selectedValue;if("value"in this._val1){e.value=this._val1.value;t.value=this._val2.value}else{e.value=this._getComboValue(this._val1);t.value=this._getComboValue(this._val2)}this._filter.and=this._btnAnd.checked};ConditionFilterEditor.prototype.onCanApplyChanged=function(e){this.canApplyChanged.raise(this,e)};ConditionFilterEditor.prototype._getComboValue=function(e){return e.selectedIndex>-1?e.selectedValue:e.text};ConditionFilterEditor.prototype._createOperatorCombo=function(e,t){var i=this._filter.column,l=culture.FlexGridFilter,r=l.stringOperators,n=DataType;this._filter.dataMap||i.dataMap||(i.dataType==n.Date?r=l.dateOperators:i.dataType==n.Number?r=l.numberOperators:i.dataType==n.Boolean&&(r=l.booleanOperators));var o=new input.ComboBox(e,{itemsSource:r,displayMemberPath:"name",selectedValuePath:"op"});setAriaLabel(o.inputElement,t);return o};ConditionFilterEditor.prototype._createValueInput=function(e,t){var i=this._filter,l=i.column,r=i.dataMap||l.dataMap,n=null,o=DataType;if(l.dataType==o.Date)(n=i._hasDatePart()?i._hasTimePart()?new input.InputDateTime(e):new input.InputDate(e):new input.InputTime(e)).format=l.format;else if(l.dataType!=o.Number||r){(n=new input.ComboBox(e)).isEditable=!0;n.trimText=!1;if(r){n.itemsSource=r.getDisplayValues();n.caseSensitiveSearch=!!l.grid&&l.grid.caseSensitiveSearch}else l.dataType==o.Boolean&&(n.itemsSource=[!0,!1])}else(n=new input.InputNumber(e)).format=l.format;n.isRequired=!1;setAriaLabel(n.inputElement,t);return n};ConditionFilterEditor.prototype._btnAndOrChanged=function(e){var t=e.target==this._btnAnd,i=e.target==this._btnOr;if(t||i){this._checkRadio(this._btnAnd,t);this._checkRadio(this._btnOr,i)}};ConditionFilterEditor.prototype._checkRadio=function(e,t){e.checked=t;setAttribute(e,"aria-checked",t.toString());setAttribute(e,"tabindex",t?null:"-1")};ConditionFilterEditor.prototype._keydown=function(e){var t=e.target==this._btnAnd,i=e.target==this._btnOr;if(t||i)switch(e.keyCode){case Key.Left:case Key.Right:case Key.Up:case Key.Down:var l=t?this._btnOr:this._btnAnd;l.click();l.focus();e.preventDefault()}};ConditionFilterEditor._ctrlTemplate="";return ConditionFilterEditor}(Control);export{ConditionFilterEditor};var FilterCondition=function(){function FilterCondition(e){this._op=null;this._filter=e}Object.defineProperty(FilterCondition.prototype,"operator",{get:function(){return this._op},set:function(e){this._op=asEnum(e,Operator,!0)},enumerable:!0,configurable:!0});Object.defineProperty(FilterCondition.prototype,"value",{get:function(){return this._val},set:function(e){this._val=e;this._strVal=isString(e)?this._getCaseString(e):null},enumerable:!0,configurable:!0});Object.defineProperty(FilterCondition.prototype,"isActive",{get:function(){switch(this._op){case null:return!1;case Operator.EQ:case Operator.NE:return!0;default:return null!=this._val||null!=this._strVal}},enumerable:!0,configurable:!0});FilterCondition.prototype.clear=function(){this.operator=null;this.value=null};FilterCondition.prototype.apply=function(e,t,i){var l=this._strVal||this._val;isString(e)&&(e=this._getCaseString(e));isString(l)&&null==e&&(e="");isDate(l)&&(t?l=DateTime.fromDateTime(l,FilterCondition._refDateTime):i&&(l=DateTime.fromDateTime(FilterCondition._refDateTime,l)));var r=Operator;switch(this._op){case null:return!0;case r.EQ:return null!=e&&null!=l?e.valueOf()==l.valueOf():e==l;case r.NE:return null!=e&&null!=l?e.valueOf()!=l.valueOf():e!=l;case r.GT:return e>l;case r.GE:return e>=l;case r.LT:return e<l;case r.LE:return e<=l;case r.BW:return!(null==this._strVal||!isString(e))&&0==e.indexOf(this._strVal);case r.EW:return!!(null!=this._strVal&&isString(e)&&e.length>=this._strVal.length)&&e.substr(e.length-this._strVal.length)==l;case r.CT:return!(null==this._strVal||!isString(e))&&e.indexOf(this._strVal)>-1;case r.NC:return!(null==this._strVal||!isString(e))&&e.indexOf(this._strVal)<0;case r.NBW:return!(null==this._strVal||!isString(e))&&0!==e.indexOf(this._strVal);case r.NEW:return!(null==this._strVal||!isString(e))&&e.substring(e.length-this._strVal.length)!==l}throw"Unknown operator"};FilterCondition.prototype._getCaseString=function(e){var t=this._filter.column,i=t?t.grid:null;return i&&i.caseSensitiveSearch?e:e.toLowerCase()};FilterCondition._refDateTime=new Date(2e3,0,1,0,0,0);return FilterCondition}();export{FilterCondition};export var Operator;!function(e){e[e.EQ=0]="EQ";e[e.NE=1]="NE";e[e.GT=2]="GT";e[e.GE=3]="GE";e[e.LT=4]="LT";e[e.LE=5]="LE";e[e.BW=6]="BW";e[e.EW=7]="EW";e[e.CT=8]="CT";e[e.NC=9]="NC";e[e.NBW=10]="NBW";e[e.NEW=11]="NEW"}(Operator||(Operator={}));export var ValueFilterSearchKind;!function(e){e[e.Text=0]="Text";e[e.Regex=1]="Regex";e[e.Excel=2]="Excel"}(ValueFilterSearchKind||(ValueFilterSearchKind={}));var ValueFilter=function(){function ValueFilter(e){this._values=null;this._filterText=null;this._xValueSearch=!0;this._maxValues=250;this._uniqueValues=null;this._sortValues=!0;this._searchType=ValueFilterSearchKind.Excel;this._showIncludeSelection=!1;this._col=e}Object.defineProperty(ValueFilter.prototype,"searchType",{get:function(){return this._searchType},set:function(e){this._searchType=asEnum(e,ValueFilterSearchKind)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"showValues",{get:function(){return this._values},set:function(e){this._values=e},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"filterText",{get:function(){return this._filterText},set:function(e){this._filterText=asString(e)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"exclusiveValueSearch",{get:function(){return this._xValueSearch},set:function(e){if((e=asBoolean(e))!==this._xValueSearch){this._xValueSearch=asBoolean(e);e&&(this._filterText="")}},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"maxValues",{get:function(){return this._maxValues},set:function(e){this._maxValues=asNumber(e,!1,!0)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"uniqueValues",{get:function(){return this._uniqueValues},set:function(e){this._uniqueValues=asArray(e)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"sortValues",{get:function(){return this._sortValues},set:function(e){this._sortValues=asBoolean(e)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"dataMap",{get:function(){return this._map},set:function(e){this._map=asType(e,DataMap,!0)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"showIncludeSelection",{get:function(){return this._showIncludeSelection},set:function(e){e!=this._showIncludeSelection&&(this._showIncludeSelection=asBoolean(e,!1))},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"column",{get:function(){return this._col},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"isActive",{get:function(){return null!=this._values&&Object.keys(this._values).length>0},enumerable:!0,configurable:!0});ValueFilter.prototype.apply=function(e){var t=this.column;if(!(t&&t._binding&&this._values&&Object.keys(this._values).length))return!0;e=t._binding.getValue(e);e=this.dataMap?this.dataMap.getDisplayValue(e)||"":t.dataMap?t.dataMap.getDisplayValue(e)||"":Globalize.format(e,t.format);return null!=this._values[e]};ValueFilter.prototype.clear=function(){this.showValues=null;this.filterText=null};ValueFilter.prototype.getUniqueValues=function(e){void 0===e&&(e=!0);var t=[],i=this.column,l=Globalize.format;if(this.uniqueValues){this.uniqueValues.forEach((function(e){t.push({value:e,text:l(e,i.format)})}));return t}var r={},n=i.collectionView,o=n?n.sourceCollection:[];if(e&&n&&n.sourceCollection&&n.filter)try{FlexGridFilter._skipColumn=this._col;for(var a=[],s=0;s<o.length;s++)n.filter(o[s])&&a.push(o[s]);o=a}finally{FlexGridFilter._skipColumn=null}for(s=0;s<o.length;s++){var u=i._binding.getValue(o[s]),d=this.dataMap?this.dataMap.getDisplayValue(u)||"":i.dataMap?i.dataMap.getDisplayValue(u)||"":l(u,i.format);if(!r[d]){r[d]=!0;t.push({value:u,text:d})}}return t};ValueFilter.prototype.implementsInterface=function(e){return"IColumnFilter"==e};return ValueFilter}();export{ValueFilter};var ValueFilterEditor=function(e){__extends(ValueFilterEditor,e);function ValueFilterEditor(t,i){var l=e.call(this,t)||this;l._canApply=!1;l._isFiltering=!1;l.canApplyChanged=new Event;l._filter=asType(i,ValueFilter,!1);var r=l.getTemplate();l.applyTemplate(ControlClsNames.hostElement+" "+ValueFilterEditorClsNames.hostElement,r,{_divFilter:"div-filter",_cbSelectAll:"cb-select-all",_spSelectAll:"sp-select-all",_cbIncludeSel:"cb-include-sel",_spIncludeSel:"sp-include-sel",_lblIncludeSel:"lbl-include-sel",_divOptions:"div-options",_divValues:"div-values",_divExceeds:"div-exceeds",_aExceeds:"a-exceeds"});l._cbSelectAll.tabIndex=0;l._cbIncludeSel.tabIndex=0;var n=culture.FlexGridFilter;setText(l._spSelectAll,n.selectAll);setText(l._spIncludeSel,n.includeSelection);setText(l._aExceeds,n.exceedsMaxValues);var o=l._view=new CollectionView(null,{sortNulls:SortNulls.First,filter:l._filterValues.bind(l)});if(i.sortValues){var a=i.column.dataMap||i.dataMap?"text":"value",s=i.column.dataType!=DataType.Boolean;o.sortDescriptions.push(new SortDescription(a,s))}o.collectionChanged.addHandler(l._updateSelectAllCheck,l);l._filterText="";l._rxFilter=null;l._cmbFilter=new input.ComboBox(l._divFilter,{trimText:!1,isRequired:!1,placeholder:n.search});l._cmbFilter.isEditable=!0;l._lbValues=new input.ListBox(l._divValues,{displayMemberPath:"text",checkedMemberPath:"show",itemsSource:l._view,itemFormatter:function(e,t){return t||n.null},checkedItemsChanged:function(e){return l._updateSelectAllCheck()}});setAttribute(l._divValues,"aria-label",culture.FlexGridFilter.ariaLabels.listBox);setAriaLabel(l._cmbFilter.inputElement,n.ariaLabels.search);setAttribute(l._lbValues.hostElement,"aria-multiselectable",!0);l._cmbFilter.inputElement.addEventListener("input",l._filterTextChanged.bind(l));l._cbSelectAll.addEventListener("click",l._cbSelectAllClicked.bind(l));if(!l._popup){l._initPopup();l._aExceeds&&l.addEventListener(l._aExceeds,"click",(function(e){e.preventDefault();l._popup.show(!0)}))}l.updateEditor();l._filter.showValues?l._initialItems=o.sourceCollection.filter((function(e){return l._filter.showValues[e.text||e.value]||!1})):l._initialItems=l._lbValues.checkedItems;return l}Object.defineProperty(ValueFilterEditor,"controlTemplate",{get:function(){ValueFilterEditor._ctrlTemplate||(ValueFilterEditor._ctrlTemplate='<div><div wj-part="div-filter"></div><div wj-part="div-options" class="'+input.ListBoxClsNames.listBoxItem+'"><label><input wj-part="cb-select-all" type="checkbox"> <span wj-part="sp-select-all"></span></label><br /><label wj-part="lbl-include-sel"><input wj-part="cb-include-sel" type="checkbox"> <span wj-part="sp-include-sel"></span></label></div><div wj-part="div-values"></div><div wj-part="div-exceeds"><a wj-part="a-exceeds"></a></div></div>');return ValueFilterEditor._ctrlTemplate},set:function(e){ValueFilterEditor._ctrlTemplate=e},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilterEditor.prototype,"filter",{get:function(){return this._filter},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilterEditor.prototype,"canApply",{get:function(){return this._canApply},set:function(e){if(e!=this._canApply){this._canApply=e;this.onCanApplyChanged()}},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilterEditor.prototype,"_shouldIncludeSelection",{get:function(){return this._filter.showIncludeSelection&&this._cbIncludeSel.checked},enumerable:!0,configurable:!0});ValueFilterEditor.prototype.updateEditor=function(){var e=this,t=this._filter.column,i=this._filter.getUniqueValues(!0);this._lbValues.isContentHtml=t.isContentHtml;var l=this._filter.showValues;if(l&&0!=Object.keys(l).length){for(var r in l)for(var n=0;n<i.length;n++)if(i[n].text==r){i[n].show=!0;break}}else i.forEach((function(e){return e.show=!0}));var o=this._filter.filterText||"",a=this._getCaseSensitive();this._cmbFilter.text=o;this._filterText=a?o:o.toLowerCase();this._rxFilter=this._getSearchExp(o,a);this._filter.showIncludeSelection&&!this.hostElement.contains(this._lblIncludeSel)?this._divOptions.appendChild(this._lblIncludeSel):this._filter.showIncludeSelection||this._lblIncludeSel.remove();var s=this._view;s.pageSize=this._filter.maxValues;s.sourceCollection=i;setTimeout((function(){e._adjustWidths()}),0);this._updateExceedsMaxValuesDisplay()};ValueFilterEditor.prototype.clearEditor=function(e){void 0===e&&(e=!0);this._cmbFilter.text="";this._filterText="";this._rxFilter=null;var t=this._view;t.pageSize=0;t.items.forEach((function(t){t.show=e}));t.moveCurrentTo(-1);t.refresh();t.pageSize=this._filter.maxValues};Object.defineProperty(ValueFilterEditor.prototype,"isEditorClear",{get:function(){return!this._filterText&&!this._cbSelectAll.indeterminate},enumerable:!0,configurable:!0});ValueFilterEditor.prototype._updateFilter=function(){var e=null,t=this._getItems();if(this._filterText||this._cbSelectAll.indeterminate){e=this._shouldIncludeSelection&&this._filter.showValues||{};for(var i=0;i<t.length;i++){var l=t[i];l.show&&(e[l.text]=!0)}}var r=this._filter;r.showValues=e;r.filterText=this._filterText};ValueFilterEditor.prototype.updateFilter=function(){var e=this;this._isFiltering?setTimeout((function(){e._updateFilter()}),Control._SEARCH_DELAY+100):this._updateFilter()};ValueFilterEditor.prototype.onCanApplyChanged=function(e){this.canApplyChanged.raise(this,e)};ValueFilterEditor.prototype._getCaseSensitive=function(){var e=this._filter.column,t=e?e.grid:null;return t&&t.caseSensitiveSearch};ValueFilterEditor.prototype._getItems=function(){return this._filter.exclusiveValueSearch?this._view.items:this._view.sourceCollection};ValueFilterEditor.prototype._filterTextChanged=function(){var e=this;""===this._filterText&&this._cbSelectAll.checked||this._filter.exclusiveValueSearch?this._lbValues._addMode=!1:this._lbValues._addMode=!0;this._toFilter&&clearTimeout(this._toFilter);this._isFiltering=!0;this._toFilter=setTimeout((function(){var t=e._cmbFilter.text,i=e._getCaseSensitive();i||(t=t.toLowerCase());if(t!=e._filterText){e._filterText=t;e._rxFilter=e._getSearchExp(t,i);e._view.refresh();e._updateExceedsMaxValuesDisplay();if(!t){var l=e._initialItems;if(l.length&&e._view.sourceCollection.indexOf(l[0])>-1){e._lbValues.checkedItems=e._initialItems;e._updateSelectAllCheck();e._isFiltering=!1;return}}if(e._filter.exclusiveValueSearch){e._cbSelectAll.checked=!0;e._cbSelectAllClicked()}else e._updateSelectAllCheck()}e._isFiltering=!1}),Control._SEARCH_DELAY)};ValueFilterEditor.prototype._getSearchExp=function(e,t){if(!e)return null;switch(this._filter.searchType){case ValueFilterSearchKind.Text:return this._getTextSearchExp(e,t);case ValueFilterSearchKind.Regex:return this._getRegexSearchExp(e,t);case ValueFilterSearchKind.Excel:return this._getExcelSearchExp(e,t)}};ValueFilterEditor.prototype._getTextSearchExp=function(e,t){return new RegExp(escapeRegExp(e),t?"":"i")};ValueFilterEditor.prototype._getRegexSearchExp=function(e,t){try{return new RegExp(e,t?"s":"is")}catch(e){return new RegExp("(?!)",t?"s":"is")}};ValueFilterEditor.prototype._getExcelSearchExp=function(e,t){var i=e;i=(i=(i=(i=(i=(i=(i=(i=i.replace(/([.+^$[\]\\(){}|-])/g,"\\$1")).replace(/~~/g,"__`$0`__")).replace(/~\?/g,"__`$1`__")).replace(/~\*/g,"__`$2`__")).replace(/~(.)/g,"$1")).replace(/(\?+)/g,(function(e,t){return Array.from(t).map((function(e){return"."})).join("")}))).replace(/(\*+)/g,(function(e,t){return Array.from(t).map((function(e){return".*"})).join("")}))).replace(/__`\$(\d)`__/g,(function(e,t){switch(t){case"0":return"~";case"1":return"\\?";case"2":return"\\*"}}));/([^~]|^)[?*]/g.test(e)&&(i="^"+i+"$");("~"===e||e&&!i.length)&&(i="$a^");return new RegExp(i,t?"s":"is")};ValueFilterEditor.prototype._filterValues=function(e){var t=this._rxFilter;return null==t||null==e||t.test(e.text)};ValueFilterEditor.prototype._cbSelectAllClicked=function(){for(var e=this,t=this._cbSelectAll.checked,i=this._divValues.scrollTop,l=this._getItems(),r=0;r<l.length;r++)l[r].show=t;this._view.refresh();this._divValues.scrollTop=i;setTimeout((function(){e._adjustWidths()}),0)};ValueFilterEditor.prototype._updateSelectAllCheck=function(){for(var e=this._getItems(),t=0,i=0,l=0;l<e.length;l++){e[l].show?t++:i++;if(t&&i)break}setChecked(this._cbSelectAll,t&&i?null:t>0);this.canApply=t>0};ValueFilterEditor.prototype._adjustWidths=function(){var e=this._lbValues.hostElement;if(e&&e.offsetHeight>0){var t=0,i=e.querySelectorAll("."+input.ListBoxClsNames.listBoxItem+" label");if(i.length){for(var l=0;l<i.length;l++)t=Math.max(t,i[l].scrollWidth);if(t){var r=e.querySelectorAll("."+input.ListBoxClsNames.listBoxItem);if(r.length){var n=r[0],o=getComputedStyle(n),a=parseFloat(o.paddingLeft)+parseFloat(o.paddingRight);for(l=0;l<r.length;l++)r[l].style.width=t+a+"px"}}}}};Object.defineProperty(ValueFilterEditor.prototype,"exceedsMaxValues",{get:function(){return!(!this._view||!this._view._view)&&this._view._view.length>this.filter.maxValues},enumerable:!0,configurable:!0});ValueFilterEditor.prototype._updateExceedsMaxValuesDisplay=function(){this._aExceeds.style.display=this.exceedsMaxValues?"":"none"};ValueFilterEditor.prototype._initPopup=function(){var e=document.createElement("div");e.innerHTML='<div role="dialog"><div class='+input.PopupClsNames.dialogBody+"><div class="+ValueFilterEditorClsNames.customModalText+"><p>"+culture.FlexGridFilter.popupBody+'</p></div></div><div class="'+input.PopupClsNames.dialogFooter+" "+ValueFilterEditorClsNames.modalFooter+'" ><button class="btn btn-primary '+UtilitesClsNames.hideOk+'">'+culture.FlexGridFilter.popupOkButton+"</button></div></div>";this._popup=new input.Popup(e,{modal:!0,fadeIn:!0,fadeOut:!0})};ValueFilterEditor._ctrlTemplate="";return ValueFilterEditor}(Control);export{ValueFilterEditor};var ColumnFilter=function(){function ColumnFilter(e,t){var i=this;this._owner=e;this._col=t;this._valueFilter=new ValueFilter(t);this._valueFilter.exclusiveValueSearch=e.exclusiveValueSearch;this._valueFilter.showIncludeSelection=e.showIncludeSelection;this._conditionFilter=new ConditionFilter(t);e.exclusiveValueSearchChanged.addHandler((function(e){i._valueFilter.exclusiveValueSearch=e.exclusiveValueSearch}));e._showIncludeSelectionChanged.addHandler((function(e){i._valueFilter.showIncludeSelection=e.showIncludeSelection}))}Object.defineProperty(ColumnFilter.prototype,"filterType",{get:function(){return null!=this._filterType?this._filterType:this._owner.defaultFilterType},set:function(e){if((e=asEnum(e,FilterType,!0))!=this._filterType){var t=this.isActive;this.clear();this._filterType=e;t?this._owner.apply():this._col.grid&&this._col.grid.invalidate()}},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"dataMap",{get:function(){return this.conditionFilter.dataMap||this.valueFilter.dataMap},set:function(e){this.conditionFilter.dataMap=e;this.valueFilter.dataMap=e},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"valueFilter",{get:function(){return this._valueFilter},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"conditionFilter",{get:function(){return this._conditionFilter},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"column",{get:function(){return this._col},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"isActive",{get:function(){return this._conditionFilter.isActive||this._valueFilter.isActive},enumerable:!0,configurable:!0});ColumnFilter.prototype.apply=function(e){return this._conditionFilter.apply(e)&&this._valueFilter.apply(e)};ColumnFilter.prototype.clear=function(){this._valueFilter.clear();this._conditionFilter.clear()};ColumnFilter.prototype.implementsInterface=function(e){return"IColumnFilter"==e};return ColumnFilter}();export{ColumnFilter};_addCultureInfo("FlexGridFilter",{ariaLabels:{edit:"Edit Filter for Column",dialog:"Filter Editor for Column",asc:"Sort Column in Ascending Order",dsc:"Sort Column in Descending Order",search:"Search Item List",op1:"First Condition Operator",val1:"First Condition Value",and:"Require both Conditions",or:"Require either Condition",op2:"Second Condition Operator",val2:"Second Condition Value",active:"active",listBox:"List of options available for filtering"},ascending:"↑ Ascending",descending:"↓ Descending",apply:"Apply",cancel:"Cancel",clear:"Clear",conditions:"Filter by Condition",values:"Filter by Value",search:"Search",selectAll:"Select All",includeSelection:"Include Current Selection",null:"(nothing)",exceedsMaxValues:"Not all items showing",popupBody:"This column has more than 250 unique items. Only the first 250 unique items are displayed.",popupOkButton:"OK",header:"Show items where the value",and:"And",or:"Or",stringOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Does not equal",op:Operator.NE},{name:"Begins with",op:Operator.BW},{name:"Does not begin with",op:Operator.NBW},{name:"Ends with",op:Operator.EW},{name:"Does not end with",op:Operator.NEW},{name:"Contains",op:Operator.CT},{name:"Does not contain",op:Operator.NC}],numberOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Does not equal",op:Operator.NE},{name:"Is Greater than",op:Operator.GT},{name:"Is Greater than or equal to",op:Operator.GE},{name:"Is Less than",op:Operator.LT},{name:"Is Less than or equal to",op:Operator.LE}],dateOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Is Before",op:Operator.LT},{name:"Is After",op:Operator.GT}],booleanOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Does not equal",op:Operator.NE}]});var ColumnFilterEditor=function(e){__extends(ColumnFilterEditor,e);function ColumnFilterEditor(t,i,l){void 0===l&&(l=!0);var r=e.call(this,t,null,!0)||this;r._disallowedControls=new Set(["TransposedGrid","WjTransposedGrid","TransposedMultiRow","WjTransposedMultiRow"]);r.filterChanged=new Event;r.buttonClicked=new Event;r._filter=asType(i,ColumnFilter);var n=r.getTemplate();r.applyTemplate(ControlClsNames.hostElement+" "+ControlClsNames.content+" "+ControlClsNames.content+" "+ColumnFilterEditorClsNames.hostElement,n,{_divSort:"div-sort",_btnAsc:"btn-asc",_btnDsc:"btn-dsc",_divType:"div-type",_aVal:"a-val",_aCnd:"a-cnd",_divEdtVal:"div-edt-val",_divEdtCnd:"div-edt-cnd",_btnApply:"btn-apply",_btnCancel:"btn-cancel",_btnClear:"btn-clear"});var o=culture.FlexGridFilter,a=o.ariaLabels,s=r.hostElement,u=r.filter.column,d=u.grid.collectionView;setAttribute(s,"role","dialog");setAriaLabel(s,a.dialog+" "+u.header);setAriaLabel(r._btnAsc,a.asc);setAriaLabel(r._btnDsc,a.dsc);setText(r._btnAsc,o.ascending);setText(r._btnDsc,o.descending);setText(r._aVal,o.values);setText(r._aCnd,o.conditions);setText(r._btnApply,o.apply);setText(r._btnCancel,o.cancel);setText(r._btnClear,o.clear);var c=r.filter.conditionFilter.isActive||0==(i.filterType&FilterType.Value)?FilterType.Condition:FilterType.Value;r._showFilter(c);if(!u.allowSorting||r._disallowedControls.has(u.grid.constructor.name)){enable(r._btnAsc,!1);enable(r._btnDsc,!1)}l&&d&&d.canSort||(r._divSort.style.display="none");r._updateSortButtonState();var p=r._btnClicked.bind(r);r._btnApply.addEventListener("click",p);r._btnCancel.addEventListener("click",p);r._btnClear.addEventListener("click",p);r._btnAsc.addEventListener("click",p);r._btnDsc.addEventListener("click",p);r._aVal.addEventListener("click",p);r._aCnd.addEventListener("click",p);r.addEventListener(s,"keydown",(function(e){if(!e.defaultPrevented){var t=e.target.tagName.match(/^(a|button)$/i);switch(e.keyCode){case Key.Space:if(t){r._btnClicked(e);e.preventDefault()}break;case Key.Enter:if(t)r._btnClicked(e);else{r.updateFilter();r.onFilterChanged();r.onButtonClicked()}e.preventDefault();break;case Key.Escape:r.onButtonClicked();e.preventDefault();break;case Key.Tab:moveFocus(r.hostElement,e.shiftKey?-1:1);e.preventDefault()}}}));r.addEventListener(window,"resize",(function(){r.isTouching||r._wasTouching||r.onButtonClicked()}));return r}Object.defineProperty(ColumnFilterEditor,"controlTemplate",{get:function(){ColumnFilterEditor._ctrlTemplate||(ColumnFilterEditor._ctrlTemplate='<div><div wj-part="div-sort" class="'+ColumnFilterEditorClsNames.sortButtons+'"><button wj-part="btn-asc" class="'+InputFormElementsClsNames.btn+'"></button>&nbsp;&nbsp;&nbsp;<button wj-part="btn-dsc" class="'+InputFormElementsClsNames.btn+'"></button></div><div wj-part="div-type" class="'+ColumnFilterEditorClsNames.filterType+'"><a wj-part="a-cnd" href="" draggable="false"></a>&nbsp;|&nbsp;<a wj-part="a-val" href="" draggable="false"></a></div><div wj-part="div-edt-val" tabindex="-1"></div><div wj-part="div-edt-cnd" tabindex="-1"></div><div style="text-align:right;margin-top:10px"><button wj-part="btn-apply" class="'+InputFormElementsClsNames.btn+'"></button>&nbsp;&nbsp;<button wj-part="btn-cancel" class="'+InputFormElementsClsNames.btn+'"></button>&nbsp;&nbsp;<button wj-part="btn-clear" class="'+InputFormElementsClsNames.btn+'"></button></div></div>');return ColumnFilterEditor._ctrlTemplate},set:function(e){ColumnFilterEditor._ctrlTemplate=e},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilterEditor.prototype,"filter",{get:function(){return this._filter},enumerable:!0,configurable:!0});ColumnFilterEditor.prototype.updateEditor=function(){this._edtVal&&this._edtVal.updateEditor();this._edtCnd&&this._edtCnd.updateEditor()};ColumnFilterEditor.prototype.updateFilter=function(){switch(this._getFilterType()){case FilterType.Value:this._edtVal.updateFilter();this.filter.conditionFilter.clear();break;case FilterType.Condition:this._edtCnd.updateFilter();this.filter.valueFilter.clear()}};ColumnFilterEditor.prototype.onFilterChanged=function(e){this.filterChanged.raise(this,e)};ColumnFilterEditor.prototype.onButtonClicked=function(e){this.buttonClicked.raise(this,e)};ColumnFilterEditor.prototype._showFilter=function(e){var t=this;this._wasTouching=this.isTouching;if(e==FilterType.Value&&null==this._edtVal){this._edtVal=new ValueFilterEditor(this._divEdtVal,this.filter.valueFilter);this._edtVal.canApplyChanged.addHandler((function(e){enable(t._btnApply,t._edtVal.canApply)}))}if(e==FilterType.Condition&&null==this._edtCnd){this._edtCnd=new ConditionFilterEditor(this._divEdtCnd,this.filter.conditionFilter);this._edtCnd.canApplyChanged.addHandler((function(e){enable(t._btnApply,t._edtCnd.canApply)}))}if(0!=(e&this.filter.filterType))if(e==FilterType.Value){this._divEdtVal.style.display="";this._divEdtCnd.style.display="none";this._enableLink(this._aVal,!1);this._enableLink(this._aCnd,!0);this._edtVal.focus();this._edtVal._updateExceedsMaxValuesDisplay();enable(this._btnApply,this._edtVal.canApply)}else{this._divEdtVal.style.display="none";this._divEdtCnd.style.display="";this._enableLink(this._aVal,!0);this._enableLink(this._aCnd,!1);this._edtCnd.focus();enable(this._btnApply,this._edtCnd.canApply)}var i=this._divType.style;switch(this.filter.filterType){case FilterType.None:case FilterType.Condition:case FilterType.Value:i.display="none";break;default:i.display=""}};ColumnFilterEditor.prototype._enableLink=function(e,t){toggleClass(e,ControlStateClsNames.disabled,!t);setAttribute(e,"href",t?"":null);setAttribute(e,"disabled",t?null:"disabled")};ColumnFilterEditor.prototype._updateSortButtonState=function(){var e=this.filter.column,t=e?e.currentSort:"",i=ControlStateClsNames.active,l=culture.FlexGridFilter.ariaLabels;if("+"===t){addClass(this._btnAsc,i);this._btnAsc.setAttribute("aria-label",l.asc+" "+l.active)}else if("-"===t){addClass(this._btnDsc,i);this._btnDsc.setAttribute("aria-label",l.dsc+" "+l.active)}};ColumnFilterEditor.prototype._getFilterType=function(){var e=FilterType;return"none"!=this._divEdtVal.style.display?e.Value:e.Condition};ColumnFilterEditor.prototype._btnClicked=function(e){var t=this,i=e.target;e.preventDefault();e.stopPropagation();if(!hasClass(i,ControlStateClsNames.disabled))if(i!=this._aVal)if(i!=this._aCnd){if(i==this._btnAsc||i==this._btnDsc){var l=this.filter.column.grid,r=this.filter.column,n=r.sortMemberPath||r.binding,o=r.grid.collectionView.sortDescriptions,a=this.hostElement["$WJ-OWNR"]&&this.hostElement["$WJ-OWNR"]["wj-cell-index"];if(a){var s=a.panel,u=a.rng;null==u&&(u=new CellRange(a.row,a.col,a.row,a.col));var d=new CellRangeEventArgs(s,u,e);if(l.onSortingColumn(d)){o.deferUpdate((function(){o.clear();o.push(new SortDescription(n,e.target==t._btnAsc))}));this._updateSortButtonState();l.onSortedColumn(d)}}}if(i==this._btnApply){this.updateFilter();this.onFilterChanged()}else if(i==this._btnClear){if(this.filter.isActive){this.filter.clear();this.onFilterChanged()}}else this.updateEditor();this.onButtonClicked()}else{this._showFilter(FilterType.Condition);moveFocus(this._edtCnd.hostElement,0)}else{this._showFilter(FilterType.Value);moveFocus(this._edtVal.hostElement,0)}};ColumnFilterEditor._ctrlTemplate="";return ColumnFilterEditor}(Control);export{ColumnFilterEditor};_registerModule("wijmo.grid.filter",selfModule);
package/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * Wijmo Library 5.20242.30
3
+ * Wijmo Library 5.20251.34
4
4
  * https://developer.mescius.com/wijmo
5
5
  *
6
6
  * Copyright(c) MESCIUS inc. All rights reserved.
@@ -851,7 +851,7 @@ export declare class ValueFilterEditor extends Control {
851
851
  private _popup;
852
852
  static _ctrlTemplate: string;
853
853
  /**
854
- * Gets or sets the template used to instantiate {@link ColumnFilterEditor} controls.
854
+ * Gets or sets the template used to instantiate {@link ValueFilterEditor} controls.
855
855
  */
856
856
  static controlTemplate: string;
857
857
  /**
@@ -1027,6 +1027,7 @@ export declare class ColumnFilterEditor extends Control {
1027
1027
  private _btnCancel;
1028
1028
  private _btnClear;
1029
1029
  static _ctrlTemplate: string;
1030
+ private _disallowedControls;
1030
1031
  /**
1031
1032
  * Gets or sets the template used to instantiate {@link ColumnFilterEditor} controls.
1032
1033
  */
package/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * Wijmo Library 5.20242.30
3
+ * Wijmo Library 5.20251.34
4
4
  * https://developer.mescius.com/wijmo
5
5
  *
6
6
  * Copyright(c) MESCIUS inc. All rights reserved.
@@ -11,4 +11,4 @@
11
11
  *
12
12
  */
13
13
 
14
- "use strict";var __extends=this&&this.__extends||function(){var extendStatics=function(e,t){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)};return function(e,t){extendStatics(e,t);function __(){this.constructor=e}e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)}}(),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);t.default=e;return t};Object.defineProperty(exports,"__esModule",{value:!0});var FilterType,wijmo_grid_1=require("@grapecity/wijmo.grid"),wijmo_1=require("@grapecity/wijmo"),wijmo_input_1=require("@grapecity/wijmo.input"),input=__importStar(require("@grapecity/wijmo.input")),selfModule=__importStar(require("@grapecity/wijmo.grid.filter"));exports.ColumnFilterEditorClsNames={filterType:"wj-filtertype",hostElement:"wj-columnfiltereditor",sortButtons:"wj-sort-buttons"};exports.ConditionFilterEditorClsNames={hostElement:"wj-conditionfilter-editor"};exports.FlexGridFilterClsNames={elemFilter:"wj-elem-filter",filter:"wj-filter",filterOff:"wj-filter-off",filterOn:"wj-filter-on",hostElement:"wj-columnfiltereditor"};exports.ValueFilterEditorClsNames={hostElement:"wj-valuefilter-editor",customModalText:"wj-custom-modal-text",modalFooter:"wj-valuefilter-modal-footer"};!function(e){e[e.None=0]="None";e[e.Condition=1]="Condition";e[e.Value=2]="Value";e[e.Both=3]="Both"}(FilterType=exports.FilterType||(exports.FilterType={}));var FlexGridFilter=function(){function FlexGridFilter(e,t){this._showIcons=!0;this._showSort=!0;this._defFilterType=FilterType.Both;this._xValueSearch=!0;this._includeUpdatedRowsInFilter=!1;this._showIncludeSelection=!1;this.filterApplied=new wijmo_1.Event;this.editingFilter=new wijmo_1.Event;this.filterChanging=new wijmo_1.Event;this.filterChanged=new wijmo_1.Event;this.exclusiveValueSearchChanged=new wijmo_1.Event;this._showIncludeSelectionChanged=new wijmo_1.Event;this._filters=[];this._g=wijmo_1.asType(e,wijmo_grid_1.FlexGrid,!1);this._g.formatItem.addHandler(this._formatItem.bind(this));this._g.itemsSourceChanged.addHandler(this.clear.bind(this));var i=this._g.hostElement;e.addEventListener(i,"mousedown",this._mousedown.bind(this),!0);e.addEventListener(i,"click",this._click.bind(this),!0);e.addEventListener(i,"keydown",this._keydown.bind(this),!0);this._g.invalidate();wijmo_1.copy(this,t);this._init()}FlexGridFilter.prototype._init=function(){var e=this,t=this.grid,_excludeRowFromFilter=function(t){var i=e.grid,l=e.excludedRowsSet;if(null!=i&&i.rows.length>t)if(i.itemsSource)if(i.rows[t]instanceof wijmo_grid_1._NewRowTemplate){var r=i.editableCollectionView.currentAddItem||i.rows[t].dataItem;r&&l.add(r)}else i.rows[t].dataItem&&l.add(i.rows[t].dataItem);else i.rows[t]&&l.add(i.rows[t])};t.rowChanged&&t.rowChanged.addHandler((function(e,t){t.added&&_excludeRowFromFilter(t.index)}));t.rowEditEnding.addHandler((function(e,t){_excludeRowFromFilter(t.row)}));t.cellEditEnded.addHandler((function(e,t){_excludeRowFromFilter(t.row)}))};Object.defineProperty(FlexGridFilter.prototype,"excludedRowsSet",{get:function(){var e=this.grid;e.selectedSheet&&(e=e.selectedSheet);e._newAddedRowsSet||(e._newAddedRowsSet=new WeakSet);return e._newAddedRowsSet},set:function(e){var t=this.grid;t.selectedSheet&&(t=t.selectedSheet);t._newAddedRowsSet=e},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"grid",{get:function(){return this._g},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"filterColumns",{get:function(){return this._filterColumns},set:function(e){this._filterColumns=wijmo_1.asArray(e);this.clear()},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"showFilterIcons",{get:function(){return this._showIcons},set:function(e){if(e!=this.showFilterIcons){this._showIcons=wijmo_1.asBoolean(e);this._g&&this._g.invalidate()}},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"showSortButtons",{get:function(){return this._showSort},set:function(e){this._showSort=wijmo_1.asBoolean(e)},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"reApplyFilterOnUpdate",{get:function(){return this._includeUpdatedRowsInFilter},set:function(e){e!==this._includeUpdatedRowsInFilter&&(this._includeUpdatedRowsInFilter=wijmo_1.asBoolean(e))},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"showIncludeSelection",{get:function(){return this._showIncludeSelection},set:function(e){if(e!=this._showIncludeSelection){this._showIncludeSelection=wijmo_1.asBoolean(e,!1);this._onShowIncludeSelectionChanged()}},enumerable:!0,configurable:!0});FlexGridFilter.prototype.getColumnFilter=function(e,t){void 0===t&&(t=!0);if(e=this._asColumn(e)){for(var i=0;i<this._filters.length;i++)if(this._filters[i].column==e)return this._filters[i];if(t&&e.binding){var l=new ColumnFilter(this,e);this._filters.push(l);return l}}return null};Object.defineProperty(FlexGridFilter.prototype,"defaultFilterType",{get:function(){return this._defFilterType},set:function(e){if((e=wijmo_1.asEnum(e,FilterType,!1))!=this.defaultFilterType){this._defFilterType=e;this._g.invalidate();this.clear()}},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"exclusiveValueSearch",{get:function(){return this._xValueSearch},set:function(e){if((e=wijmo_1.asBoolean(e))!==this._xValueSearch){this._xValueSearch=e;this.onExclusiveValueSearchChanged()}},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"filterDefinition",{get:function(){var e=this,t={defaultFilterType:this.defaultFilterType,filters:[]};this._filters.forEach((function(i){var l=i.conditionFilter,r=i.valueFilter,n=r.uniqueValues&&r.uniqueValues.length;if(i&&i.column&&i.column.binding&&(i.isActive||n||i.filterType!=e.defaultFilterType)){var o={binding:i.column.binding};if(l.isActive){var a=l.condition1,s=l.condition2;o={binding:i.column.binding,type:"condition",condition1:{operator:a.operator,value:a.value},and:l.and,condition2:{operator:s.operator,value:s.value}}}else(r.isActive||n)&&(o={binding:i.column.binding,type:"value",uniqueValues:r.uniqueValues,sortValues:r.sortValues,maxValues:r.maxValues,exclusiveValueSearch:r.exclusiveValueSearch,showValues:r.showValues});i.filterType!=e.defaultFilterType&&(o.filterType=i.filterType);t.filters.push(o)}}));return JSON.stringify(t)},set:function(e){e=wijmo_1.asString(e);this.clear();if(e){var t=JSON.parse(e);this.defaultFilterType=t.defaultFilterType;for(var _loop_1=function(e){var l=t.filters[e],r=i._asColumn(l.binding);r||(r=new wijmo_grid_1.Column({binding:l.binding}));var n=i.getColumnFilter(r,!0);if(n){null!=l.filterType&&(n.filterType=wijmo_1.asEnum(l.filterType,FilterType));switch(l.type){case"condition":var o=n.conditionFilter;o.condition1.value=r.dataType==wijmo_1.DataType.Date?wijmo_1.changeType(l.condition1.value,r.dataType,null):l.condition1.value;o.condition1.operator=l.condition1.operator;o.and=l.and;o.condition2.value=r.dataType==wijmo_1.DataType.Date?wijmo_1.changeType(l.condition2.value,r.dataType,null):l.condition2.value;o.condition2.operator=l.condition2.operator;break;case"value":var a=n.valueFilter;a.uniqueValues=l.uniqueValues;["sortValues","maxValues","exclusiveValueSearch"].forEach((function(e){null!=l[e]&&(a[e]=l[e])}));a.showValues=l.showValues}}},i=this,l=0;l<t.filters.length;l++)_loop_1(l)}this.apply()},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"activeEditor",{get:function(){return wijmo_1.Control.getControl(this._divEdt)},enumerable:!0,configurable:!0});FlexGridFilter.prototype.editColumnFilter=function(e,t,i){var l=this,r=this._g;this.closeEditor();e=this._asColumn(e);var n=new wijmo_grid_1.CellRangeEventArgs(r.cells,new wijmo_grid_1.CellRange(-1,e.index));if(this.onEditingFilter(n)){var o=wijmo_1.createElement('<div class="'+wijmo_input_1.DropDownClsNames.dropDownPanel+'"></div>'),a=this.getColumnFilter(e),s=new ColumnFilterEditor(o,a,this.showSortButtons);this._divEdt=o;this._edtCol=e;r.rightToLeft&&(o.dir="rtl");if(this.onFilterChanging(n)){n.cancel=!0;s.filterChanged.addHandler((function(){n.cancel=!1;setTimeout((function(){if(!n.cancel){l.excludedRowsSet=null;l.apply()}}),s._edtVal&&s._edtVal._isFiltering?wijmo_1.Control._SEARCH_DELAY+200:0)}));s.buttonClicked.addHandler((function(){l.closeEditor();r.focus();l.onFilterChanged(n)}));s.lostFocus.addHandler((function(){setTimeout((function(){var e=wijmo_1.Control.getControl(l._divEdt);e&&!e.containsFocus()&&l.closeEditor()}),10)}));var u=t?t.col:e.index,d=r.columns[u];t||d&&d.binding==e.binding||(u=r.selection.leftCol);r._edtHdl._commitRowEdits();r.scrollIntoView(-1,u,!0);var c=r.columnHeaders,p=t&&t.panel&&c&&t.panel._uid==c._uid?t.row:c.rows.length-1,_=u,h=i||c.getCellElement(p,_),m=h?null:c.getCellBoundingRect(p,_);h?wijmo_1.showPopup(o,h,!1,!1,!1):wijmo_1.showPopup(o,m);this._setAriaExpanded(h,!0);this._setAriaExpanded(r.cells.getCellElement(-1,_),!0);for(var f=s.hostElement.querySelectorAll("input"),b=0;b<f.length;b++){var v=f[b];if(v.offsetHeight>0&&v.tabIndex>-1&&!v.disabled){v.focus();break}}s.containsFocus()||s.focus()}else this._divEdt=this._edtCol=null}};FlexGridFilter.prototype._setAriaExpanded=function(e,t){if(e){var i=e.querySelector("."+FlexGridFilter._WJC_FILTER);wijmo_1.setAttribute(i,"aria-expanded",t)}};FlexGridFilter.prototype.closeEditor=function(){var e=this._g,t=wijmo_1.Control.getControl(this._divEdt),i=this._edtCol;t&&wijmo_1.hidePopup(t.hostElement,(function(){t.dispose()}));if(i){var l=e.columnHeaders,r=l.rows.length?l.getCellElement(l.rows.length-1,i.index):null;this._setAriaExpanded(r,!1);r=e.cells.getCellElement(-1,i.index);this._setAriaExpanded(r,!1)}this._divEdt=null;this._edtCol=null};FlexGridFilter.prototype.apply=function(){var e=this._g.collectionView;if(e){var t=this._g.editableCollectionView;if(t){t.commitEdit();t.commitNew()}e.filter=this._filter.bind(this)}var i=e?e.updateFilterDefinition:null;wijmo_1.isFunction(i)&&i.call(e,this);this.onFilterApplied()};FlexGridFilter.prototype.clear=function(){if(this._filters.length){this._filters=[];this.excludedRowsSet=null;this.apply()}};FlexGridFilter.prototype.onFilterApplied=function(e){this.filterApplied.raise(this,e)};FlexGridFilter.prototype.onEditingFilter=function(e){this.editingFilter.raise(this,e);return!e.cancel};FlexGridFilter.prototype.onFilterChanging=function(e){this.filterChanging.raise(this,e);return!e.cancel};FlexGridFilter.prototype.onFilterChanged=function(e){this.filterChanged.raise(this,e)};FlexGridFilter.prototype.onExclusiveValueSearchChanged=function(e){this.exclusiveValueSearchChanged.raise(this,e)};FlexGridFilter.prototype._onShowIncludeSelectionChanged=function(e){this._showIncludeSelectionChanged.raise(this,e)};FlexGridFilter.prototype._asColumn=function(e){return wijmo_1.isString(e)?this._g.getColumn(e,!0):wijmo_1.isNumber(e)?this._g.columns[e]:wijmo_1.asType(e,wijmo_grid_1.Column,!1)};FlexGridFilter.prototype._filter=function(e){var t=this.excludedRowsSet;if(!this.reApplyFilterOnUpdate&&t.has(e))return!0;for(var i=this._filters,l=0;l<i.length;l++){var r=i[l];if(r.column!=FlexGridFilter._skipColumn&&!r.apply(e))return!1}return!0};FlexGridFilter.prototype._formatItem=function(e,t){if(t.panel==e.columnHeaders){var i=this._g,l=i.getMergedRange(t.panel,t.row,t.col)||new wijmo_grid_1.CellRange(t.row,t.col),r=i.columns[l.col],n=i._getBindingColumn(t.panel,t.row,r),o=t.cell;if(l.row2==t.panel.rows.length-1||r!=n){var a=this.getColumnFilter(n,this.defaultFilterType!=FilterType.None),s=this._filterColumns;s&&s.length&&s.indexOf(n.binding)<0&&s.indexOf(n.name)<0&&(a=null);if(a){wijmo_1.toggleClass(o,exports.FlexGridFilterClsNames.filterOn,a.isActive);wijmo_1.toggleClass(o,exports.FlexGridFilterClsNames.filterOff,!a.isActive)}else{wijmo_1.removeClass(o,exports.FlexGridFilterClsNames.filterOn);wijmo_1.removeClass(o,exports.FlexGridFilterClsNames.filterOff)}if(a&&a.filterType!=FilterType.None){this._showIcons&&this._addFilterButton(n,a,o);0==t.row&&(o=i.cells.getCellElement(-1,t.col))&&this._addFilterButton(r,a,o)}}}};FlexGridFilter.prototype._addFilterButton=function(e,t,i){var l=FlexGridFilter._WJC_FILTER,r=wijmo_1.createElement('<button class="'+wijmo_1.InputFormElementsClsNames.btn+" "+wijmo_1.GlyphClsNames.btnGlyph+" "+wijmo_1.UtilitesClsNames.right+" "+l+'" type="button" tabindex="-1"><span class='+wijmo_1.GlyphClsNames.filter+"></span></button>");wijmo_1.setAriaLabel(r,wijmo_1.culture.FlexGridFilter.ariaLabels.edit+" "+e.header);wijmo_1.setAttribute(r,"aria-haspopup","dialog");wijmo_1.setAttribute(r,"aria-expanded",!1);wijmo_1.setAttribute(r,"aria-describedby",e.describedById);wijmo_1.setAttribute(r,"aria-pressed",t.isActive);if(!i.querySelector("."+l)){1==i.children.length&&(i=i.querySelector("div")||i);i.insertBefore(r,i.firstChild)}};FlexGridFilter.prototype._mousedown=function(e){this._edtColPrev=this._edtCol};FlexGridFilter.prototype._click=function(e){if(this._toggleEditor(e)){e.stopPropagation();e.preventDefault()}};FlexGridFilter.prototype._toggleEditor=function(e){var t=this;if(!e.defaultPrevented&&0==e.button)if(wijmo_1.closestClass(e.target,FlexGridFilter._WJC_FILTER)){var i=this._g,l=i.hitTest(e.target);l.panel||(l=i.hitTest(e));if(l.panel&&i.columnHeaders&&i.cells&&(l.panel._uid==i.columnHeaders._uid||l.panel._uid==i.cells._uid&&-1==l.row)){var r=i.getMergedRange(l.panel,l.row,l.col)||new wijmo_grid_1.CellRange(l.row,l.col),n=i.columns[r.col],o=i._getBindingColumn(l.panel,l.row,n);if(this._divEdt&&this._edtCol==o){this.closeEditor();i.focus()}else o!=this._edtColPrev&&setTimeout((function(){t.editColumnFilter(o,l)}),this._divEdt?100:0);return!0}}else this.closeEditor();return!1};FlexGridFilter.prototype._keydown=function(e){if(!e.defaultPrevented&&!e.ctrlKey&&e.altKey&&(e.keyCode==wijmo_1.Key.Down||e.keyCode==wijmo_1.Key.Up)){var t=this.grid,i=t.selection,l=i.col>-1?t.columns[i.col]:null,r=l?t._getBindingColumn(t.cells,i.row,l):null,n=r&&r.dataMap&&r.dataMapEditor==wijmo_grid_1.DataMapEditor.DropDownList;if(this.filterColumns&&this.filterColumns.length>0&&!this.filterColumns.includes(r._binding._path)){e.preventDefault();return!1}if(t.activePanelType!=wijmo_grid_1.CellType.Cell&&t.activePanelType!=wijmo_grid_1.CellType.ColumnHeader){e.preventDefault();return!1}r&&r.editor instanceof wijmo_input_1.DropDown&&(n=!0);if(r&&!n){var o=this.getColumnFilter(r,!1);if(o&&o.filterType!=FilterType.None){this.editColumnFilter(r);e.preventDefault();e.stopPropagation()}}}};FlexGridFilter._WJC_FILTER=exports.FlexGridFilterClsNames.elemFilter;return FlexGridFilter}();exports.FlexGridFilter=FlexGridFilter;exports.empty={};var ConditionFilter=function(){function ConditionFilter(e){this._c1=new FilterCondition(this);this._c2=new FilterCondition(this);this._and=!0;this._col=e}Object.defineProperty(ConditionFilter.prototype,"condition1",{get:function(){return this._c1},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilter.prototype,"condition2",{get:function(){return this._c2},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilter.prototype,"and",{get:function(){return this._and},set:function(e){this._and=wijmo_1.asBoolean(e)},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilter.prototype,"dataMap",{get:function(){return this._map},set:function(e){this._map=wijmo_1.asType(e,wijmo_grid_1.DataMap,!0)},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilter.prototype,"column",{get:function(){return this._col},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilter.prototype,"isActive",{get:function(){return this._c1.isActive||this._c2.isActive},enumerable:!0,configurable:!0});ConditionFilter.prototype.apply=function(e){var t=this._col,i=this._c1,l=this._c2,r=!1,n=!1;if(!t||!t._binding||!this.isActive)return!0;e=t._binding.getValue(e);var o=this.dataMap||t.dataMap;if(o)e=o.getDisplayValue(e);else if(wijmo_1.isDate(e)){r=!this._hasTimePart();n=!this._hasDatePart();var a=FilterCondition._refDateTime;r?e=wijmo_1.DateTime.fromDateTime(e,a):n&&(e=wijmo_1.DateTime.fromDateTime(a,e))}else if(wijmo_1.isNumber(e)){var s=wijmo_1.Globalize,u=t.format,d=s.formatNumber(e,u);e=s.parseFloat(d,u)}var c=i.apply(e,r,n),p=l.apply(e,r,n);return i.isActive&&l.isActive?this._and?c&&p:c||p:i.isActive?c:!l.isActive||p};ConditionFilter.prototype.clear=function(){this._c1.clear();this._c2.clear();this.and=!0};ConditionFilter.prototype._hasDatePart=function(){var e=this._col.format;if(!e)return!0;e=wijmo_1.culture.Globalize.calendar.patterns[e]||e;return/[yMd]+/.test(e)};ConditionFilter.prototype._hasTimePart=function(){var e=this._col.format;if(!e)return!1;e=wijmo_1.culture.Globalize.calendar.patterns[e]||e;return/[Hmst]+/.test(e)};ConditionFilter.prototype.implementsInterface=function(e){return"IColumnFilter"==e};return ConditionFilter}();exports.ConditionFilter=ConditionFilter;var ConditionFilterEditor=function(e){__extends(ConditionFilterEditor,e);function ConditionFilterEditor(t,i){var l=e.call(this,t)||this;l._canApply=!1;l.canApplyChanged=new wijmo_1.Event;l._filter=wijmo_1.asType(i,ConditionFilter,!1);var r=l.getTemplate();l.applyTemplate(wijmo_1.ControlClsNames.hostElement+" "+exports.ConditionFilterEditorClsNames.hostElement,r,{_divHdr:"div-hdr",_divCmb1:"div-cmb1",_divVal1:"div-val1",_btnAnd:"btn-and",_btnOr:"btn-or",_spAnd:"sp-and",_spOr:"sp-or",_divCmb2:"div-cmb2",_divVal2:"div-val2"});var n=wijmo_1.culture.FlexGridFilter,o=n.ariaLabels;wijmo_1.setAriaLabel(l._btnAnd,o.and);wijmo_1.setAriaLabel(l._btnOr,o.or);wijmo_1.setText(l._divHdr,n.header);wijmo_1.setText(l._spAnd,n.and);wijmo_1.setText(l._spOr,n.or);var a=wijmo_1.getUniqueId("cmb1");l._divHdr.htmlFor=a;l._divCmb1.id=a;l._cmb1=l._createOperatorCombo(l._divCmb1,o.op1);l._cmb2=l._createOperatorCombo(l._divCmb2,o.op2);l._val1=l._createValueInput(l._divVal1,o.val1);l._val2=l._createValueInput(l._divVal2,o.val2);l._val1.isDisabled=!0;l._cmb1.selectedIndexChanged.addHandler((function(e,t){l._val1.isDisabled=null==e.selectedValue;l.canApply=!l._val1.isDisabled||!l._val2.isDisabled}));l._val2.isDisabled=!0;l._cmb2.selectedIndexChanged.addHandler((function(e,t){l._val2.isDisabled=null==e.selectedValue;l.canApply=!l._val1.isDisabled||!l._val2.isDisabled}));var s=l.hostElement;l.addEventListener(s,"change",l._btnAndOrChanged.bind(l));l.addEventListener(s,"keydown",l._keydown.bind(l));setTimeout((function(){l.updateEditor()}));return l}Object.defineProperty(ConditionFilterEditor,"controlTemplate",{get:function(){ConditionFilterEditor._ctrlTemplate||(ConditionFilterEditor._ctrlTemplate='<div><label wj-part="div-hdr"></label><div wj-part="div-cmb1"></div><br/><div wj-part="div-val1"></div><br/><div role="radiogroup" style="text-align:center"><label><input wj-part="btn-and" type="radio" role="radio"> <span wj-part="sp-and"></span> </label>&nbsp;&nbsp;&nbsp;<label><input wj-part="btn-or" type="radio" role="radio"> <span wj-part="sp-or"></span> </label></div><div wj-part="div-cmb2"></div><br/><div wj-part="div-val2"></div><br/></div>');return ConditionFilterEditor._ctrlTemplate},set:function(e){ConditionFilterEditor._ctrlTemplate=e},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilterEditor.prototype,"filter",{get:function(){return this._filter},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilterEditor.prototype,"canApply",{get:function(){return this._canApply},set:function(e){if(e!=this._canApply){this._canApply=e;this.onCanApplyChanged()}},enumerable:!0,configurable:!0});ConditionFilterEditor.prototype.updateEditor=function(){var e=this._filter.condition1,t=this._filter.condition2;this._cmb1.selectedValue=e.operator;this._cmb2.selectedValue=t.operator;if(this._val1 instanceof input.ComboBox&&!(this._val1 instanceof input.InputTime)){this._val1.text=wijmo_1.changeType(e.value,wijmo_1.DataType.String);this._val2.text=wijmo_1.changeType(t.value,wijmo_1.DataType.String)}else{this._val1.value=e.value;this._val2.value=t.value}var i=this._filter.and;this._checkRadio(this._btnAnd,i);this._checkRadio(this._btnOr,!i)};ConditionFilterEditor.prototype.clearEditor=function(){this._cmb1.selectedValue=this._cmb2.selectedValue=null;this._val1.text=this._val2.text=null;this._checkRadio(this._btnAnd,!0);this._checkRadio(this._btnOr,!1)};Object.defineProperty(ConditionFilterEditor.prototype,"isEditorClear",{get:function(){return null==this._cmb1.selectedValue&&!this._val1.text&&null==this._cmb2.selectedValue&&!this._val2.text},enumerable:!0,configurable:!0});ConditionFilterEditor.prototype.updateFilter=function(){var e=this._filter.condition1,t=this._filter.condition2;e.operator=this._cmb1.selectedValue;t.operator=this._cmb2.selectedValue;if("value"in this._val1){e.value=this._val1.value;t.value=this._val2.value}else{e.value=this._getComboValue(this._val1);t.value=this._getComboValue(this._val2)}this._filter.and=this._btnAnd.checked};ConditionFilterEditor.prototype.onCanApplyChanged=function(e){this.canApplyChanged.raise(this,e)};ConditionFilterEditor.prototype._getComboValue=function(e){return e.selectedIndex>-1?e.selectedValue:e.text};ConditionFilterEditor.prototype._createOperatorCombo=function(e,t){var i=this._filter.column,l=wijmo_1.culture.FlexGridFilter,r=l.stringOperators,n=wijmo_1.DataType;this._filter.dataMap||i.dataMap||(i.dataType==n.Date?r=l.dateOperators:i.dataType==n.Number?r=l.numberOperators:i.dataType==n.Boolean&&(r=l.booleanOperators));var o=new input.ComboBox(e,{itemsSource:r,displayMemberPath:"name",selectedValuePath:"op"});wijmo_1.setAriaLabel(o.inputElement,t);return o};ConditionFilterEditor.prototype._createValueInput=function(e,t){var i=this._filter,l=i.column,r=i.dataMap||l.dataMap,n=null,o=wijmo_1.DataType;if(l.dataType==o.Date)(n=i._hasDatePart()?i._hasTimePart()?new input.InputDateTime(e):new input.InputDate(e):new input.InputTime(e)).format=l.format;else if(l.dataType!=o.Number||r){(n=new input.ComboBox(e)).isEditable=!0;n.trimText=!1;if(r){n.itemsSource=r.getDisplayValues();n.caseSensitiveSearch=!!l.grid&&l.grid.caseSensitiveSearch}else l.dataType==o.Boolean&&(n.itemsSource=[!0,!1])}else(n=new input.InputNumber(e)).format=l.format;n.isRequired=!1;wijmo_1.setAriaLabel(n.inputElement,t);return n};ConditionFilterEditor.prototype._btnAndOrChanged=function(e){var t=e.target==this._btnAnd,i=e.target==this._btnOr;if(t||i){this._checkRadio(this._btnAnd,t);this._checkRadio(this._btnOr,i)}};ConditionFilterEditor.prototype._checkRadio=function(e,t){e.checked=t;wijmo_1.setAttribute(e,"aria-checked",t.toString());wijmo_1.setAttribute(e,"tabindex",t?null:"-1")};ConditionFilterEditor.prototype._keydown=function(e){var t=e.target==this._btnAnd,i=e.target==this._btnOr;if(t||i)switch(e.keyCode){case wijmo_1.Key.Left:case wijmo_1.Key.Right:case wijmo_1.Key.Up:case wijmo_1.Key.Down:var l=t?this._btnOr:this._btnAnd;l.click();l.focus();e.preventDefault()}};ConditionFilterEditor._ctrlTemplate="";return ConditionFilterEditor}(wijmo_1.Control);exports.ConditionFilterEditor=ConditionFilterEditor;var Operator,ValueFilterSearchKind,FilterCondition=function(){function FilterCondition(e){this._op=null;this._filter=e}Object.defineProperty(FilterCondition.prototype,"operator",{get:function(){return this._op},set:function(e){this._op=wijmo_1.asEnum(e,Operator,!0)},enumerable:!0,configurable:!0});Object.defineProperty(FilterCondition.prototype,"value",{get:function(){return this._val},set:function(e){this._val=e;this._strVal=wijmo_1.isString(e)?this._getCaseString(e):null},enumerable:!0,configurable:!0});Object.defineProperty(FilterCondition.prototype,"isActive",{get:function(){switch(this._op){case null:return!1;case Operator.EQ:case Operator.NE:return!0;default:return null!=this._val||null!=this._strVal}},enumerable:!0,configurable:!0});FilterCondition.prototype.clear=function(){this.operator=null;this.value=null};FilterCondition.prototype.apply=function(e,t,i){var l=this._strVal||this._val;wijmo_1.isString(e)&&(e=this._getCaseString(e));wijmo_1.isString(l)&&null==e&&(e="");wijmo_1.isDate(l)&&(t?l=wijmo_1.DateTime.fromDateTime(l,FilterCondition._refDateTime):i&&(l=wijmo_1.DateTime.fromDateTime(FilterCondition._refDateTime,l)));var r=Operator;switch(this._op){case null:return!0;case r.EQ:return null!=e&&null!=l?e.valueOf()==l.valueOf():e==l;case r.NE:return null!=e&&null!=l?e.valueOf()!=l.valueOf():e!=l;case r.GT:return e>l;case r.GE:return e>=l;case r.LT:return e<l;case r.LE:return e<=l;case r.BW:return!(null==this._strVal||!wijmo_1.isString(e))&&0==e.indexOf(this._strVal);case r.EW:return!!(null!=this._strVal&&wijmo_1.isString(e)&&e.length>=this._strVal.length)&&e.substr(e.length-this._strVal.length)==l;case r.CT:return!(null==this._strVal||!wijmo_1.isString(e))&&e.indexOf(this._strVal)>-1;case r.NC:return!(null==this._strVal||!wijmo_1.isString(e))&&e.indexOf(this._strVal)<0;case r.NBW:return!(null==this._strVal||!wijmo_1.isString(e))&&0!==e.indexOf(this._strVal);case r.NEW:return!(null==this._strVal||!wijmo_1.isString(e))&&e.substring(e.length-this._strVal.length)!==l}throw"Unknown operator"};FilterCondition.prototype._getCaseString=function(e){var t=this._filter.column,i=t?t.grid:null;return i&&i.caseSensitiveSearch?e:e.toLowerCase()};FilterCondition._refDateTime=new Date(2e3,0,1,0,0,0);return FilterCondition}();exports.FilterCondition=FilterCondition;!function(e){e[e.EQ=0]="EQ";e[e.NE=1]="NE";e[e.GT=2]="GT";e[e.GE=3]="GE";e[e.LT=4]="LT";e[e.LE=5]="LE";e[e.BW=6]="BW";e[e.EW=7]="EW";e[e.CT=8]="CT";e[e.NC=9]="NC";e[e.NBW=10]="NBW";e[e.NEW=11]="NEW"}(Operator=exports.Operator||(exports.Operator={}));!function(e){e[e.Text=0]="Text";e[e.Regex=1]="Regex";e[e.Excel=2]="Excel"}(ValueFilterSearchKind=exports.ValueFilterSearchKind||(exports.ValueFilterSearchKind={}));var ValueFilter=function(){function ValueFilter(e){this._values=null;this._filterText=null;this._xValueSearch=!0;this._maxValues=250;this._uniqueValues=null;this._sortValues=!0;this._searchType=ValueFilterSearchKind.Excel;this._showIncludeSelection=!1;this._col=e}Object.defineProperty(ValueFilter.prototype,"searchType",{get:function(){return this._searchType},set:function(e){this._searchType=wijmo_1.asEnum(e,ValueFilterSearchKind)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"showValues",{get:function(){return this._values},set:function(e){this._values=e},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"filterText",{get:function(){return this._filterText},set:function(e){this._filterText=wijmo_1.asString(e)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"exclusiveValueSearch",{get:function(){return this._xValueSearch},set:function(e){if((e=wijmo_1.asBoolean(e))!==this._xValueSearch){this._xValueSearch=wijmo_1.asBoolean(e);e&&(this._filterText="")}},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"maxValues",{get:function(){return this._maxValues},set:function(e){this._maxValues=wijmo_1.asNumber(e,!1,!0)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"uniqueValues",{get:function(){return this._uniqueValues},set:function(e){this._uniqueValues=wijmo_1.asArray(e)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"sortValues",{get:function(){return this._sortValues},set:function(e){this._sortValues=wijmo_1.asBoolean(e)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"dataMap",{get:function(){return this._map},set:function(e){this._map=wijmo_1.asType(e,wijmo_grid_1.DataMap,!0)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"showIncludeSelection",{get:function(){return this._showIncludeSelection},set:function(e){e!=this._showIncludeSelection&&(this._showIncludeSelection=wijmo_1.asBoolean(e,!1))},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"column",{get:function(){return this._col},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"isActive",{get:function(){return null!=this._values&&Object.keys(this._values).length>0},enumerable:!0,configurable:!0});ValueFilter.prototype.apply=function(e){var t=this.column;if(!(t&&t._binding&&this._values&&Object.keys(this._values).length))return!0;e=t._binding.getValue(e);e=this.dataMap?this.dataMap.getDisplayValue(e)||"":t.dataMap?t.dataMap.getDisplayValue(e)||"":wijmo_1.Globalize.format(e,t.format);return null!=this._values[e]};ValueFilter.prototype.clear=function(){this.showValues=null;this.filterText=null};ValueFilter.prototype.getUniqueValues=function(e){void 0===e&&(e=!0);var t=[],i=this.column,l=wijmo_1.Globalize.format;if(this.uniqueValues){this.uniqueValues.forEach((function(e){t.push({value:e,text:l(e,i.format)})}));return t}var r={},n=i.collectionView,o=n?n.sourceCollection:[];if(e&&n&&n.sourceCollection&&n.filter)try{FlexGridFilter._skipColumn=this._col;for(var a=[],s=0;s<o.length;s++)n.filter(o[s])&&a.push(o[s]);o=a}finally{FlexGridFilter._skipColumn=null}for(s=0;s<o.length;s++){var u=i._binding.getValue(o[s]),d=this.dataMap?this.dataMap.getDisplayValue(u)||"":i.dataMap?i.dataMap.getDisplayValue(u)||"":l(u,i.format);if(!r[d]){r[d]=!0;t.push({value:u,text:d})}}return t};ValueFilter.prototype.implementsInterface=function(e){return"IColumnFilter"==e};return ValueFilter}();exports.ValueFilter=ValueFilter;var ValueFilterEditor=function(e){__extends(ValueFilterEditor,e);function ValueFilterEditor(t,i){var l=e.call(this,t)||this;l._canApply=!1;l._isFiltering=!1;l.canApplyChanged=new wijmo_1.Event;l._filter=wijmo_1.asType(i,ValueFilter,!1);var r=l.getTemplate();l.applyTemplate(wijmo_1.ControlClsNames.hostElement+" "+exports.ValueFilterEditorClsNames.hostElement,r,{_divFilter:"div-filter",_cbSelectAll:"cb-select-all",_spSelectAll:"sp-select-all",_cbIncludeSel:"cb-include-sel",_spIncludeSel:"sp-include-sel",_lblIncludeSel:"lbl-include-sel",_divOptions:"div-options",_divValues:"div-values",_divExceeds:"div-exceeds",_aExceeds:"a-exceeds"});l._cbSelectAll.tabIndex=0;l._cbIncludeSel.tabIndex=0;var n=wijmo_1.culture.FlexGridFilter;wijmo_1.setText(l._spSelectAll,n.selectAll);wijmo_1.setText(l._spIncludeSel,n.includeSelection);wijmo_1.setText(l._aExceeds,n.exceedsMaxValues);var o=l._view=new wijmo_1.CollectionView(null,{sortNulls:wijmo_1.SortNulls.First,filter:l._filterValues.bind(l)});if(i.sortValues){var a=i.column.dataMap||i.dataMap?"text":"value",s=i.column.dataType!=wijmo_1.DataType.Boolean;o.sortDescriptions.push(new wijmo_1.SortDescription(a,s))}o.collectionChanged.addHandler(l._updateSelectAllCheck,l);l._filterText="";l._rxFilter=null;l._cmbFilter=new input.ComboBox(l._divFilter,{trimText:!1,isRequired:!1,placeholder:n.search});l._cmbFilter.isEditable=!0;l._lbValues=new input.ListBox(l._divValues,{displayMemberPath:"text",checkedMemberPath:"show",itemsSource:l._view,itemFormatter:function(e,t){return t||n.null},checkedItemsChanged:function(e){return l._updateSelectAllCheck()}});wijmo_1.setAttribute(l._divValues,"aria-label",wijmo_1.culture.FlexGridFilter.ariaLabels.listBox);wijmo_1.setAriaLabel(l._cmbFilter.inputElement,n.ariaLabels.search);wijmo_1.setAttribute(l._lbValues.hostElement,"aria-multiselectable",!0);l._cmbFilter.inputElement.addEventListener("input",l._filterTextChanged.bind(l));l._cbSelectAll.addEventListener("click",l._cbSelectAllClicked.bind(l));if(!l._popup){l._initPopup();l._aExceeds&&l.addEventListener(l._aExceeds,"click",(function(e){e.preventDefault();l._popup.show(!0)}))}l.updateEditor();l._filter.showValues?l._initialItems=o.sourceCollection.filter((function(e){return l._filter.showValues[e.text||e.value]||!1})):l._initialItems=l._lbValues.checkedItems;return l}Object.defineProperty(ValueFilterEditor,"controlTemplate",{get:function(){ValueFilterEditor._ctrlTemplate||(ValueFilterEditor._ctrlTemplate='<div><div wj-part="div-filter"></div><div wj-part="div-options" class="'+input.ListBoxClsNames.listBoxItem+'"><label><input wj-part="cb-select-all" type="checkbox"> <span wj-part="sp-select-all"></span></label><br /><label wj-part="lbl-include-sel"><input wj-part="cb-include-sel" type="checkbox"> <span wj-part="sp-include-sel"></span></label></div><div wj-part="div-values"></div><div wj-part="div-exceeds"><a wj-part="a-exceeds"></a></div></div>');return ValueFilterEditor._ctrlTemplate},set:function(e){ValueFilterEditor._ctrlTemplate=e},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilterEditor.prototype,"filter",{get:function(){return this._filter},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilterEditor.prototype,"canApply",{get:function(){return this._canApply},set:function(e){if(e!=this._canApply){this._canApply=e;this.onCanApplyChanged()}},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilterEditor.prototype,"_shouldIncludeSelection",{get:function(){return this._filter.showIncludeSelection&&this._cbIncludeSel.checked},enumerable:!0,configurable:!0});ValueFilterEditor.prototype.updateEditor=function(){var e=this,t=this._filter.column,i=this._filter.getUniqueValues(!0);this._lbValues.isContentHtml=t.isContentHtml;var l=this._filter.showValues;if(l&&0!=Object.keys(l).length){for(var r in l)for(var n=0;n<i.length;n++)if(i[n].text==r){i[n].show=!0;break}}else i.forEach((function(e){return e.show=!0}));var o=this._filter.filterText||"",a=this._getCaseSensitive();this._cmbFilter.text=o;this._filterText=a?o:o.toLowerCase();this._rxFilter=this._getSearchExp(o,a);this._filter.showIncludeSelection&&!this.hostElement.contains(this._lblIncludeSel)?this._divOptions.appendChild(this._lblIncludeSel):this._filter.showIncludeSelection||this._lblIncludeSel.remove();var s=this._view;s.pageSize=this._filter.maxValues;s.sourceCollection=i;setTimeout((function(){e._adjustWidths()}),0);this._updateExceedsMaxValuesDisplay()};ValueFilterEditor.prototype.clearEditor=function(e){void 0===e&&(e=!0);this._cmbFilter.text="";this._filterText="";this._rxFilter=null;var t=this._view;t.pageSize=0;t.items.forEach((function(t){t.show=e}));t.moveCurrentTo(-1);t.refresh();t.pageSize=this._filter.maxValues};Object.defineProperty(ValueFilterEditor.prototype,"isEditorClear",{get:function(){return!this._filterText&&!this._cbSelectAll.indeterminate},enumerable:!0,configurable:!0});ValueFilterEditor.prototype._updateFilter=function(){var e=null,t=this._getItems();if(this._filterText||this._cbSelectAll.indeterminate){e=this._shouldIncludeSelection&&this._filter.showValues||{};for(var i=0;i<t.length;i++){var l=t[i];l.show&&(e[l.text]=!0)}}var r=this._filter;r.showValues=e;r.filterText=this._filterText};ValueFilterEditor.prototype.updateFilter=function(){var e=this;this._isFiltering?setTimeout((function(){e._updateFilter()}),wijmo_1.Control._SEARCH_DELAY+100):this._updateFilter()};ValueFilterEditor.prototype.onCanApplyChanged=function(e){this.canApplyChanged.raise(this,e)};ValueFilterEditor.prototype._getCaseSensitive=function(){var e=this._filter.column,t=e?e.grid:null;return t&&t.caseSensitiveSearch};ValueFilterEditor.prototype._getItems=function(){return this._filter.exclusiveValueSearch?this._view.items:this._view.sourceCollection};ValueFilterEditor.prototype._filterTextChanged=function(){var e=this;""===this._filterText&&this._cbSelectAll.checked||this._filter.exclusiveValueSearch?this._lbValues._addMode=!1:this._lbValues._addMode=!0;this._toFilter&&clearTimeout(this._toFilter);this._isFiltering=!0;this._toFilter=setTimeout((function(){var t=e._cmbFilter.text,i=e._getCaseSensitive();i||(t=t.toLowerCase());if(t!=e._filterText){e._filterText=t;e._rxFilter=e._getSearchExp(t,i);e._view.refresh();e._updateExceedsMaxValuesDisplay();if(!t){var l=e._initialItems;if(l.length&&e._view.sourceCollection.indexOf(l[0])>-1){e._lbValues.checkedItems=e._initialItems;e._updateSelectAllCheck();e._isFiltering=!1;return}}if(e._filter.exclusiveValueSearch){e._cbSelectAll.checked=!0;e._cbSelectAllClicked()}else e._updateSelectAllCheck()}e._isFiltering=!1}),wijmo_1.Control._SEARCH_DELAY)};ValueFilterEditor.prototype._getSearchExp=function(e,t){if(!e)return null;switch(this._filter.searchType){case ValueFilterSearchKind.Text:return this._getTextSearchExp(e,t);case ValueFilterSearchKind.Regex:return this._getRegexSearchExp(e,t);case ValueFilterSearchKind.Excel:return this._getExcelSearchExp(e,t)}};ValueFilterEditor.prototype._getTextSearchExp=function(e,t){return new RegExp(wijmo_1.escapeRegExp(e),t?"":"i")};ValueFilterEditor.prototype._getRegexSearchExp=function(e,t){try{return new RegExp(e,t?"s":"is")}catch(e){return new RegExp("(?!)",t?"s":"is")}};ValueFilterEditor.prototype._getExcelSearchExp=function(e,t){var i=e;i=(i=(i=(i=(i=(i=(i=(i=i.replace(/([.+^$[\]\\(){}|-])/g,"\\$1")).replace(/~~/g,"__`$0`__")).replace(/~\?/g,"__`$1`__")).replace(/~\*/g,"__`$2`__")).replace(/~(.)/g,"$1")).replace(/(\?+)/g,(function(e,t){return Array.from(t).map((function(e){return"."})).join("")}))).replace(/(\*+)/g,(function(e,t){return Array.from(t).map((function(e){return".*"})).join("")}))).replace(/__`\$(\d)`__/g,(function(e,t){switch(t){case"0":return"~";case"1":return"\\?";case"2":return"\\*"}}));/([^~]|^)[?*]/g.test(e)&&(i="^"+i+"$");("~"===e||e&&!i.length)&&(i="$a^");return new RegExp(i,t?"s":"is")};ValueFilterEditor.prototype._filterValues=function(e){var t=this._rxFilter;return null==t||null==e||t.test(e.text)};ValueFilterEditor.prototype._cbSelectAllClicked=function(){for(var e=this,t=this._cbSelectAll.checked,i=this._divValues.scrollTop,l=this._getItems(),r=0;r<l.length;r++)l[r].show=t;this._view.refresh();this._divValues.scrollTop=i;setTimeout((function(){e._adjustWidths()}),0)};ValueFilterEditor.prototype._updateSelectAllCheck=function(){for(var e=this._getItems(),t=0,i=0,l=0;l<e.length;l++){e[l].show?t++:i++;if(t&&i)break}wijmo_1.setChecked(this._cbSelectAll,t&&i?null:t>0);this.canApply=t>0};ValueFilterEditor.prototype._adjustWidths=function(){var e=this._lbValues.hostElement;if(e&&e.offsetHeight>0){var t=0,i=e.querySelectorAll("."+input.ListBoxClsNames.listBoxItem+" label");if(i.length){for(var l=0;l<i.length;l++)t=Math.max(t,i[l].scrollWidth);if(t){var r=e.querySelectorAll("."+input.ListBoxClsNames.listBoxItem);if(r.length){var n=r[0],o=getComputedStyle(n),a=parseFloat(o.paddingLeft)+parseFloat(o.paddingRight);for(l=0;l<r.length;l++)r[l].style.width=t+a+"px"}}}}};Object.defineProperty(ValueFilterEditor.prototype,"exceedsMaxValues",{get:function(){return!(!this._view||!this._view._view)&&this._view._view.length>this.filter.maxValues},enumerable:!0,configurable:!0});ValueFilterEditor.prototype._updateExceedsMaxValuesDisplay=function(){this._aExceeds.style.display=this.exceedsMaxValues?"":"none"};ValueFilterEditor.prototype._initPopup=function(){var e=document.createElement("div");e.innerHTML='<div role="dialog"><div class='+input.PopupClsNames.dialogBody+"><div class="+exports.ValueFilterEditorClsNames.customModalText+"><p>"+wijmo_1.culture.FlexGridFilter.popupBody+'</p></div></div><div class="'+input.PopupClsNames.dialogFooter+" "+exports.ValueFilterEditorClsNames.modalFooter+'" ><button class="btn btn-primary '+wijmo_1.UtilitesClsNames.hideOk+'">'+wijmo_1.culture.FlexGridFilter.popupOkButton+"</button></div></div>";this._popup=new input.Popup(e,{modal:!0,fadeIn:!0,fadeOut:!0})};ValueFilterEditor._ctrlTemplate="";return ValueFilterEditor}(wijmo_1.Control);exports.ValueFilterEditor=ValueFilterEditor;var ColumnFilter=function(){function ColumnFilter(e,t){var i=this;this._owner=e;this._col=t;this._valueFilter=new ValueFilter(t);this._valueFilter.exclusiveValueSearch=e.exclusiveValueSearch;this._valueFilter.showIncludeSelection=e.showIncludeSelection;this._conditionFilter=new ConditionFilter(t);e.exclusiveValueSearchChanged.addHandler((function(e){i._valueFilter.exclusiveValueSearch=e.exclusiveValueSearch}));e._showIncludeSelectionChanged.addHandler((function(e){i._valueFilter.showIncludeSelection=e.showIncludeSelection}))}Object.defineProperty(ColumnFilter.prototype,"filterType",{get:function(){return null!=this._filterType?this._filterType:this._owner.defaultFilterType},set:function(e){if((e=wijmo_1.asEnum(e,FilterType,!0))!=this._filterType){var t=this.isActive;this.clear();this._filterType=e;t?this._owner.apply():this._col.grid&&this._col.grid.invalidate()}},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"dataMap",{get:function(){return this.conditionFilter.dataMap||this.valueFilter.dataMap},set:function(e){this.conditionFilter.dataMap=e;this.valueFilter.dataMap=e},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"valueFilter",{get:function(){return this._valueFilter},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"conditionFilter",{get:function(){return this._conditionFilter},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"column",{get:function(){return this._col},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"isActive",{get:function(){return this._conditionFilter.isActive||this._valueFilter.isActive},enumerable:!0,configurable:!0});ColumnFilter.prototype.apply=function(e){return this._conditionFilter.apply(e)&&this._valueFilter.apply(e)};ColumnFilter.prototype.clear=function(){this._valueFilter.clear();this._conditionFilter.clear()};ColumnFilter.prototype.implementsInterface=function(e){return"IColumnFilter"==e};return ColumnFilter}();exports.ColumnFilter=ColumnFilter;wijmo_1._addCultureInfo("FlexGridFilter",{ariaLabels:{edit:"Edit Filter for Column",dialog:"Filter Editor for Column",asc:"Sort Column in Ascending Order",dsc:"Sort Column in Descending Order",search:"Search Item List",op1:"First Condition Operator",val1:"First Condition Value",and:"Require both Conditions",or:"Require either Condition",op2:"Second Condition Operator",val2:"Second Condition Value",active:"active",listBox:"List of options available for filtering"},ascending:"↑ Ascending",descending:"↓ Descending",apply:"Apply",cancel:"Cancel",clear:"Clear",conditions:"Filter by Condition",values:"Filter by Value",search:"Search",selectAll:"Select All",includeSelection:"Include Current Selection",null:"(nothing)",exceedsMaxValues:"Not all items showing",popupBody:"This column has more than 250 unique items. Only the first 250 unique items are displayed.",popupOkButton:"OK",header:"Show items where the value",and:"And",or:"Or",stringOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Does not equal",op:Operator.NE},{name:"Begins with",op:Operator.BW},{name:"Does not begin with",op:Operator.NBW},{name:"Ends with",op:Operator.EW},{name:"Does not end with",op:Operator.NEW},{name:"Contains",op:Operator.CT},{name:"Does not contain",op:Operator.NC}],numberOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Does not equal",op:Operator.NE},{name:"Is Greater than",op:Operator.GT},{name:"Is Greater than or equal to",op:Operator.GE},{name:"Is Less than",op:Operator.LT},{name:"Is Less than or equal to",op:Operator.LE}],dateOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Is Before",op:Operator.LT},{name:"Is After",op:Operator.GT}],booleanOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Does not equal",op:Operator.NE}]});var ColumnFilterEditor=function(e){__extends(ColumnFilterEditor,e);function ColumnFilterEditor(t,i,l){void 0===l&&(l=!0);var r=e.call(this,t,null,!0)||this;r.filterChanged=new wijmo_1.Event;r.buttonClicked=new wijmo_1.Event;r._filter=wijmo_1.asType(i,ColumnFilter);var n=r.getTemplate();r.applyTemplate(wijmo_1.ControlClsNames.hostElement+" "+wijmo_1.ControlClsNames.content+" "+wijmo_1.ControlClsNames.content+" "+exports.ColumnFilterEditorClsNames.hostElement,n,{_divSort:"div-sort",_btnAsc:"btn-asc",_btnDsc:"btn-dsc",_divType:"div-type",_aVal:"a-val",_aCnd:"a-cnd",_divEdtVal:"div-edt-val",_divEdtCnd:"div-edt-cnd",_btnApply:"btn-apply",_btnCancel:"btn-cancel",_btnClear:"btn-clear"});var o=wijmo_1.culture.FlexGridFilter,a=o.ariaLabels,s=r.hostElement,u=r.filter.column,d=u.grid.collectionView;wijmo_1.setAttribute(s,"role","dialog");wijmo_1.setAriaLabel(s,a.dialog+" "+u.header);wijmo_1.setAriaLabel(r._btnAsc,a.asc);wijmo_1.setAriaLabel(r._btnDsc,a.dsc);wijmo_1.setText(r._btnAsc,o.ascending);wijmo_1.setText(r._btnDsc,o.descending);wijmo_1.setText(r._aVal,o.values);wijmo_1.setText(r._aCnd,o.conditions);wijmo_1.setText(r._btnApply,o.apply);wijmo_1.setText(r._btnCancel,o.cancel);wijmo_1.setText(r._btnClear,o.clear);var c=r.filter.conditionFilter.isActive||0==(i.filterType&FilterType.Value)?FilterType.Condition:FilterType.Value;r._showFilter(c);if(!u.allowSorting){wijmo_1.enable(r._btnAsc,!1);wijmo_1.enable(r._btnDsc,!1)}l&&d&&d.canSort||(r._divSort.style.display="none");r._updateSortButtonState();var p=r._btnClicked.bind(r);r._btnApply.addEventListener("click",p);r._btnCancel.addEventListener("click",p);r._btnClear.addEventListener("click",p);r._btnAsc.addEventListener("click",p);r._btnDsc.addEventListener("click",p);r._aVal.addEventListener("click",p);r._aCnd.addEventListener("click",p);r.addEventListener(s,"keydown",(function(e){if(!e.defaultPrevented){var t=e.target.tagName.match(/^(a|button)$/i);switch(e.keyCode){case wijmo_1.Key.Space:if(t){r._btnClicked(e);e.preventDefault()}break;case wijmo_1.Key.Enter:if(t)r._btnClicked(e);else{r.updateFilter();r.onFilterChanged();r.onButtonClicked()}e.preventDefault();break;case wijmo_1.Key.Escape:r.onButtonClicked();e.preventDefault();break;case wijmo_1.Key.Tab:wijmo_1.moveFocus(r.hostElement,e.shiftKey?-1:1);e.preventDefault()}}}));r.addEventListener(window,"resize",(function(){r.isTouching||r._wasTouching||r.onButtonClicked()}));return r}Object.defineProperty(ColumnFilterEditor,"controlTemplate",{get:function(){ColumnFilterEditor._ctrlTemplate||(ColumnFilterEditor._ctrlTemplate='<div><div wj-part="div-sort" class="'+exports.ColumnFilterEditorClsNames.sortButtons+'"><button wj-part="btn-asc" class="'+wijmo_1.InputFormElementsClsNames.btn+'"></button>&nbsp;&nbsp;&nbsp;<button wj-part="btn-dsc" class="'+wijmo_1.InputFormElementsClsNames.btn+'"></button></div><div wj-part="div-type" class="'+exports.ColumnFilterEditorClsNames.filterType+'"><a wj-part="a-cnd" href="" draggable="false"></a>&nbsp;|&nbsp;<a wj-part="a-val" href="" draggable="false"></a></div><div wj-part="div-edt-val" tabindex="-1"></div><div wj-part="div-edt-cnd" tabindex="-1"></div><div style="text-align:right;margin-top:10px"><button wj-part="btn-apply" class="'+wijmo_1.InputFormElementsClsNames.btn+'"></button>&nbsp;&nbsp;<button wj-part="btn-cancel" class="'+wijmo_1.InputFormElementsClsNames.btn+'"></button>&nbsp;&nbsp;<button wj-part="btn-clear" class="'+wijmo_1.InputFormElementsClsNames.btn+'"></button></div></div>');return ColumnFilterEditor._ctrlTemplate},set:function(e){ColumnFilterEditor._ctrlTemplate=e},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilterEditor.prototype,"filter",{get:function(){return this._filter},enumerable:!0,configurable:!0});ColumnFilterEditor.prototype.updateEditor=function(){this._edtVal&&this._edtVal.updateEditor();this._edtCnd&&this._edtCnd.updateEditor()};ColumnFilterEditor.prototype.updateFilter=function(){switch(this._getFilterType()){case FilterType.Value:this._edtVal.updateFilter();this.filter.conditionFilter.clear();break;case FilterType.Condition:this._edtCnd.updateFilter();this.filter.valueFilter.clear()}};ColumnFilterEditor.prototype.onFilterChanged=function(e){this.filterChanged.raise(this,e)};ColumnFilterEditor.prototype.onButtonClicked=function(e){this.buttonClicked.raise(this,e)};ColumnFilterEditor.prototype._showFilter=function(e){var t=this;this._wasTouching=this.isTouching;if(e==FilterType.Value&&null==this._edtVal){this._edtVal=new ValueFilterEditor(this._divEdtVal,this.filter.valueFilter);this._edtVal.canApplyChanged.addHandler((function(e){wijmo_1.enable(t._btnApply,t._edtVal.canApply)}))}if(e==FilterType.Condition&&null==this._edtCnd){this._edtCnd=new ConditionFilterEditor(this._divEdtCnd,this.filter.conditionFilter);this._edtCnd.canApplyChanged.addHandler((function(e){wijmo_1.enable(t._btnApply,t._edtCnd.canApply)}))}if(0!=(e&this.filter.filterType))if(e==FilterType.Value){this._divEdtVal.style.display="";this._divEdtCnd.style.display="none";this._enableLink(this._aVal,!1);this._enableLink(this._aCnd,!0);this._edtVal.focus();this._edtVal._updateExceedsMaxValuesDisplay();wijmo_1.enable(this._btnApply,this._edtVal.canApply)}else{this._divEdtVal.style.display="none";this._divEdtCnd.style.display="";this._enableLink(this._aVal,!0);this._enableLink(this._aCnd,!1);this._edtCnd.focus();wijmo_1.enable(this._btnApply,this._edtCnd.canApply)}var i=this._divType.style;switch(this.filter.filterType){case FilterType.None:case FilterType.Condition:case FilterType.Value:i.display="none";break;default:i.display=""}};ColumnFilterEditor.prototype._enableLink=function(e,t){wijmo_1.toggleClass(e,wijmo_1.ControlStateClsNames.disabled,!t);wijmo_1.setAttribute(e,"href",t?"":null);wijmo_1.setAttribute(e,"disabled",t?null:"disabled")};ColumnFilterEditor.prototype._updateSortButtonState=function(){var e=this.filter.column,t=e?e.currentSort:"",i=wijmo_1.ControlStateClsNames.active,l=wijmo_1.culture.FlexGridFilter.ariaLabels;if("+"===t){wijmo_1.addClass(this._btnAsc,i);this._btnAsc.setAttribute("aria-label",l.asc+" "+l.active)}else if("-"===t){wijmo_1.addClass(this._btnDsc,i);this._btnDsc.setAttribute("aria-label",l.dsc+" "+l.active)}};ColumnFilterEditor.prototype._getFilterType=function(){var e=FilterType;return"none"!=this._divEdtVal.style.display?e.Value:e.Condition};ColumnFilterEditor.prototype._btnClicked=function(e){var t=this,i=e.target;e.preventDefault();e.stopPropagation();if(!wijmo_1.hasClass(i,wijmo_1.ControlStateClsNames.disabled))if(i!=this._aVal)if(i!=this._aCnd){if(i==this._btnAsc||i==this._btnDsc){var l=this.filter.column,r=l.sortMemberPath||l.binding,n=l.grid.collectionView.sortDescriptions;n.deferUpdate((function(){n.clear();n.push(new wijmo_1.SortDescription(r,e.target==t._btnAsc))}));this._updateSortButtonState()}if(i==this._btnApply){this.updateFilter();this.onFilterChanged()}else if(i==this._btnClear){if(this.filter.isActive){this.filter.clear();this.onFilterChanged()}}else this.updateEditor();this.onButtonClicked()}else{this._showFilter(FilterType.Condition);wijmo_1.moveFocus(this._edtCnd.hostElement,0)}else{this._showFilter(FilterType.Value);wijmo_1.moveFocus(this._edtVal.hostElement,0)}};ColumnFilterEditor._ctrlTemplate="";return ColumnFilterEditor}(wijmo_1.Control);exports.ColumnFilterEditor=ColumnFilterEditor;wijmo_1._registerModule("wijmo.grid.filter",selfModule);
14
+ "use strict";var __extends=this&&this.__extends||function(){var extendStatics=function(e,t){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)};return function(e,t){extendStatics(e,t);function __(){this.constructor=e}e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)}}(),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);t.default=e;return t};Object.defineProperty(exports,"__esModule",{value:!0});var FilterType,wijmo_grid_1=require("@grapecity/wijmo.grid"),wijmo_1=require("@grapecity/wijmo"),wijmo_input_1=require("@grapecity/wijmo.input"),input=__importStar(require("@grapecity/wijmo.input")),selfModule=__importStar(require("@grapecity/wijmo.grid.filter"));exports.ColumnFilterEditorClsNames={filterType:"wj-filtertype",hostElement:"wj-columnfiltereditor",sortButtons:"wj-sort-buttons"};exports.ConditionFilterEditorClsNames={hostElement:"wj-conditionfilter-editor"};exports.FlexGridFilterClsNames={elemFilter:"wj-elem-filter",filter:"wj-filter",filterOff:"wj-filter-off",filterOn:"wj-filter-on",hostElement:"wj-columnfiltereditor"};exports.ValueFilterEditorClsNames={hostElement:"wj-valuefilter-editor",customModalText:"wj-custom-modal-text",modalFooter:"wj-valuefilter-modal-footer"};!function(e){e[e.None=0]="None";e[e.Condition=1]="Condition";e[e.Value=2]="Value";e[e.Both=3]="Both"}(FilterType=exports.FilterType||(exports.FilterType={}));var FlexGridFilter=function(){function FlexGridFilter(e,t){this._showIcons=!0;this._showSort=!0;this._defFilterType=FilterType.Both;this._xValueSearch=!0;this._includeUpdatedRowsInFilter=!1;this._showIncludeSelection=!1;this.filterApplied=new wijmo_1.Event;this.editingFilter=new wijmo_1.Event;this.filterChanging=new wijmo_1.Event;this.filterChanged=new wijmo_1.Event;this.exclusiveValueSearchChanged=new wijmo_1.Event;this._showIncludeSelectionChanged=new wijmo_1.Event;this._filters=[];this._g=wijmo_1.asType(e,wijmo_grid_1.FlexGrid,!1);this._g.formatItem.addHandler(this._formatItem.bind(this));this._g.itemsSourceChanged.addHandler(this.clear.bind(this));var i=this._g.hostElement;e.addEventListener(i,"mousedown",this._mousedown.bind(this),!0);e.addEventListener(i,"click",this._click.bind(this),!0);e.addEventListener(i,"keydown",this._keydown.bind(this),!0);this._g.invalidate();wijmo_1.copy(this,t);this._init()}FlexGridFilter.prototype._init=function(){var e=this,t=this.grid,_excludeRowFromFilter=function(t){var i=e.grid,l=e.excludedRowsSet;if(null!=i&&i.rows.length>t)if(i.itemsSource)if(i.rows[t]instanceof wijmo_grid_1._NewRowTemplate){var r=i.editableCollectionView.currentAddItem||i.rows[t].dataItem;r&&l.add(r)}else i.rows[t].dataItem&&l.add(i.rows[t].dataItem);else i.rows[t]&&l.add(i.rows[t])};t.rowChanged&&t.rowChanged.addHandler((function(e,t){t.added&&_excludeRowFromFilter(t.index)}));t.rowEditEnding.addHandler((function(e,t){_excludeRowFromFilter(t.row)}));t.cellEditEnded.addHandler((function(e,t){_excludeRowFromFilter(t.row)}))};Object.defineProperty(FlexGridFilter.prototype,"excludedRowsSet",{get:function(){var e=this.grid;e.selectedSheet&&(e=e.selectedSheet);e._newAddedRowsSet||(e._newAddedRowsSet=new WeakSet);return e._newAddedRowsSet},set:function(e){var t=this.grid;t.selectedSheet&&(t=t.selectedSheet);t._newAddedRowsSet=e},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"grid",{get:function(){return this._g},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"filterColumns",{get:function(){return this._filterColumns},set:function(e){this._filterColumns=wijmo_1.asArray(e);this.clear()},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"showFilterIcons",{get:function(){return this._showIcons},set:function(e){if(e!=this.showFilterIcons){this._showIcons=wijmo_1.asBoolean(e);this._g&&this._g.invalidate()}},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"showSortButtons",{get:function(){return this._showSort},set:function(e){this._showSort=wijmo_1.asBoolean(e)},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"reApplyFilterOnUpdate",{get:function(){return this._includeUpdatedRowsInFilter},set:function(e){e!==this._includeUpdatedRowsInFilter&&(this._includeUpdatedRowsInFilter=wijmo_1.asBoolean(e))},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"showIncludeSelection",{get:function(){return this._showIncludeSelection},set:function(e){if(e!=this._showIncludeSelection){this._showIncludeSelection=wijmo_1.asBoolean(e,!1);this._onShowIncludeSelectionChanged()}},enumerable:!0,configurable:!0});FlexGridFilter.prototype.getColumnFilter=function(e,t){void 0===t&&(t=!0);if(e=this._asColumn(e)){for(var i=0;i<this._filters.length;i++)if(this._filters[i].column==e)return this._filters[i];if(t&&e.binding){var l=new ColumnFilter(this,e);this._filters.push(l);return l}}return null};Object.defineProperty(FlexGridFilter.prototype,"defaultFilterType",{get:function(){return this._defFilterType},set:function(e){if((e=wijmo_1.asEnum(e,FilterType,!1))!=this.defaultFilterType){this._defFilterType=e;this._g.invalidate();this.clear()}},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"exclusiveValueSearch",{get:function(){return this._xValueSearch},set:function(e){if((e=wijmo_1.asBoolean(e))!==this._xValueSearch){this._xValueSearch=e;this.onExclusiveValueSearchChanged()}},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"filterDefinition",{get:function(){var e=this,t={defaultFilterType:this.defaultFilterType,filters:[]};this._filters.forEach((function(i){var l=i.conditionFilter,r=i.valueFilter,n=r.uniqueValues&&r.uniqueValues.length;if(i&&i.column&&i.column.binding&&(i.isActive||n||i.filterType!=e.defaultFilterType)){var o={binding:i.column.binding};if(l.isActive){var a=l.condition1,s=l.condition2;o={binding:i.column.binding,type:"condition",condition1:{operator:a.operator,value:a.value},and:l.and,condition2:{operator:s.operator,value:s.value}}}else(r.isActive||n)&&(o={binding:i.column.binding,type:"value",uniqueValues:r.uniqueValues,sortValues:r.sortValues,maxValues:r.maxValues,exclusiveValueSearch:r.exclusiveValueSearch,showValues:r.showValues});i.filterType!=e.defaultFilterType&&(o.filterType=i.filterType);t.filters.push(o)}}));return JSON.stringify(t)},set:function(e){e=wijmo_1.asString(e);this.clear();if(e){var t=JSON.parse(e);this.defaultFilterType=t.defaultFilterType;for(var _loop_1=function(e){var l=t.filters[e],r=i._asColumn(l.binding);r||(r=new wijmo_grid_1.Column({binding:l.binding}));var n=i.getColumnFilter(r,!0);if(n){null!=l.filterType&&(n.filterType=wijmo_1.asEnum(l.filterType,FilterType));switch(l.type){case"condition":var o=n.conditionFilter;o.condition1.value=r.dataType==wijmo_1.DataType.Date?wijmo_1.changeType(l.condition1.value,r.dataType,null):l.condition1.value;o.condition1.operator=l.condition1.operator;o.and=l.and;o.condition2.value=r.dataType==wijmo_1.DataType.Date?wijmo_1.changeType(l.condition2.value,r.dataType,null):l.condition2.value;o.condition2.operator=l.condition2.operator;break;case"value":var a=n.valueFilter;a.uniqueValues=l.uniqueValues;["sortValues","maxValues","exclusiveValueSearch"].forEach((function(e){null!=l[e]&&(a[e]=l[e])}));a.showValues=l.showValues}}},i=this,l=0;l<t.filters.length;l++)_loop_1(l)}this.apply()},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"activeEditor",{get:function(){return wijmo_1.Control.getControl(this._divEdt)},enumerable:!0,configurable:!0});FlexGridFilter.prototype.editColumnFilter=function(e,t,i){var l=this,r=this._g;this.closeEditor();e=this._asColumn(e);var n=new wijmo_grid_1.CellRangeEventArgs(r.cells,new wijmo_grid_1.CellRange(-1,e.index));if(this.onEditingFilter(n)){var o=wijmo_1.createElement('<div class="'+wijmo_input_1.DropDownClsNames.dropDownPanel+'"></div>'),a=this.getColumnFilter(e),s=new ColumnFilterEditor(o,a,this.showSortButtons);this._divEdt=o;this._edtCol=e;r.rightToLeft&&(o.dir="rtl");if(this.onFilterChanging(n)){n.cancel=!0;s.filterChanged.addHandler((function(){n.cancel=!1;setTimeout((function(){n.cancel||l.apply()}),s._edtVal&&s._edtVal._isFiltering?wijmo_1.Control._SEARCH_DELAY+200:0)}));s.buttonClicked.addHandler((function(){l.closeEditor();r.focus();l.onFilterChanged(n)}));s.lostFocus.addHandler((function(){setTimeout((function(){var e=wijmo_1.Control.getControl(l._divEdt);e&&!e.containsFocus()&&l.closeEditor()}),10)}));var u=t?t.col:e.index,d=r.columns[u];t||d&&d.binding==e.binding||(u=r.selection.leftCol);r._edtHdl._commitRowEdits();r.scrollIntoView(-1,u,!0);var c=r.columnHeaders,p=t&&t.panel&&c&&t.panel._uid==c._uid?t.row:c.rows.length-1,_=u,h=i||c.getCellElement(p,_),m=h?null:c.getCellBoundingRect(p,_);h?wijmo_1.showPopup(o,h,!1,!1,!1):wijmo_1.showPopup(o,m);this._setAriaExpanded(h,!0);this._setAriaExpanded(r.cells.getCellElement(-1,_),!0);for(var f=s.hostElement.querySelectorAll("input"),b=0;b<f.length;b++){var v=f[b];if(v.offsetHeight>0&&v.tabIndex>-1&&!v.disabled){v.focus();break}}s.containsFocus()||s.focus()}else this._divEdt=this._edtCol=null}};FlexGridFilter.prototype._setAriaExpanded=function(e,t){if(e){var i=e.querySelector("."+FlexGridFilter._WJC_FILTER);wijmo_1.setAttribute(i,"aria-expanded",t)}};FlexGridFilter.prototype.closeEditor=function(){var e=this._g,t=wijmo_1.Control.getControl(this._divEdt),i=this._edtCol;t&&wijmo_1.hidePopup(t.hostElement,(function(){t.dispose()}));if(i){var l=e.columnHeaders,r=l.rows.length?l.getCellElement(l.rows.length-1,i.index):null;this._setAriaExpanded(r,!1);r=e.cells.getCellElement(-1,i.index);this._setAriaExpanded(r,!1)}this._divEdt=null;this._edtCol=null};FlexGridFilter.prototype.apply=function(){var e=this._g.collectionView;if(e){var t=this._g.editableCollectionView;if(t){t.commitEdit();t.commitNew()}this.excludedRowsSet=null;e.filter=this._filter.bind(this)}var i=e?e.updateFilterDefinition:null;wijmo_1.isFunction(i)&&i.call(e,this);this.onFilterApplied()};FlexGridFilter.prototype.clear=function(){if(this._filters.length){this._filters=[];this.apply()}};FlexGridFilter.prototype.onFilterApplied=function(e){this.filterApplied.raise(this,e)};FlexGridFilter.prototype.onEditingFilter=function(e){this.editingFilter.raise(this,e);return!e.cancel};FlexGridFilter.prototype.onFilterChanging=function(e){this.filterChanging.raise(this,e);return!e.cancel};FlexGridFilter.prototype.onFilterChanged=function(e){this.filterChanged.raise(this,e)};FlexGridFilter.prototype.onExclusiveValueSearchChanged=function(e){this.exclusiveValueSearchChanged.raise(this,e)};FlexGridFilter.prototype._onShowIncludeSelectionChanged=function(e){this._showIncludeSelectionChanged.raise(this,e)};FlexGridFilter.prototype._asColumn=function(e){return wijmo_1.isString(e)?this._g.getColumn(e,!0):wijmo_1.isNumber(e)?this._g.columns[e]:wijmo_1.asType(e,wijmo_grid_1.Column,!1)};FlexGridFilter.prototype._filter=function(e){var t=this.excludedRowsSet;if(!this.reApplyFilterOnUpdate&&t.has(e))return!0;for(var i=this._filters,l=0;l<i.length;l++){var r=i[l];if(r.column!=FlexGridFilter._skipColumn&&!r.apply(e))return!1}return!0};FlexGridFilter.prototype._formatItem=function(e,t){if(t.panel==e.columnHeaders){var i=this._g,l=i.getMergedRange(t.panel,t.row,t.col)||new wijmo_grid_1.CellRange(t.row,t.col),r=i.columns[l.col],n=i._getBindingColumn(t.panel,t.row,r),o=t.cell;if(l.row2==t.panel.rows.length-1||r!=n){var a=this.getColumnFilter(n,this.defaultFilterType!=FilterType.None),s=this._filterColumns;s&&s.length&&s.indexOf(n.binding)<0&&s.indexOf(n.name)<0&&(a=null);if(a){wijmo_1.toggleClass(o,exports.FlexGridFilterClsNames.filterOn,a.isActive);wijmo_1.toggleClass(o,exports.FlexGridFilterClsNames.filterOff,!a.isActive)}else{wijmo_1.removeClass(o,exports.FlexGridFilterClsNames.filterOn);wijmo_1.removeClass(o,exports.FlexGridFilterClsNames.filterOff)}if(a&&a.filterType!=FilterType.None){this._showIcons&&this._addFilterButton(n,a,o);0==t.row&&(o=i.cells.getCellElement(-1,t.col))&&this._addFilterButton(r,a,o)}}}};FlexGridFilter.prototype._addFilterButton=function(e,t,i){var l=FlexGridFilter._WJC_FILTER,r=wijmo_1.createElement('<button class="'+wijmo_1.InputFormElementsClsNames.btn+" "+wijmo_1.GlyphClsNames.btnGlyph+" "+wijmo_1.UtilitesClsNames.right+" "+l+'" type="button" tabindex="-1"><span class='+wijmo_1.GlyphClsNames.filter+"></span></button>");wijmo_1.setAriaLabel(r,wijmo_1.culture.FlexGridFilter.ariaLabels.edit+" "+e.header);wijmo_1.setAttribute(r,"aria-haspopup","dialog");wijmo_1.setAttribute(r,"aria-expanded",!1);wijmo_1.setAttribute(r,"aria-describedby",e.describedById);wijmo_1.setAttribute(r,"aria-pressed",t.isActive);if(!i.querySelector("."+l)){1==i.children.length&&(i=i.querySelector("div")||i);i.insertBefore(r,i.firstChild)}};FlexGridFilter.prototype._mousedown=function(e){this._edtColPrev=this._edtCol};FlexGridFilter.prototype._click=function(e){if(this._toggleEditor(e)){e.stopPropagation();e.preventDefault()}};FlexGridFilter.prototype._toggleEditor=function(e){var t=this;if(!e.defaultPrevented&&0==e.button)if(wijmo_1.closestClass(e.target,FlexGridFilter._WJC_FILTER)){var i=this._g,l=i.hitTest(e.target);l.panel||(l=i.hitTest(e));if(l.panel&&i.columnHeaders&&i.cells&&(l.panel._uid==i.columnHeaders._uid||l.panel._uid==i.cells._uid&&-1==l.row)){var r=i.getMergedRange(l.panel,l.row,l.col)||new wijmo_grid_1.CellRange(l.row,l.col),n=i.columns[r.col],o=i._getBindingColumn(l.panel,l.row,n);if(this._divEdt&&this._edtCol==o){this.closeEditor();i.focus()}else o!=this._edtColPrev&&setTimeout((function(){t.editColumnFilter(o,l)}),this._divEdt?100:0);return!0}}else this.closeEditor();return!1};FlexGridFilter.prototype._keydown=function(e){if(!e.defaultPrevented&&!e.ctrlKey&&e.altKey&&(e.keyCode==wijmo_1.Key.Down||e.keyCode==wijmo_1.Key.Up)){var t=this.grid,i=t.selection,l=i.col>-1?t.columns[i.col]:null,r=l?t._getBindingColumn(t.cells,i.row,l):null,n=r&&r.dataMap&&r.dataMapEditor==wijmo_grid_1.DataMapEditor.DropDownList;if(this.filterColumns&&this.filterColumns.length>0&&!this.filterColumns.includes(r._binding._path)){e.preventDefault();return!1}if(t.activePanelType!=wijmo_grid_1.CellType.Cell&&t.activePanelType!=wijmo_grid_1.CellType.ColumnHeader){e.preventDefault();return!1}r&&r.editor instanceof wijmo_input_1.DropDown&&(n=!0);if(r&&!n){var o=this.getColumnFilter(r,!1);if(o&&o.filterType!=FilterType.None){this.editColumnFilter(r);e.preventDefault();e.stopPropagation()}}}};FlexGridFilter._WJC_FILTER=exports.FlexGridFilterClsNames.elemFilter;return FlexGridFilter}();exports.FlexGridFilter=FlexGridFilter;exports.empty={};var ConditionFilter=function(){function ConditionFilter(e){this._c1=new FilterCondition(this);this._c2=new FilterCondition(this);this._and=!0;this._col=e}Object.defineProperty(ConditionFilter.prototype,"condition1",{get:function(){return this._c1},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilter.prototype,"condition2",{get:function(){return this._c2},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilter.prototype,"and",{get:function(){return this._and},set:function(e){this._and=wijmo_1.asBoolean(e)},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilter.prototype,"dataMap",{get:function(){return this._map},set:function(e){this._map=wijmo_1.asType(e,wijmo_grid_1.DataMap,!0)},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilter.prototype,"column",{get:function(){return this._col},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilter.prototype,"isActive",{get:function(){return this._c1.isActive||this._c2.isActive},enumerable:!0,configurable:!0});ConditionFilter.prototype.apply=function(e){var t=this._col,i=this._c1,l=this._c2,r=!1,n=!1;if(!t||!t._binding||!this.isActive)return!0;e=t._binding.getValue(e);var o=this.dataMap||t.dataMap;if(o)e=o.getDisplayValue(e);else if(wijmo_1.isDate(e)){r=!this._hasTimePart();n=!this._hasDatePart();var a=FilterCondition._refDateTime;r?e=wijmo_1.DateTime.fromDateTime(e,a):n&&(e=wijmo_1.DateTime.fromDateTime(a,e))}else if(wijmo_1.isNumber(e)){var s=wijmo_1.Globalize,u=t.format,d=s.formatNumber(e,u);e=s.parseFloat(d,u)}var c=i.apply(e,r,n),p=l.apply(e,r,n);return i.isActive&&l.isActive?this._and?c&&p:c||p:i.isActive?c:!l.isActive||p};ConditionFilter.prototype.clear=function(){this._c1.clear();this._c2.clear();this.and=!0};ConditionFilter.prototype._hasDatePart=function(){var e=this._col.format;if(!e)return!0;e=wijmo_1.culture.Globalize.calendar.patterns[e]||e;return/[yMd]+/.test(e)};ConditionFilter.prototype._hasTimePart=function(){var e=this._col.format;if(!e)return!1;e=wijmo_1.culture.Globalize.calendar.patterns[e]||e;return/[Hmst]+/.test(e)};ConditionFilter.prototype.implementsInterface=function(e){return"IColumnFilter"==e};return ConditionFilter}();exports.ConditionFilter=ConditionFilter;var ConditionFilterEditor=function(e){__extends(ConditionFilterEditor,e);function ConditionFilterEditor(t,i){var l=e.call(this,t)||this;l._canApply=!1;l.canApplyChanged=new wijmo_1.Event;l._filter=wijmo_1.asType(i,ConditionFilter,!1);var r=l.getTemplate();l.applyTemplate(wijmo_1.ControlClsNames.hostElement+" "+exports.ConditionFilterEditorClsNames.hostElement,r,{_divHdr:"div-hdr",_divCmb1:"div-cmb1",_divVal1:"div-val1",_btnAnd:"btn-and",_btnOr:"btn-or",_spAnd:"sp-and",_spOr:"sp-or",_divCmb2:"div-cmb2",_divVal2:"div-val2"});var n=wijmo_1.culture.FlexGridFilter,o=n.ariaLabels;wijmo_1.setAriaLabel(l._btnAnd,o.and);wijmo_1.setAriaLabel(l._btnOr,o.or);wijmo_1.setText(l._divHdr,n.header);wijmo_1.setText(l._spAnd,n.and);wijmo_1.setText(l._spOr,n.or);var a=wijmo_1.getUniqueId("cmb1");l._divHdr.htmlFor=a;l._divCmb1.id=a;l._cmb1=l._createOperatorCombo(l._divCmb1,o.op1);l._cmb2=l._createOperatorCombo(l._divCmb2,o.op2);l._val1=l._createValueInput(l._divVal1,o.val1);l._val2=l._createValueInput(l._divVal2,o.val2);l._val1.isDisabled=!0;l._cmb1.selectedIndexChanged.addHandler((function(e,t){l._val1.isDisabled=null==e.selectedValue;l.canApply=!l._val1.isDisabled||!l._val2.isDisabled}));l._val2.isDisabled=!0;l._cmb2.selectedIndexChanged.addHandler((function(e,t){l._val2.isDisabled=null==e.selectedValue;l.canApply=!l._val1.isDisabled||!l._val2.isDisabled}));var s=l.hostElement;l.addEventListener(s,"change",l._btnAndOrChanged.bind(l));l.addEventListener(s,"keydown",l._keydown.bind(l));setTimeout((function(){l.updateEditor()}));return l}Object.defineProperty(ConditionFilterEditor,"controlTemplate",{get:function(){ConditionFilterEditor._ctrlTemplate||(ConditionFilterEditor._ctrlTemplate='<div><label wj-part="div-hdr"></label><div wj-part="div-cmb1"></div><br/><div wj-part="div-val1"></div><br/><div role="radiogroup" style="text-align:center"><label><input wj-part="btn-and" type="radio" role="radio"> <span wj-part="sp-and"></span> </label>&nbsp;&nbsp;&nbsp;<label><input wj-part="btn-or" type="radio" role="radio"> <span wj-part="sp-or"></span> </label></div><div wj-part="div-cmb2"></div><br/><div wj-part="div-val2"></div><br/></div>');return ConditionFilterEditor._ctrlTemplate},set:function(e){ConditionFilterEditor._ctrlTemplate=e},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilterEditor.prototype,"filter",{get:function(){return this._filter},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilterEditor.prototype,"canApply",{get:function(){return this._canApply},set:function(e){if(e!=this._canApply){this._canApply=e;this.onCanApplyChanged()}},enumerable:!0,configurable:!0});ConditionFilterEditor.prototype.updateEditor=function(){var e=this._filter.condition1,t=this._filter.condition2;this._cmb1.selectedValue=e.operator;this._cmb2.selectedValue=t.operator;if(this._val1 instanceof input.ComboBox&&!(this._val1 instanceof input.InputTime)){this._val1.text=wijmo_1.changeType(e.value,wijmo_1.DataType.String);this._val2.text=wijmo_1.changeType(t.value,wijmo_1.DataType.String)}else{this._val1.value=e.value;this._val2.value=t.value}var i=this._filter.and;this._checkRadio(this._btnAnd,i);this._checkRadio(this._btnOr,!i)};ConditionFilterEditor.prototype.clearEditor=function(){this._cmb1.selectedValue=this._cmb2.selectedValue=null;this._val1.text=this._val2.text=null;this._checkRadio(this._btnAnd,!0);this._checkRadio(this._btnOr,!1)};Object.defineProperty(ConditionFilterEditor.prototype,"isEditorClear",{get:function(){return null==this._cmb1.selectedValue&&!this._val1.text&&null==this._cmb2.selectedValue&&!this._val2.text},enumerable:!0,configurable:!0});ConditionFilterEditor.prototype.updateFilter=function(){var e=this._filter.condition1,t=this._filter.condition2;e.operator=this._cmb1.selectedValue;t.operator=this._cmb2.selectedValue;if("value"in this._val1){e.value=this._val1.value;t.value=this._val2.value}else{e.value=this._getComboValue(this._val1);t.value=this._getComboValue(this._val2)}this._filter.and=this._btnAnd.checked};ConditionFilterEditor.prototype.onCanApplyChanged=function(e){this.canApplyChanged.raise(this,e)};ConditionFilterEditor.prototype._getComboValue=function(e){return e.selectedIndex>-1?e.selectedValue:e.text};ConditionFilterEditor.prototype._createOperatorCombo=function(e,t){var i=this._filter.column,l=wijmo_1.culture.FlexGridFilter,r=l.stringOperators,n=wijmo_1.DataType;this._filter.dataMap||i.dataMap||(i.dataType==n.Date?r=l.dateOperators:i.dataType==n.Number?r=l.numberOperators:i.dataType==n.Boolean&&(r=l.booleanOperators));var o=new input.ComboBox(e,{itemsSource:r,displayMemberPath:"name",selectedValuePath:"op"});wijmo_1.setAriaLabel(o.inputElement,t);return o};ConditionFilterEditor.prototype._createValueInput=function(e,t){var i=this._filter,l=i.column,r=i.dataMap||l.dataMap,n=null,o=wijmo_1.DataType;if(l.dataType==o.Date)(n=i._hasDatePart()?i._hasTimePart()?new input.InputDateTime(e):new input.InputDate(e):new input.InputTime(e)).format=l.format;else if(l.dataType!=o.Number||r){(n=new input.ComboBox(e)).isEditable=!0;n.trimText=!1;if(r){n.itemsSource=r.getDisplayValues();n.caseSensitiveSearch=!!l.grid&&l.grid.caseSensitiveSearch}else l.dataType==o.Boolean&&(n.itemsSource=[!0,!1])}else(n=new input.InputNumber(e)).format=l.format;n.isRequired=!1;wijmo_1.setAriaLabel(n.inputElement,t);return n};ConditionFilterEditor.prototype._btnAndOrChanged=function(e){var t=e.target==this._btnAnd,i=e.target==this._btnOr;if(t||i){this._checkRadio(this._btnAnd,t);this._checkRadio(this._btnOr,i)}};ConditionFilterEditor.prototype._checkRadio=function(e,t){e.checked=t;wijmo_1.setAttribute(e,"aria-checked",t.toString());wijmo_1.setAttribute(e,"tabindex",t?null:"-1")};ConditionFilterEditor.prototype._keydown=function(e){var t=e.target==this._btnAnd,i=e.target==this._btnOr;if(t||i)switch(e.keyCode){case wijmo_1.Key.Left:case wijmo_1.Key.Right:case wijmo_1.Key.Up:case wijmo_1.Key.Down:var l=t?this._btnOr:this._btnAnd;l.click();l.focus();e.preventDefault()}};ConditionFilterEditor._ctrlTemplate="";return ConditionFilterEditor}(wijmo_1.Control);exports.ConditionFilterEditor=ConditionFilterEditor;var Operator,ValueFilterSearchKind,FilterCondition=function(){function FilterCondition(e){this._op=null;this._filter=e}Object.defineProperty(FilterCondition.prototype,"operator",{get:function(){return this._op},set:function(e){this._op=wijmo_1.asEnum(e,Operator,!0)},enumerable:!0,configurable:!0});Object.defineProperty(FilterCondition.prototype,"value",{get:function(){return this._val},set:function(e){this._val=e;this._strVal=wijmo_1.isString(e)?this._getCaseString(e):null},enumerable:!0,configurable:!0});Object.defineProperty(FilterCondition.prototype,"isActive",{get:function(){switch(this._op){case null:return!1;case Operator.EQ:case Operator.NE:return!0;default:return null!=this._val||null!=this._strVal}},enumerable:!0,configurable:!0});FilterCondition.prototype.clear=function(){this.operator=null;this.value=null};FilterCondition.prototype.apply=function(e,t,i){var l=this._strVal||this._val;wijmo_1.isString(e)&&(e=this._getCaseString(e));wijmo_1.isString(l)&&null==e&&(e="");wijmo_1.isDate(l)&&(t?l=wijmo_1.DateTime.fromDateTime(l,FilterCondition._refDateTime):i&&(l=wijmo_1.DateTime.fromDateTime(FilterCondition._refDateTime,l)));var r=Operator;switch(this._op){case null:return!0;case r.EQ:return null!=e&&null!=l?e.valueOf()==l.valueOf():e==l;case r.NE:return null!=e&&null!=l?e.valueOf()!=l.valueOf():e!=l;case r.GT:return e>l;case r.GE:return e>=l;case r.LT:return e<l;case r.LE:return e<=l;case r.BW:return!(null==this._strVal||!wijmo_1.isString(e))&&0==e.indexOf(this._strVal);case r.EW:return!!(null!=this._strVal&&wijmo_1.isString(e)&&e.length>=this._strVal.length)&&e.substr(e.length-this._strVal.length)==l;case r.CT:return!(null==this._strVal||!wijmo_1.isString(e))&&e.indexOf(this._strVal)>-1;case r.NC:return!(null==this._strVal||!wijmo_1.isString(e))&&e.indexOf(this._strVal)<0;case r.NBW:return!(null==this._strVal||!wijmo_1.isString(e))&&0!==e.indexOf(this._strVal);case r.NEW:return!(null==this._strVal||!wijmo_1.isString(e))&&e.substring(e.length-this._strVal.length)!==l}throw"Unknown operator"};FilterCondition.prototype._getCaseString=function(e){var t=this._filter.column,i=t?t.grid:null;return i&&i.caseSensitiveSearch?e:e.toLowerCase()};FilterCondition._refDateTime=new Date(2e3,0,1,0,0,0);return FilterCondition}();exports.FilterCondition=FilterCondition;!function(e){e[e.EQ=0]="EQ";e[e.NE=1]="NE";e[e.GT=2]="GT";e[e.GE=3]="GE";e[e.LT=4]="LT";e[e.LE=5]="LE";e[e.BW=6]="BW";e[e.EW=7]="EW";e[e.CT=8]="CT";e[e.NC=9]="NC";e[e.NBW=10]="NBW";e[e.NEW=11]="NEW"}(Operator=exports.Operator||(exports.Operator={}));!function(e){e[e.Text=0]="Text";e[e.Regex=1]="Regex";e[e.Excel=2]="Excel"}(ValueFilterSearchKind=exports.ValueFilterSearchKind||(exports.ValueFilterSearchKind={}));var ValueFilter=function(){function ValueFilter(e){this._values=null;this._filterText=null;this._xValueSearch=!0;this._maxValues=250;this._uniqueValues=null;this._sortValues=!0;this._searchType=ValueFilterSearchKind.Excel;this._showIncludeSelection=!1;this._col=e}Object.defineProperty(ValueFilter.prototype,"searchType",{get:function(){return this._searchType},set:function(e){this._searchType=wijmo_1.asEnum(e,ValueFilterSearchKind)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"showValues",{get:function(){return this._values},set:function(e){this._values=e},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"filterText",{get:function(){return this._filterText},set:function(e){this._filterText=wijmo_1.asString(e)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"exclusiveValueSearch",{get:function(){return this._xValueSearch},set:function(e){if((e=wijmo_1.asBoolean(e))!==this._xValueSearch){this._xValueSearch=wijmo_1.asBoolean(e);e&&(this._filterText="")}},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"maxValues",{get:function(){return this._maxValues},set:function(e){this._maxValues=wijmo_1.asNumber(e,!1,!0)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"uniqueValues",{get:function(){return this._uniqueValues},set:function(e){this._uniqueValues=wijmo_1.asArray(e)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"sortValues",{get:function(){return this._sortValues},set:function(e){this._sortValues=wijmo_1.asBoolean(e)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"dataMap",{get:function(){return this._map},set:function(e){this._map=wijmo_1.asType(e,wijmo_grid_1.DataMap,!0)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"showIncludeSelection",{get:function(){return this._showIncludeSelection},set:function(e){e!=this._showIncludeSelection&&(this._showIncludeSelection=wijmo_1.asBoolean(e,!1))},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"column",{get:function(){return this._col},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"isActive",{get:function(){return null!=this._values&&Object.keys(this._values).length>0},enumerable:!0,configurable:!0});ValueFilter.prototype.apply=function(e){var t=this.column;if(!(t&&t._binding&&this._values&&Object.keys(this._values).length))return!0;e=t._binding.getValue(e);e=this.dataMap?this.dataMap.getDisplayValue(e)||"":t.dataMap?t.dataMap.getDisplayValue(e)||"":wijmo_1.Globalize.format(e,t.format);return null!=this._values[e]};ValueFilter.prototype.clear=function(){this.showValues=null;this.filterText=null};ValueFilter.prototype.getUniqueValues=function(e){void 0===e&&(e=!0);var t=[],i=this.column,l=wijmo_1.Globalize.format;if(this.uniqueValues){this.uniqueValues.forEach((function(e){t.push({value:e,text:l(e,i.format)})}));return t}var r={},n=i.collectionView,o=n?n.sourceCollection:[];if(e&&n&&n.sourceCollection&&n.filter)try{FlexGridFilter._skipColumn=this._col;for(var a=[],s=0;s<o.length;s++)n.filter(o[s])&&a.push(o[s]);o=a}finally{FlexGridFilter._skipColumn=null}for(s=0;s<o.length;s++){var u=i._binding.getValue(o[s]),d=this.dataMap?this.dataMap.getDisplayValue(u)||"":i.dataMap?i.dataMap.getDisplayValue(u)||"":l(u,i.format);if(!r[d]){r[d]=!0;t.push({value:u,text:d})}}return t};ValueFilter.prototype.implementsInterface=function(e){return"IColumnFilter"==e};return ValueFilter}();exports.ValueFilter=ValueFilter;var ValueFilterEditor=function(e){__extends(ValueFilterEditor,e);function ValueFilterEditor(t,i){var l=e.call(this,t)||this;l._canApply=!1;l._isFiltering=!1;l.canApplyChanged=new wijmo_1.Event;l._filter=wijmo_1.asType(i,ValueFilter,!1);var r=l.getTemplate();l.applyTemplate(wijmo_1.ControlClsNames.hostElement+" "+exports.ValueFilterEditorClsNames.hostElement,r,{_divFilter:"div-filter",_cbSelectAll:"cb-select-all",_spSelectAll:"sp-select-all",_cbIncludeSel:"cb-include-sel",_spIncludeSel:"sp-include-sel",_lblIncludeSel:"lbl-include-sel",_divOptions:"div-options",_divValues:"div-values",_divExceeds:"div-exceeds",_aExceeds:"a-exceeds"});l._cbSelectAll.tabIndex=0;l._cbIncludeSel.tabIndex=0;var n=wijmo_1.culture.FlexGridFilter;wijmo_1.setText(l._spSelectAll,n.selectAll);wijmo_1.setText(l._spIncludeSel,n.includeSelection);wijmo_1.setText(l._aExceeds,n.exceedsMaxValues);var o=l._view=new wijmo_1.CollectionView(null,{sortNulls:wijmo_1.SortNulls.First,filter:l._filterValues.bind(l)});if(i.sortValues){var a=i.column.dataMap||i.dataMap?"text":"value",s=i.column.dataType!=wijmo_1.DataType.Boolean;o.sortDescriptions.push(new wijmo_1.SortDescription(a,s))}o.collectionChanged.addHandler(l._updateSelectAllCheck,l);l._filterText="";l._rxFilter=null;l._cmbFilter=new input.ComboBox(l._divFilter,{trimText:!1,isRequired:!1,placeholder:n.search});l._cmbFilter.isEditable=!0;l._lbValues=new input.ListBox(l._divValues,{displayMemberPath:"text",checkedMemberPath:"show",itemsSource:l._view,itemFormatter:function(e,t){return t||n.null},checkedItemsChanged:function(e){return l._updateSelectAllCheck()}});wijmo_1.setAttribute(l._divValues,"aria-label",wijmo_1.culture.FlexGridFilter.ariaLabels.listBox);wijmo_1.setAriaLabel(l._cmbFilter.inputElement,n.ariaLabels.search);wijmo_1.setAttribute(l._lbValues.hostElement,"aria-multiselectable",!0);l._cmbFilter.inputElement.addEventListener("input",l._filterTextChanged.bind(l));l._cbSelectAll.addEventListener("click",l._cbSelectAllClicked.bind(l));if(!l._popup){l._initPopup();l._aExceeds&&l.addEventListener(l._aExceeds,"click",(function(e){e.preventDefault();l._popup.show(!0)}))}l.updateEditor();l._filter.showValues?l._initialItems=o.sourceCollection.filter((function(e){return l._filter.showValues[e.text||e.value]||!1})):l._initialItems=l._lbValues.checkedItems;return l}Object.defineProperty(ValueFilterEditor,"controlTemplate",{get:function(){ValueFilterEditor._ctrlTemplate||(ValueFilterEditor._ctrlTemplate='<div><div wj-part="div-filter"></div><div wj-part="div-options" class="'+input.ListBoxClsNames.listBoxItem+'"><label><input wj-part="cb-select-all" type="checkbox"> <span wj-part="sp-select-all"></span></label><br /><label wj-part="lbl-include-sel"><input wj-part="cb-include-sel" type="checkbox"> <span wj-part="sp-include-sel"></span></label></div><div wj-part="div-values"></div><div wj-part="div-exceeds"><a wj-part="a-exceeds"></a></div></div>');return ValueFilterEditor._ctrlTemplate},set:function(e){ValueFilterEditor._ctrlTemplate=e},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilterEditor.prototype,"filter",{get:function(){return this._filter},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilterEditor.prototype,"canApply",{get:function(){return this._canApply},set:function(e){if(e!=this._canApply){this._canApply=e;this.onCanApplyChanged()}},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilterEditor.prototype,"_shouldIncludeSelection",{get:function(){return this._filter.showIncludeSelection&&this._cbIncludeSel.checked},enumerable:!0,configurable:!0});ValueFilterEditor.prototype.updateEditor=function(){var e=this,t=this._filter.column,i=this._filter.getUniqueValues(!0);this._lbValues.isContentHtml=t.isContentHtml;var l=this._filter.showValues;if(l&&0!=Object.keys(l).length){for(var r in l)for(var n=0;n<i.length;n++)if(i[n].text==r){i[n].show=!0;break}}else i.forEach((function(e){return e.show=!0}));var o=this._filter.filterText||"",a=this._getCaseSensitive();this._cmbFilter.text=o;this._filterText=a?o:o.toLowerCase();this._rxFilter=this._getSearchExp(o,a);this._filter.showIncludeSelection&&!this.hostElement.contains(this._lblIncludeSel)?this._divOptions.appendChild(this._lblIncludeSel):this._filter.showIncludeSelection||this._lblIncludeSel.remove();var s=this._view;s.pageSize=this._filter.maxValues;s.sourceCollection=i;setTimeout((function(){e._adjustWidths()}),0);this._updateExceedsMaxValuesDisplay()};ValueFilterEditor.prototype.clearEditor=function(e){void 0===e&&(e=!0);this._cmbFilter.text="";this._filterText="";this._rxFilter=null;var t=this._view;t.pageSize=0;t.items.forEach((function(t){t.show=e}));t.moveCurrentTo(-1);t.refresh();t.pageSize=this._filter.maxValues};Object.defineProperty(ValueFilterEditor.prototype,"isEditorClear",{get:function(){return!this._filterText&&!this._cbSelectAll.indeterminate},enumerable:!0,configurable:!0});ValueFilterEditor.prototype._updateFilter=function(){var e=null,t=this._getItems();if(this._filterText||this._cbSelectAll.indeterminate){e=this._shouldIncludeSelection&&this._filter.showValues||{};for(var i=0;i<t.length;i++){var l=t[i];l.show&&(e[l.text]=!0)}}var r=this._filter;r.showValues=e;r.filterText=this._filterText};ValueFilterEditor.prototype.updateFilter=function(){var e=this;this._isFiltering?setTimeout((function(){e._updateFilter()}),wijmo_1.Control._SEARCH_DELAY+100):this._updateFilter()};ValueFilterEditor.prototype.onCanApplyChanged=function(e){this.canApplyChanged.raise(this,e)};ValueFilterEditor.prototype._getCaseSensitive=function(){var e=this._filter.column,t=e?e.grid:null;return t&&t.caseSensitiveSearch};ValueFilterEditor.prototype._getItems=function(){return this._filter.exclusiveValueSearch?this._view.items:this._view.sourceCollection};ValueFilterEditor.prototype._filterTextChanged=function(){var e=this;""===this._filterText&&this._cbSelectAll.checked||this._filter.exclusiveValueSearch?this._lbValues._addMode=!1:this._lbValues._addMode=!0;this._toFilter&&clearTimeout(this._toFilter);this._isFiltering=!0;this._toFilter=setTimeout((function(){var t=e._cmbFilter.text,i=e._getCaseSensitive();i||(t=t.toLowerCase());if(t!=e._filterText){e._filterText=t;e._rxFilter=e._getSearchExp(t,i);e._view.refresh();e._updateExceedsMaxValuesDisplay();if(!t){var l=e._initialItems;if(l.length&&e._view.sourceCollection.indexOf(l[0])>-1){e._lbValues.checkedItems=e._initialItems;e._updateSelectAllCheck();e._isFiltering=!1;return}}if(e._filter.exclusiveValueSearch){e._cbSelectAll.checked=!0;e._cbSelectAllClicked()}else e._updateSelectAllCheck()}e._isFiltering=!1}),wijmo_1.Control._SEARCH_DELAY)};ValueFilterEditor.prototype._getSearchExp=function(e,t){if(!e)return null;switch(this._filter.searchType){case ValueFilterSearchKind.Text:return this._getTextSearchExp(e,t);case ValueFilterSearchKind.Regex:return this._getRegexSearchExp(e,t);case ValueFilterSearchKind.Excel:return this._getExcelSearchExp(e,t)}};ValueFilterEditor.prototype._getTextSearchExp=function(e,t){return new RegExp(wijmo_1.escapeRegExp(e),t?"":"i")};ValueFilterEditor.prototype._getRegexSearchExp=function(e,t){try{return new RegExp(e,t?"s":"is")}catch(e){return new RegExp("(?!)",t?"s":"is")}};ValueFilterEditor.prototype._getExcelSearchExp=function(e,t){var i=e;i=(i=(i=(i=(i=(i=(i=(i=i.replace(/([.+^$[\]\\(){}|-])/g,"\\$1")).replace(/~~/g,"__`$0`__")).replace(/~\?/g,"__`$1`__")).replace(/~\*/g,"__`$2`__")).replace(/~(.)/g,"$1")).replace(/(\?+)/g,(function(e,t){return Array.from(t).map((function(e){return"."})).join("")}))).replace(/(\*+)/g,(function(e,t){return Array.from(t).map((function(e){return".*"})).join("")}))).replace(/__`\$(\d)`__/g,(function(e,t){switch(t){case"0":return"~";case"1":return"\\?";case"2":return"\\*"}}));/([^~]|^)[?*]/g.test(e)&&(i="^"+i+"$");("~"===e||e&&!i.length)&&(i="$a^");return new RegExp(i,t?"s":"is")};ValueFilterEditor.prototype._filterValues=function(e){var t=this._rxFilter;return null==t||null==e||t.test(e.text)};ValueFilterEditor.prototype._cbSelectAllClicked=function(){for(var e=this,t=this._cbSelectAll.checked,i=this._divValues.scrollTop,l=this._getItems(),r=0;r<l.length;r++)l[r].show=t;this._view.refresh();this._divValues.scrollTop=i;setTimeout((function(){e._adjustWidths()}),0)};ValueFilterEditor.prototype._updateSelectAllCheck=function(){for(var e=this._getItems(),t=0,i=0,l=0;l<e.length;l++){e[l].show?t++:i++;if(t&&i)break}wijmo_1.setChecked(this._cbSelectAll,t&&i?null:t>0);this.canApply=t>0};ValueFilterEditor.prototype._adjustWidths=function(){var e=this._lbValues.hostElement;if(e&&e.offsetHeight>0){var t=0,i=e.querySelectorAll("."+input.ListBoxClsNames.listBoxItem+" label");if(i.length){for(var l=0;l<i.length;l++)t=Math.max(t,i[l].scrollWidth);if(t){var r=e.querySelectorAll("."+input.ListBoxClsNames.listBoxItem);if(r.length){var n=r[0],o=getComputedStyle(n),a=parseFloat(o.paddingLeft)+parseFloat(o.paddingRight);for(l=0;l<r.length;l++)r[l].style.width=t+a+"px"}}}}};Object.defineProperty(ValueFilterEditor.prototype,"exceedsMaxValues",{get:function(){return!(!this._view||!this._view._view)&&this._view._view.length>this.filter.maxValues},enumerable:!0,configurable:!0});ValueFilterEditor.prototype._updateExceedsMaxValuesDisplay=function(){this._aExceeds.style.display=this.exceedsMaxValues?"":"none"};ValueFilterEditor.prototype._initPopup=function(){var e=document.createElement("div");e.innerHTML='<div role="dialog"><div class='+input.PopupClsNames.dialogBody+"><div class="+exports.ValueFilterEditorClsNames.customModalText+"><p>"+wijmo_1.culture.FlexGridFilter.popupBody+'</p></div></div><div class="'+input.PopupClsNames.dialogFooter+" "+exports.ValueFilterEditorClsNames.modalFooter+'" ><button class="btn btn-primary '+wijmo_1.UtilitesClsNames.hideOk+'">'+wijmo_1.culture.FlexGridFilter.popupOkButton+"</button></div></div>";this._popup=new input.Popup(e,{modal:!0,fadeIn:!0,fadeOut:!0})};ValueFilterEditor._ctrlTemplate="";return ValueFilterEditor}(wijmo_1.Control);exports.ValueFilterEditor=ValueFilterEditor;var ColumnFilter=function(){function ColumnFilter(e,t){var i=this;this._owner=e;this._col=t;this._valueFilter=new ValueFilter(t);this._valueFilter.exclusiveValueSearch=e.exclusiveValueSearch;this._valueFilter.showIncludeSelection=e.showIncludeSelection;this._conditionFilter=new ConditionFilter(t);e.exclusiveValueSearchChanged.addHandler((function(e){i._valueFilter.exclusiveValueSearch=e.exclusiveValueSearch}));e._showIncludeSelectionChanged.addHandler((function(e){i._valueFilter.showIncludeSelection=e.showIncludeSelection}))}Object.defineProperty(ColumnFilter.prototype,"filterType",{get:function(){return null!=this._filterType?this._filterType:this._owner.defaultFilterType},set:function(e){if((e=wijmo_1.asEnum(e,FilterType,!0))!=this._filterType){var t=this.isActive;this.clear();this._filterType=e;t?this._owner.apply():this._col.grid&&this._col.grid.invalidate()}},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"dataMap",{get:function(){return this.conditionFilter.dataMap||this.valueFilter.dataMap},set:function(e){this.conditionFilter.dataMap=e;this.valueFilter.dataMap=e},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"valueFilter",{get:function(){return this._valueFilter},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"conditionFilter",{get:function(){return this._conditionFilter},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"column",{get:function(){return this._col},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"isActive",{get:function(){return this._conditionFilter.isActive||this._valueFilter.isActive},enumerable:!0,configurable:!0});ColumnFilter.prototype.apply=function(e){return this._conditionFilter.apply(e)&&this._valueFilter.apply(e)};ColumnFilter.prototype.clear=function(){this._valueFilter.clear();this._conditionFilter.clear()};ColumnFilter.prototype.implementsInterface=function(e){return"IColumnFilter"==e};return ColumnFilter}();exports.ColumnFilter=ColumnFilter;wijmo_1._addCultureInfo("FlexGridFilter",{ariaLabels:{edit:"Edit Filter for Column",dialog:"Filter Editor for Column",asc:"Sort Column in Ascending Order",dsc:"Sort Column in Descending Order",search:"Search Item List",op1:"First Condition Operator",val1:"First Condition Value",and:"Require both Conditions",or:"Require either Condition",op2:"Second Condition Operator",val2:"Second Condition Value",active:"active",listBox:"List of options available for filtering"},ascending:"↑ Ascending",descending:"↓ Descending",apply:"Apply",cancel:"Cancel",clear:"Clear",conditions:"Filter by Condition",values:"Filter by Value",search:"Search",selectAll:"Select All",includeSelection:"Include Current Selection",null:"(nothing)",exceedsMaxValues:"Not all items showing",popupBody:"This column has more than 250 unique items. Only the first 250 unique items are displayed.",popupOkButton:"OK",header:"Show items where the value",and:"And",or:"Or",stringOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Does not equal",op:Operator.NE},{name:"Begins with",op:Operator.BW},{name:"Does not begin with",op:Operator.NBW},{name:"Ends with",op:Operator.EW},{name:"Does not end with",op:Operator.NEW},{name:"Contains",op:Operator.CT},{name:"Does not contain",op:Operator.NC}],numberOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Does not equal",op:Operator.NE},{name:"Is Greater than",op:Operator.GT},{name:"Is Greater than or equal to",op:Operator.GE},{name:"Is Less than",op:Operator.LT},{name:"Is Less than or equal to",op:Operator.LE}],dateOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Is Before",op:Operator.LT},{name:"Is After",op:Operator.GT}],booleanOperators:[{name:"(not set)",op:null},{name:"Equals",op:Operator.EQ},{name:"Does not equal",op:Operator.NE}]});var ColumnFilterEditor=function(e){__extends(ColumnFilterEditor,e);function ColumnFilterEditor(t,i,l){void 0===l&&(l=!0);var r=e.call(this,t,null,!0)||this;r._disallowedControls=new Set(["TransposedGrid","WjTransposedGrid","TransposedMultiRow","WjTransposedMultiRow"]);r.filterChanged=new wijmo_1.Event;r.buttonClicked=new wijmo_1.Event;r._filter=wijmo_1.asType(i,ColumnFilter);var n=r.getTemplate();r.applyTemplate(wijmo_1.ControlClsNames.hostElement+" "+wijmo_1.ControlClsNames.content+" "+wijmo_1.ControlClsNames.content+" "+exports.ColumnFilterEditorClsNames.hostElement,n,{_divSort:"div-sort",_btnAsc:"btn-asc",_btnDsc:"btn-dsc",_divType:"div-type",_aVal:"a-val",_aCnd:"a-cnd",_divEdtVal:"div-edt-val",_divEdtCnd:"div-edt-cnd",_btnApply:"btn-apply",_btnCancel:"btn-cancel",_btnClear:"btn-clear"});var o=wijmo_1.culture.FlexGridFilter,a=o.ariaLabels,s=r.hostElement,u=r.filter.column,d=u.grid.collectionView;wijmo_1.setAttribute(s,"role","dialog");wijmo_1.setAriaLabel(s,a.dialog+" "+u.header);wijmo_1.setAriaLabel(r._btnAsc,a.asc);wijmo_1.setAriaLabel(r._btnDsc,a.dsc);wijmo_1.setText(r._btnAsc,o.ascending);wijmo_1.setText(r._btnDsc,o.descending);wijmo_1.setText(r._aVal,o.values);wijmo_1.setText(r._aCnd,o.conditions);wijmo_1.setText(r._btnApply,o.apply);wijmo_1.setText(r._btnCancel,o.cancel);wijmo_1.setText(r._btnClear,o.clear);var c=r.filter.conditionFilter.isActive||0==(i.filterType&FilterType.Value)?FilterType.Condition:FilterType.Value;r._showFilter(c);if(!u.allowSorting||r._disallowedControls.has(u.grid.constructor.name)){wijmo_1.enable(r._btnAsc,!1);wijmo_1.enable(r._btnDsc,!1)}l&&d&&d.canSort||(r._divSort.style.display="none");r._updateSortButtonState();var p=r._btnClicked.bind(r);r._btnApply.addEventListener("click",p);r._btnCancel.addEventListener("click",p);r._btnClear.addEventListener("click",p);r._btnAsc.addEventListener("click",p);r._btnDsc.addEventListener("click",p);r._aVal.addEventListener("click",p);r._aCnd.addEventListener("click",p);r.addEventListener(s,"keydown",(function(e){if(!e.defaultPrevented){var t=e.target.tagName.match(/^(a|button)$/i);switch(e.keyCode){case wijmo_1.Key.Space:if(t){r._btnClicked(e);e.preventDefault()}break;case wijmo_1.Key.Enter:if(t)r._btnClicked(e);else{r.updateFilter();r.onFilterChanged();r.onButtonClicked()}e.preventDefault();break;case wijmo_1.Key.Escape:r.onButtonClicked();e.preventDefault();break;case wijmo_1.Key.Tab:wijmo_1.moveFocus(r.hostElement,e.shiftKey?-1:1);e.preventDefault()}}}));r.addEventListener(window,"resize",(function(){r.isTouching||r._wasTouching||r.onButtonClicked()}));return r}Object.defineProperty(ColumnFilterEditor,"controlTemplate",{get:function(){ColumnFilterEditor._ctrlTemplate||(ColumnFilterEditor._ctrlTemplate='<div><div wj-part="div-sort" class="'+exports.ColumnFilterEditorClsNames.sortButtons+'"><button wj-part="btn-asc" class="'+wijmo_1.InputFormElementsClsNames.btn+'"></button>&nbsp;&nbsp;&nbsp;<button wj-part="btn-dsc" class="'+wijmo_1.InputFormElementsClsNames.btn+'"></button></div><div wj-part="div-type" class="'+exports.ColumnFilterEditorClsNames.filterType+'"><a wj-part="a-cnd" href="" draggable="false"></a>&nbsp;|&nbsp;<a wj-part="a-val" href="" draggable="false"></a></div><div wj-part="div-edt-val" tabindex="-1"></div><div wj-part="div-edt-cnd" tabindex="-1"></div><div style="text-align:right;margin-top:10px"><button wj-part="btn-apply" class="'+wijmo_1.InputFormElementsClsNames.btn+'"></button>&nbsp;&nbsp;<button wj-part="btn-cancel" class="'+wijmo_1.InputFormElementsClsNames.btn+'"></button>&nbsp;&nbsp;<button wj-part="btn-clear" class="'+wijmo_1.InputFormElementsClsNames.btn+'"></button></div></div>');return ColumnFilterEditor._ctrlTemplate},set:function(e){ColumnFilterEditor._ctrlTemplate=e},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilterEditor.prototype,"filter",{get:function(){return this._filter},enumerable:!0,configurable:!0});ColumnFilterEditor.prototype.updateEditor=function(){this._edtVal&&this._edtVal.updateEditor();this._edtCnd&&this._edtCnd.updateEditor()};ColumnFilterEditor.prototype.updateFilter=function(){switch(this._getFilterType()){case FilterType.Value:this._edtVal.updateFilter();this.filter.conditionFilter.clear();break;case FilterType.Condition:this._edtCnd.updateFilter();this.filter.valueFilter.clear()}};ColumnFilterEditor.prototype.onFilterChanged=function(e){this.filterChanged.raise(this,e)};ColumnFilterEditor.prototype.onButtonClicked=function(e){this.buttonClicked.raise(this,e)};ColumnFilterEditor.prototype._showFilter=function(e){var t=this;this._wasTouching=this.isTouching;if(e==FilterType.Value&&null==this._edtVal){this._edtVal=new ValueFilterEditor(this._divEdtVal,this.filter.valueFilter);this._edtVal.canApplyChanged.addHandler((function(e){wijmo_1.enable(t._btnApply,t._edtVal.canApply)}))}if(e==FilterType.Condition&&null==this._edtCnd){this._edtCnd=new ConditionFilterEditor(this._divEdtCnd,this.filter.conditionFilter);this._edtCnd.canApplyChanged.addHandler((function(e){wijmo_1.enable(t._btnApply,t._edtCnd.canApply)}))}if(0!=(e&this.filter.filterType))if(e==FilterType.Value){this._divEdtVal.style.display="";this._divEdtCnd.style.display="none";this._enableLink(this._aVal,!1);this._enableLink(this._aCnd,!0);this._edtVal.focus();this._edtVal._updateExceedsMaxValuesDisplay();wijmo_1.enable(this._btnApply,this._edtVal.canApply)}else{this._divEdtVal.style.display="none";this._divEdtCnd.style.display="";this._enableLink(this._aVal,!0);this._enableLink(this._aCnd,!1);this._edtCnd.focus();wijmo_1.enable(this._btnApply,this._edtCnd.canApply)}var i=this._divType.style;switch(this.filter.filterType){case FilterType.None:case FilterType.Condition:case FilterType.Value:i.display="none";break;default:i.display=""}};ColumnFilterEditor.prototype._enableLink=function(e,t){wijmo_1.toggleClass(e,wijmo_1.ControlStateClsNames.disabled,!t);wijmo_1.setAttribute(e,"href",t?"":null);wijmo_1.setAttribute(e,"disabled",t?null:"disabled")};ColumnFilterEditor.prototype._updateSortButtonState=function(){var e=this.filter.column,t=e?e.currentSort:"",i=wijmo_1.ControlStateClsNames.active,l=wijmo_1.culture.FlexGridFilter.ariaLabels;if("+"===t){wijmo_1.addClass(this._btnAsc,i);this._btnAsc.setAttribute("aria-label",l.asc+" "+l.active)}else if("-"===t){wijmo_1.addClass(this._btnDsc,i);this._btnDsc.setAttribute("aria-label",l.dsc+" "+l.active)}};ColumnFilterEditor.prototype._getFilterType=function(){var e=FilterType;return"none"!=this._divEdtVal.style.display?e.Value:e.Condition};ColumnFilterEditor.prototype._btnClicked=function(e){var t=this,i=e.target;e.preventDefault();e.stopPropagation();if(!wijmo_1.hasClass(i,wijmo_1.ControlStateClsNames.disabled))if(i!=this._aVal)if(i!=this._aCnd){if(i==this._btnAsc||i==this._btnDsc){var l=this.filter.column.grid,r=this.filter.column,n=r.sortMemberPath||r.binding,o=r.grid.collectionView.sortDescriptions,a=this.hostElement["$WJ-OWNR"]&&this.hostElement["$WJ-OWNR"]["wj-cell-index"];if(a){var s=a.panel,u=a.rng;null==u&&(u=new wijmo_grid_1.CellRange(a.row,a.col,a.row,a.col));var d=new wijmo_grid_1.CellRangeEventArgs(s,u,e);if(l.onSortingColumn(d)){o.deferUpdate((function(){o.clear();o.push(new wijmo_1.SortDescription(n,e.target==t._btnAsc))}));this._updateSortButtonState();l.onSortedColumn(d)}}}if(i==this._btnApply){this.updateFilter();this.onFilterChanged()}else if(i==this._btnClear){if(this.filter.isActive){this.filter.clear();this.onFilterChanged()}}else this.updateEditor();this.onButtonClicked()}else{this._showFilter(FilterType.Condition);wijmo_1.moveFocus(this._edtCnd.hostElement,0)}else{this._showFilter(FilterType.Value);wijmo_1.moveFocus(this._edtVal.hostElement,0)}};ColumnFilterEditor._ctrlTemplate="";return ColumnFilterEditor}(wijmo_1.Control);exports.ColumnFilterEditor=ColumnFilterEditor;wijmo_1._registerModule("wijmo.grid.filter",selfModule);
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@grapecity/wijmo.grid.filter",
3
- "version": "5.20242.30",
3
+ "version": "5.20251.34",
4
4
  "description": "UI library for pure JS, Angular, React, Vue and more...",
5
5
  "author": "MESCIUS inc",
6
6
  "license": "Commercial",
7
7
  "main": "./index.js",
8
8
  "types": "./index.d.ts",
9
9
  "dependencies": {
10
- "@grapecity/wijmo": "5.20242.30",
11
- "@grapecity/wijmo.input": "5.20242.30",
12
- "@grapecity/wijmo.grid": "5.20242.30"
10
+ "@grapecity/wijmo": "5.20251.34",
11
+ "@grapecity/wijmo.input": "5.20251.34",
12
+ "@grapecity/wijmo.grid": "5.20251.34"
13
13
  },
14
14
  "homepage": "https://developer.mescius.com/wijmo",
15
15
  "bugs": {