@grapecity/wijmo.grid.filter 5.20252.42 → 5.20252.44

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.20252.42
3
+ * Wijmo Library 5.20252.44
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"),wijmo_nav_1=require("@grapecity/wijmo.nav"),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",filterHeader:"wj-filter-header"};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",filterTopBorder:"wj-filter-tabPanel-top-border"};exports.ValueFilterEditorClsNames={hostElement:"wj-valuefilter-editor",customModalText:"wj-custom-modal-text",modalFooter:"wj-valuefilter-modal-footer",filterOptions:"wj-filter-options"};var FilterType,FilterMode,ValueFilterSearchKind,Operator;!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={}));!function(e){e[e.SingleFilter=0]="SingleFilter";e[e.MultiFilter=1]="MultiFilter"}(FilterMode=exports.FilterMode||(exports.FilterMode={}));class FlexGridFilter{constructor(e,t){this._showIcons=!0;this._showSort=!0;this._defFilterType=FilterType.Both;this._defFilterMode=FilterMode.SingleFilter;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));this._g.columns.collectionChanged.addHandler(this._adjustBindingColumns,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 defaultFilterMode(){return this._defFilterMode}set defaultFilterMode(e){if((e=wijmo_1.asEnum(e,FilterMode,!1))!=this._defFilterMode){this._defFilterMode=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>`),n=this.getColumnFilter(e),a=new ColumnFilterEditor(r,n,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;a.filterChanged.addHandler(()=>{s.cancel=!1;setTimeout(()=>{s.cancel||this.apply()},a._edtVal&&a._edtVal._isFiltering?wijmo_1.Control._SEARCH_DELAY+200:0)});a.buttonClicked.addHandler(()=>{this.closeEditor();l.focus();this.onFilterChanged(s)});a.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,_=o,c=i||h.getCellElement(u,_),p=c?null:h.getCellBoundingRect(u,_);c?wijmo_1.showPopup(r,c,!1,!1,!1):wijmo_1.showPopup(r,p);let m=e.header,w=wijmo_1.format(wijmo_1.culture.FlexGridFilter.accessibilityHelperMessage.filter.filterColumn,{name:m});l.announceShortcut(w);this._adjustTabPanelStyle(n);this._setAriaExpanded(c,!0);this._setAriaExpanded(l.cells.getCellElement(-1,_),!0);let f=a.hostElement.querySelectorAll("input");for(let e=0;e<f.length;e++){let t=f[e];if(t.offsetHeight>0&&t.tabIndex>-1&&!t.disabled){t.focus();break}}a.containsFocus()||a.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;if(t){wijmo_1.hidePopup(t.hostElement,()=>{t.dispose()});let i=wijmo_1.culture.FlexGridFilter.accessibilityHelperMessage.filter.closeFilterDialog;e.announceShortcut(i)}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}_adjustTabPanelStyle(e){if(e){const t=e.filterType!==FilterType.Both,i=document.querySelector('[wj-part="tabpanes"]');t&&i&&wijmo_1.toggleClass(i,exports.FlexGridFilterClsNames.filterTopBorder)}}_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),n=this._filterColumns;n&&n.length&&n.indexOf(s.binding)<0&&n.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){const t=e.ctrlKey||e.metaKey,i=!e.defaultPrevented&&!t&&e.altKey,l=i&&e.keyCode===wijmo_1.Key.Up,s=i&&e.keyCode===wijmo_1.Key.Down,r=!e.defaultPrevented&&t&&e.shiftKey&&e.keyCode===wijmo_1.Key.F;if(l||s||r){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,n=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&&(n=!0);if(s&&(!n||r)){let t=this.getColumnFilter(s,!1);if(t&&t.filterType!=FilterType.None){this.editColumnFilter(s);e.preventDefault();e.stopPropagation()}}}}_removeFilter(e){this._filters.splice(e,1)}_adjustBindingColumns(e,t){if(t.action==wijmo_1.NotifyCollectionChangedAction.Reset){const e=this._filters;if(e&&e.length>0)for(let t=e.length-1;t>=0;t--){const i=e[t],l=i.column;if(l.binding){const e=this._asColumn(l.binding);e?e!==l&&i._setColumn(e):this._removeFilter(t)}}}}}FlexGridFilter._WJC_FILTER=exports.FlexGridFilterClsNames.elemFilter;exports.FlexGridFilter=FlexGridFilter;exports.empty={};class ColumnFilter{constructor(e,t){this._ariaLabel=wijmo_1.culture.FlexGridFilter.ariaLabels.dialog;this._owner=e;this._col=t;this._valueFilter=new ValueFilter(t);this._valueFilter.setColumnFilter(this);this._valueFilter.exclusiveValueSearch=e.exclusiveValueSearch;this._valueFilter.showIncludeSelection=e.showIncludeSelection;this._conditionFilter=new ConditionFilter(t);this._conditionFilter.setColumnFilter(this);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 filterMode(){return null!=this._filterMode?this._filterMode:this._owner.defaultFilterMode}set filterMode(e){if((e=wijmo_1.asEnum(e,FilterMode,!0))!=this._filterMode){let t=this.isActive;this.clear();this._filterMode=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}_setColumn(e){this._col=e;this._valueFilter&&this._valueFilter._setColumn(e);this._conditionFilter&&this._conditionFilter._setColumn(e)}get ariaLabel(){return this._ariaLabel}set ariaLabel(e){e!=this._ariaLabel&&(this._ariaLabel=e)}get isActive(){return this._conditionFilter.isActive||this._valueFilter.isActive}apply(e){let t=this._conditionFilter.apply(e);this._valueFilter._cancelFilter||(t=t&&this._valueFilter.apply(e));return t}clear(){this._valueFilter.clear();this._conditionFilter.clear()}implementsInterface(e){return"IColumnFilter"==e}}exports.ColumnFilter=ColumnFilter;!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._allValues=null;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}_setColumn(e){this._col=e}get isActive(){let e=null!=this._values;return this._columnFilter&&this._columnFilter.filterMode===FilterMode.MultiFilter?e:e&&Object.keys(this._values).length>0}apply(e){let t=this.column;if(!t||!t._binding||!this.isActive)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,n=r?r.sourceCollection:[];if(e&&r&&r.sourceCollection&&r.filter)try{this._columnFilter&&this._columnFilter.filterMode===FilterMode.MultiFilter&&this._columnFilter.conditionFilter.isActive?this._cancelFilter=!0:FlexGridFilter._skipColumn=this._col;let e=[];for(let t=0;t<n.length;t++)r.filter(n[t])&&e.push(n[t]);n=e}finally{this._cancelFilter=!1;FlexGridFilter._skipColumn=null}for(let e=0;e<n.length;e++){let r=i._binding.getValue(n[e]),a=this.dataMap?this.dataMap.getDisplayValue(r)||"":i.dataMap?i.dataMap.getDisplayValue(r)||"":l(r,i.format);if(!s[a]){s[a]=!0;t.push({value:r,text:a})}}return t}implementsInterface(e){return"IColumnFilter"==e}setColumnFilter(e){this._columnFilter=e}updateShowStatus(e){if(this.showValues&&0!=Object.keys(this.showValues).length){for(let t in this.showValues)for(let i=0;i<e.length;i++)if(e[i].text==t){e[i].show=!0;break}}else e.forEach(e=>e.show=!0);return e}setInitialAllValues(){let e=this.getUniqueValues(!1);this._allValues=this.updateShowStatus(e)}}exports.ValueFilter=ValueFilter;class ValueFilterEditor extends wijmo_1.Control{constructor(e,t){super(e);this._canApply=!1;this._isFiltering=!1;this._filterTextChangedBnd=this._filterTextChanged.bind(this);this._cbSelectAllClickedBnd=this._cbSelectAllClicked.bind(this);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;this._divExceeds.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);wijmo_1.setAttribute(this._divValues,"aria-live","polite");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,keyActionPrintCharacters:0,keyActionTab:0});this._cmbFilter.isEditable=!0;const r=this._divFilter.querySelector(".wj-input-group");if(r){const e=document.createElement("span");e.classList.add("wj-glyph-search");r.insertBefore(e,r.firstChild)}this._lbValues=new input.ListBox(this._divValues,{displayMemberPath:"text",checkedMemberPath:"show",itemsSource:this._view,itemFormatter:(e,t)=>t||l.null,checkedItemsChanged:e=>this._updateSelectAllCheck()});this._lbValues._isNeedUpdateBnd=this._isSingleFilterMode();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._filterTextChangedBnd);this._cbSelectAll.addEventListener("click",this._cbSelectAllClickedBnd);if(!this._popup){this._initPopup();this._aExceeds&&this.addEventListener(this._aExceeds,"click",e=>{e.preventDefault();this._popup.show(!0)})}this.updateEditor();wijmo_1.setAttribute(this._lbValues.hostElement,"tabindex","-1");this._filter.showValues?this._initialItems=s.sourceCollection.filter(e=>this._filter.showValues[e.text||e.value]||!1):this._initialItems=this._lbValues.checkedItems;this._isSingleFilterMode()||this._filter.setInitialAllValues()}static get controlTemplate(){ValueFilterEditor._ctrlTemplate||(ValueFilterEditor._ctrlTemplate='<div><div wj-part="div-filter"></div>'+`<div wj-part="div-options" class="${input.ListBoxClsNames.listBoxItem} ${exports.ValueFilterEditorClsNames.filterOptions}">`+'<label wj-part="select-all-container"><input wj-part="cb-select-all" type="checkbox" class="wj-custom-checkbox"> <span wj-part="sp-select-all"></span></label><br /><label wj-part="lbl-include-sel"><input wj-part="cb-include-sel" type="checkbox" class="wj-custom-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&&this._isSingleFilterMode())t.forEach(e=>e.show=!0);else for(let e in i)for(let i=0;i<t.length;i++)if(t[i].text==e){t[i].show=!0;break}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;this._adjustWidthsTimer=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,t=this._filter,i=null;e=this._isSingleFilterMode()?this._getItems():this._filter._allValues=wijmo_1.replaceItems(this._filter._allValues,this._view.sourceCollection);if(!this._isSingleFilterMode()||this._filterText||this._cbSelectAll.indeterminate){i=this._shouldIncludeSelection&&this._filter.showValues||{};for(let t=0;t<e.length;t++){let l=e[t];l.show&&(i[l.text]=!0)}}t.showValues=i;t.filterText=this._filterText}updateFilter(){this._isFiltering?this._updateFilterTimer=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&&this._isSingleFilterMode()){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)}_getActualItems(){return this._isSingleFilterMode()?this._getItems():this.exceedsMaxValues?this._view.sourceCollection:this._view.items}_cbSelectAllClicked(){let e=this._cbSelectAll.checked,t=this._divValues.scrollTop,i=this._getActualItems();for(let t=0;t<i.length;t++)i[t].show=e;this._view.refresh();this._divValues.scrollTop=t;this._adjustWidthsTimer=setTimeout(()=>{this._adjustWidths()},0)}_updateSelectAllCheck(){let e=this._getActualItems(),t=0,i=0;for(let l=0;l<e.length;l++){e[l].show?t++:i++;if(t&&i)break}let l=t&&i?null:t>0;wijmo_1.setChecked(this._cbSelectAll,l);null==l?this._cbSelectAll.setAttribute("data-indeterminate","true"):this._cbSelectAll.removeAttribute("data-indeterminate");this.canApply=t>0}_adjustWidths(){let e=this._lbValues.hostElement;if(e&&e.offsetHeight>0){let t=0,i=e.querySelectorAll(`.${input.ListBoxClsNames.listBoxItem}`);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)for(let e=0;e<i.length;e++)i[e].style.width=t+"px"}}}}get exceedsMaxValues(){return!(!this._view||!this._view._view)&&this._view._view.length>this.filter.maxValues}_updateExceedsMaxValuesDisplay(){this._divExceeds.style.display=this.exceedsMaxValues?"":"none"}_initPopup(){let e=document.createElement("div");const t=this.hostElement.getAttribute("lang");e.innerHTML=`\n <div role="dialog" aria-modal="true" aria-describedby="dialogDesc" ${t?`lang="${t}"`:""}>`+`<div class=${input.PopupClsNames.dialogBody}>`+`<div class=${exports.ValueFilterEditorClsNames.customModalText}>`+'<p id="dialogDesc">'+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})}_isSingleFilterMode(){return!this._filter._columnFilter||this._filter._columnFilter.filterMode==FilterMode.SingleFilter}dispose(){if(this._lbValues){this._lbValues.dispose();this._lbValues=null}this._cbSelectAll&&this._cbSelectAll.removeEventListener("click",this._cbSelectAllClickedBnd);if(this._cmbFilter){this._cmbFilter.inputElement&&this._cmbFilter.inputElement.removeEventListener("input",this._filterTextChangedBnd);this._cmbFilter.dispose();this._cmbFilter=null}if(this._view){this._view.collectionChanged.removeHandler(this._updateSelectAllCheck,this);this._view=null}if(this._adjustWidthsTimer){clearTimeout(this._adjustWidthsTimer);this._adjustWidthsTimer=null}if(this._updateFilterTimer){clearTimeout(this._updateFilterTimer);this._updateFilterTimer=null}if(this._toFilter){clearTimeout(this._toFilter);this._toFilter=null}if(this._popup&&!this._popup.isVisible){this._popup.dispose();this._popup=null}this._filter=null;this._initialItems=null;this._rxFilter=null;this._filterText=null;super.dispose()}}ValueFilterEditor._ctrlTemplate="";exports.ValueFilterEditor=ValueFilterEditor;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}_setColumn(e){this._col=e}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 n=this.dataMap||t.dataMap;if(n)e=n.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 a=i.apply(e,s,r),o=l.apply(e,s,r);return i.isActive&&l.isActive?this._and?a&&o:a||o:i.isActive?a:!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}setColumnFilter(e){this._columnFilter=e}}exports.ConditionFilter=ConditionFilter;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(){if(this._filter._columnFilter&&this._filter._columnFilter.filterMode==FilterMode.MultiFilter)switch(this._op){case null:return!1;case Operator.BLANK:case Operator.NOTBLANK:return!0;default:return""!==this._val&&null!==this._val}else 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;case s.BLANK:return isBlankValue(e);case s.NOTBLANK:return!isBlankValue(e)}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";e[e.BLANK=100]="BLANK";e[e.NOTBLANK=101]="NOTBLANK"}(Operator=exports.Operator||(exports.Operator={}));function isBlankValue(e){return null==e||""===e}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.setAttribute(this._btnAnd,"aria-describedby","filterAndDesc");wijmo_1.setAttribute(this._btnOr,"aria-describedby","filterOrDesc");this._spAnd.id="filterAndDesc";this._spOr.id="filterOrDesc";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._val1=this._createValueInput(this._divVal1,s.val1);this._cmb2=this._createOperatorCombo(this._divCmb2,s.op2);this._val2=this._createValueInput(this._divVal2,s.val2);this._val1.hostElement.style.display="none";this._cmb1.selectedIndexChanged.addHandler((e,t)=>{const i=null==e.selectedValue||this._isShowConditionValuePart(e.selectedValue);this._val1.hostElement.style.display=i?"none":"";wijmo_1.setAttribute(this._val1.hostElement,"aria-hidden",i.toString());this.canApply=!i||"none"!==this._val2.hostElement.style.display});this._val2.hostElement.style.display="none";this._cmb2.selectedIndexChanged.addHandler((e,t)=>{const i=null==e.selectedValue||this._isShowConditionValuePart(e.selectedValue);this._val2.hostElement.style.display=i?"none":"";wijmo_1.setAttribute(this._val2.hostElement,"aria-hidden",i.toString());this.canApply="none"!==this._val1.hostElement.style.display||!i});let n=this.hostElement;this.addEventListener(n,"change",this._btnAndOrChanged.bind(this));this.addEventListener(n,"keydown",this._keydown.bind(this));this.updateEditor()}static get controlTemplate(){ConditionFilterEditor._ctrlTemplate||(ConditionFilterEditor._ctrlTemplate='<div><label wj-part="div-hdr" id="filterConditionHdr"></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}_isShowConditionValuePart(e){return e==Operator.BLANK||e==Operator.NOTBLANK}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));this._filter._columnFilter&&this._filter._columnFilter.filterMode==FilterMode.MultiFilter&&(s=s.concat(l.multiFilterBlankOperators));let n=new input.ComboBox(e,{itemsSource:s,displayMemberPath:"name",selectedValuePath:"op",keyActionPrintCharacters:0});wijmo_1.setAriaLabel(n.inputElement,t);return n}_createValueInput(e,t){let i=this._filter,l=i.column,s=i.dataMap||l.dataMap,r=null,n=wijmo_1.DataType;if(l.dataType==n.Date)(r=i._hasDatePart()?i._hasTimePart()?new input.InputDateTime(e):new input.InputDate(e):new input.InputTime(e,{keyActionPrintCharacters:0})).format=l.format;else if(l.dataType!=n.Number||s){(r=new input.ComboBox(e)).isEditable=!0;r.trimText=!1;r.keyActionPrintCharacters=0;if(s){r.itemsSource=s.getDisplayValues();r.caseSensitiveSearch=!!l.grid&&l.grid.caseSensitiveSearch}else l.dataType==n.Boolean&&(r.itemsSource=[!0,!1])}else{(r=new input.InputNumber(e)).step=1;r.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;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"},accessibilityHelperMessage:{filter:{filterColumn:"Show column {name} filter dialog",closeFilterDialog:"Close Filter dialog"}},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}],multiFilterBlankOperators:[{name:"Nothing",op:Operator.BLANK},{name:"Not Nothing",op:Operator.NOTBLANK}],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._btnClickedHandle=this._btnClicked.bind(this);this._cbSelectAllClickedHandle=this._cbSelectAllClicked.bind(this);this._andOrChangedHandle=this._andOrChanged.bind(this);this._isConditionFilterChanged=!1;this.filterChanged=new wijmo_1.Event;this.buttonClicked=new wijmo_1.Event;this._filter=wijmo_1.asType(t,ColumnFilter);ColumnFilterEditor.isCustomedTemplate(ColumnFilterEditor.controlTemplate)&&(this._filter.filterMode===FilterMode.MultiFilter?ColumnFilterEditor.controlTemplate=ColumnFilterEditor._multiFilterTemplate:ColumnFilterEditor.controlTemplate=ColumnFilterEditor._singleFilterTemplate);let l=this.getTemplate();this._filter.filterMode===FilterMode.MultiFilter?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",_divEdtVal:"div-edt-val",_divEdtCnd:"div-edt-cnd",_btnClear:"btn-clear"}):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",_tVal:"t-val",_tCnd:"t-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,n=this.hostElement,a=this.filter.column,o=a.grid.collectionView;wijmo_1.setAttribute(n,"role","dialog");wijmo_1.setAttribute(n,"aria-label",this._filter._ariaLabel);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._btnClear,s.clear);if(this._filter.filterMode===FilterMode.SingleFilter){wijmo_1.setText(this._tVal,s.values);wijmo_1.setText(this._tCnd,s.conditions);wijmo_1.setText(this._btnApply,s.apply);wijmo_1.setText(this._btnCancel,s.cancel);this._tabPanel=new wijmo_nav_1.TabPanel(this._divType.querySelector(".wj-tabpanel"),{isAnimated:!1,autoSwitch:!0,selectedIndexChanged:e=>{if(this.filter.filterType===FilterType.Both)if(e._isInitialized){let i=this.getActiveFilterType(t);e.selectedIndex=i===FilterType.Value?0:1;this._showFilter(i)}else this._showFilter(0===e.selectedIndex?FilterType.Value:FilterType.Condition);else{e.selectedIndex=this.filter.filterType===FilterType.Value?0:1;this._showFilter(this.filter.filterType)}}});this._showFilter(this.getActiveFilterType(t))}else this._showFilter();if(!a.allowSorting||this._disallowedControls.has(a.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();this._btnApply&&this._btnApply.addEventListener("click",this._btnClickedHandle);this._btnCancel&&this._btnCancel.addEventListener("click",this._btnClickedHandle);this._btnClear.addEventListener("click",this._btnClickedHandle);this._btnAsc.addEventListener("click",this._btnClickedHandle);this._btnDsc.addEventListener("click",this._btnClickedHandle);this.addEventListener(n,"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",()=>{if(!this.isTouching&&!this._wasTouching)if(this.filter.filterMode===FilterMode.SingleFilter)this.onButtonClicked();else{let e=this.filter.column,t=e.grid.columnHeaders,i=t.rows.length-1,l=e.index,s=t.getCellElement(i,l),r=s?null:t.getCellBoundingRect(i,l);s?wijmo_1._updatePopupPosition(this.hostElement,s,wijmo_1.PopupPosition.BelowLeft):wijmo_1._updatePopupPosition(this.hostElement,r,wijmo_1.PopupPosition.BelowLeft)}})}static get controlTemplate(){ColumnFilterEditor._ctrlTemplate||(ColumnFilterEditor._ctrlTemplate=ColumnFilterEditor._singleFilterTemplate);return ColumnFilterEditor._ctrlTemplate}static set controlTemplate(e){ColumnFilterEditor._ctrlTemplate=e}static get _multiFilterTemplate(){const e=`\n <div wj-part="div-multi-filter">\n <div wj-part="div-edt-cnd" tabindex="-1"></div>\n <div wj-part="div-edt-val" tabindex="-1"></div>\n ${`\n <div style="text-align:right;margin-top:10px">\n <button wj-part="btn-clear" class="${wijmo_1.InputFormElementsClsNames.btn}"></button>\n </div>\n `}\n </div>\n `;return`\n <div>\n ${`\n <div wj-part="div-sort" class="${exports.ColumnFilterEditorClsNames.sortButtons}">\n <button wj-part="btn-asc" class="${wijmo_1.InputFormElementsClsNames.btn}"></button>&nbsp;&nbsp;&nbsp;\n <button wj-part="btn-dsc" class="${wijmo_1.InputFormElementsClsNames.btn}"></button>\n </div>\n `}\n ${e}\n </div>\n `}static get _singleFilterTemplate(){const e=`\n <div style="text-align:right;margin-top:10px">\n <button wj-part="btn-apply" class="${wijmo_1.InputFormElementsClsNames.btn}"></button>&nbsp;&nbsp;\n <button wj-part="btn-cancel" class="${wijmo_1.InputFormElementsClsNames.btn}"></button>&nbsp;&nbsp;\n <button wj-part="btn-clear" class="${wijmo_1.InputFormElementsClsNames.btn}"></button>\n </div>\n `,t=`\n <div wj-part="div-type">\n <div class="wj-tabpanel">\n <div>\n <div wj-part="t-val" class="${exports.ColumnFilterEditorClsNames.filterHeader}"></div>\n <div>\n <div wj-part="div-edt-val" tabindex="-1"></div>\n </div>\n </div>\n <div>\n <div wj-part="t-cnd" class="${exports.ColumnFilterEditorClsNames.filterHeader}"></div>\n <div>\n <div wj-part="div-edt-cnd" tabindex="-1"></div>\n </div>\n </div>\n </div>\n ${e}\n </div>\n `;return`\n <div>\n ${`\n <div wj-part="div-sort" class="${exports.ColumnFilterEditorClsNames.sortButtons}">\n <button wj-part="btn-asc" class="${wijmo_1.InputFormElementsClsNames.btn}"></button>&nbsp;&nbsp;&nbsp;\n <button wj-part="btn-dsc" class="${wijmo_1.InputFormElementsClsNames.btn}"></button>\n </div>\n `}\n ${t}\n </div>\n `}static isCustomedTemplate(e){return e===ColumnFilterEditor._multiFilterTemplate||e===ColumnFilterEditor._singleFilterTemplate}get filter(){return this._filter}updateEditor(){this._edtVal&&this._edtVal.updateEditor();this._edtCnd&&this._edtCnd.updateEditor()}updateFilter(){let e=this.filter.filterMode;if(e==FilterMode.SingleFilter)switch(this._getFilterType()){case FilterType.Value:this._edtVal.updateFilter();this.filter.conditionFilter.clear();break;case FilterType.Condition:this._edtCnd.updateFilter();this.filter.valueFilter.clear()}else if(e==FilterMode.MultiFilter){this._edtVal&&this._edtVal.updateFilter();this._edtCnd&&this._edtCnd.updateFilter()}}onFilterChanged(e){this.filterChanged.raise(this,e)}onButtonClicked(e){this.buttonClicked.raise(this,e)}_showFilter(e){this._wasTouching=this.isTouching;if(this._filter.filterMode===FilterMode.MultiFilter){this._edtCnd||(this._edtCnd=new ConditionFilterEditor(this._divEdtCnd,this.filter.conditionFilter));this._edtVal||(this._edtVal=new ValueFilterEditor(this._divEdtVal,this.filter.valueFilter));this._edtVal._updateExceedsMaxValuesDisplay();this.bindEventsForMultiFilter();return}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._edtVal.focus();this._edtVal._updateExceedsMaxValuesDisplay();wijmo_1.enable(this._btnApply,this._edtVal.canApply)}else{this._divEdtVal.style.display="none";this._divEdtCnd.style.display="";this._edtCnd.focus();wijmo_1.enable(this._btnApply,this._edtCnd.canApply)}let t=[this._tCnd,this._tVal];switch(this.filter.filterType){case FilterType.None:case FilterType.Condition:case FilterType.Value:t.forEach(e=>{e.style.display="none"});break;default:t.forEach(e=>{e.style.display=""})}}getActiveFilterType(e){return this.filter.conditionFilter.isActive||0==(e.filterType&FilterType.Value)?FilterType.Condition:FilterType.Value}raiseFilterChangedHandler(){let e=this.filter._owner;e.onFilterChanged(new wijmo_grid_1.CellRangeEventArgs(e.grid.cells,new wijmo_grid_1.CellRange(-1,this.filter.column.index)))}bindEventsForMultiFilter(){const e=this._edtCnd,t=this._edtVal;e._cmb1.selectedIndexChanged.addHandler((t,i)=>{this.setConditionFilterChanged(e._val1);this._cmb1Timer=this.updateConditionEditorAndTirggerFilterChanged()});e._cmb2.selectedIndexChanged.addHandler((t,i)=>{this.setConditionFilterChanged(e._val2);this._cmb2Timer=this.updateConditionEditorAndTirggerFilterChanged()});e._val1.textChanged.addHandler(()=>{this._isConditionFilterChanged=!0;this._val1Timer=this.updateConditionEditorAndTirggerFilterChanged()});e._val2.textChanged.addHandler(()=>{this._isConditionFilterChanged=!0;this._val2Timer=this.updateConditionEditorAndTirggerFilterChanged()});e.hostElement.addEventListener("change",this._andOrChangedHandle);t._lbValues.itemChecked.addHandler(()=>{t.updateFilter();this.raiseFilterChangedHandler();this.onFilterChanged()});t._cbSelectAll.addEventListener("click",this._cbSelectAllClickedHandle);this._filterAppliedHandler=()=>{if(this._isConditionFilterChanged){this._edtVal.updateEditor();this._isConditionFilterChanged=!1}};this._filter._owner.filterApplied.addHandler(this._filterAppliedHandler)}updateConditionEditorAndTirggerFilterChanged(){return setTimeout(()=>{this.raiseFilterChangedHandler();this._edtCnd.updateFilter();this._isConditionFilterChanged&&this.onFilterChanged()},wijmo_1.Control._SEARCH_DELAY+100)}_cbSelectAllClicked(){this._edtVal.updateFilter();this.raiseFilterChangedHandler();this.onFilterChanged()}_andOrChanged(e){let t=e.target==this._edtCnd._btnAnd,i=e.target==this._edtCnd._btnOr;if(t||i){this.filter.conditionFilter.isActive&&(this._isConditionFilterChanged=!0);this._andOrTimer=this.updateConditionEditorAndTirggerFilterChanged()}}_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}setConditionFilterChanged(e){isValueInputDisplay(e.hostElement)?e.text&&(this._isConditionFilterChanged=!0):this._isConditionFilterChanged=!0}_btnClicked(e){let t=e.target;e.preventDefault();e.stopPropagation();if(!wijmo_1.hasClass(t,wijmo_1.ControlStateClsNames.disabled)){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,n=r.rng;null==n&&(n=new wijmo_grid_1.CellRange(r.row,r.col,r.row,r.col));let a=new wijmo_grid_1.CellRangeEventArgs(i,n,e);if(t.onSortingColumn(a)){s.deferUpdate(()=>{s.clear();s.push(new wijmo_1.SortDescription(l,e.target==this._btnAsc))});this._updateSortButtonState();t.onSortedColumn(a)}}}if(t==this._btnApply){this.updateFilter();this.onFilterChanged()}else if(t==this._btnClear){const e=this.filter.isActive;this.filter.clear();e&&this.onFilterChanged()}else this.updateEditor();this.onButtonClicked()}}dispose(){this._filterAppliedHandler&&this._filter._owner.filterApplied.removeHandler(this._filterAppliedHandler);if(this._cmb1Timer){clearTimeout(this._cmb1Timer);this._cmb1Timer=null}if(this._cmb2Timer){clearTimeout(this._cmb2Timer);this._cmb2Timer=null}if(this._val1Timer){clearTimeout(this._val1Timer);this._val1Timer=null}if(this._val2Timer){clearTimeout(this._val2Timer);this._val2Timer=null}if(this._andOrTimer){clearTimeout(this._andOrTimer);this._andOrTimer=null}this._btnApply&&this._btnApply.removeEventListener("click",this._btnClickedHandle);this._btnCancel&&this._btnCancel.removeEventListener("click",this._btnClickedHandle);this._btnClear&&this._btnClear.removeEventListener("click",this._btnClickedHandle);this._btnAsc&&this._btnAsc.removeEventListener("click",this._btnClickedHandle);this._btnDsc&&this._btnDsc.removeEventListener("click",this._btnClickedHandle);this._edtCnd&&this._andOrChangedHandle&&this._edtCnd.hostElement.removeEventListener("change",this._andOrChangedHandle);this._edtVal&&this._edtVal._cbSelectAll&&this._edtVal._cbSelectAll.removeEventListener("click",this._cbSelectAllClickedHandle);if(this._edtVal){this._edtVal.dispose();this._edtVal=null}if(this._edtCnd){this._edtCnd.dispose();this._edtCnd=null}if(this._tabPanel){this._tabPanel.dispose();this._tabPanel=null}super.dispose()}}ColumnFilterEditor._ctrlTemplate="";exports.ColumnFilterEditor=ColumnFilterEditor;function isValueInputDisplay(e){return"none"!==e.style.display}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"),wijmo_nav_1=require("@grapecity/wijmo.nav"),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",filterHeader:"wj-filter-header"};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",filterTopBorder:"wj-filter-tabPanel-top-border"};exports.ValueFilterEditorClsNames={hostElement:"wj-valuefilter-editor",customModalText:"wj-custom-modal-text",modalFooter:"wj-valuefilter-modal-footer",filterOptions:"wj-filter-options"};var FilterType,FilterMode,ValueFilterSearchKind,Operator;!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={}));!function(e){e[e.SingleFilter=0]="SingleFilter";e[e.MultiFilter=1]="MultiFilter"}(FilterMode=exports.FilterMode||(exports.FilterMode={}));class FlexGridFilter{constructor(e,t){this._showIcons=!0;this._showSort=!0;this._defFilterType=FilterType.Both;this._defFilterMode=FilterMode.SingleFilter;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));this._g.columns.collectionChanged.addHandler(this._adjustBindingColumns,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(wijmo_1._ENV_TOOLS.isSameInstance(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 defaultFilterMode(){return this._defFilterMode}set defaultFilterMode(e){if((e=wijmo_1.asEnum(e,FilterMode,!1))!=this._defFilterMode){this._defFilterMode=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>`),n=this.getColumnFilter(e),a=new ColumnFilterEditor(r,n,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;a.filterChanged.addHandler(()=>{s.cancel=!1;setTimeout(()=>{s.cancel||this.apply()},a._edtVal&&a._edtVal._isFiltering?wijmo_1.Control._SEARCH_DELAY+200:0)});a.buttonClicked.addHandler(()=>{this.closeEditor();l.focus();this.onFilterChanged(s)});a.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,_=t&&t.panel&&h&&t.panel._uid==h._uid?t.row:h.rows.length-1,u=o,c=i||h.getCellElement(_,u),p=c?null:h.getCellBoundingRect(_,u);c?wijmo_1.showPopup(r,c,!1,!1,!1):wijmo_1.showPopup(r,p);let m=e.header,w=wijmo_1.format(wijmo_1.culture.FlexGridFilter.accessibilityHelperMessage.filter.filterColumn,{name:m});l.announceShortcut(w);this._adjustTabPanelStyle(n);this._setAriaExpanded(c,!0);this._setAriaExpanded(l.cells.getCellElement(-1,u),!0);let f=a.hostElement.querySelectorAll("input");for(let e=0;e<f.length;e++){let t=f[e];if(t.offsetHeight>0&&t.tabIndex>-1&&!t.disabled){t.focus();break}}a.containsFocus()||a.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;if(t){wijmo_1.hidePopup(t.hostElement,()=>{t.dispose()});let i=wijmo_1.culture.FlexGridFilter.accessibilityHelperMessage.filter.closeFilterDialog;e.announceShortcut(i)}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}_adjustTabPanelStyle(e){if(e){const t=e.filterType!==FilterType.Both,i=document.querySelector('[wj-part="tabpanes"]');t&&i&&wijmo_1.toggleClass(i,exports.FlexGridFilterClsNames.filterTopBorder)}}_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),n=this._filterColumns;n&&n.length&&n.indexOf(s.binding)<0&&n.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);if(0==t.row){r=e.cells.getCellElement(-1,t.col);r&&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){const t=e.ctrlKey||e.metaKey,i=!e.defaultPrevented&&!t&&e.altKey,l=i&&e.keyCode===wijmo_1.Key.Up,s=i&&e.keyCode===wijmo_1.Key.Down,r=!e.defaultPrevented&&t&&e.shiftKey&&e.keyCode===wijmo_1.Key.F;if(l||s||r){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,n=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&&(n=!0);if(s&&(!n||r)){let t=this.getColumnFilter(s,!1);if(t&&t.filterType!=FilterType.None){this.editColumnFilter(s);e.preventDefault();e.stopPropagation()}}}}_removeFilter(e){this._filters.splice(e,1)}_adjustBindingColumns(e,t){if(t.action==wijmo_1.NotifyCollectionChangedAction.Reset){const e=this._filters;if(e&&e.length>0)for(let t=e.length-1;t>=0;t--){const i=e[t],l=i.column;if(l.binding){const e=this._asColumn(l.binding);e?e!==l&&i._setColumn(e):this._removeFilter(t)}}}}}FlexGridFilter._WJC_FILTER=exports.FlexGridFilterClsNames.elemFilter;exports.FlexGridFilter=FlexGridFilter;exports.empty={};class ColumnFilter{constructor(e,t){this._ariaLabel=wijmo_1.culture.FlexGridFilter.ariaLabels.dialog;this._owner=e;this._col=t;this._valueFilter=new ValueFilter(t);this._valueFilter.setColumnFilter(this);this._valueFilter.exclusiveValueSearch=e.exclusiveValueSearch;this._valueFilter.showIncludeSelection=e.showIncludeSelection;this._conditionFilter=new ConditionFilter(t);this._conditionFilter.setColumnFilter(this);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 filterMode(){return null!=this._filterMode?this._filterMode:this._owner.defaultFilterMode}set filterMode(e){if((e=wijmo_1.asEnum(e,FilterMode,!0))!=this._filterMode){let t=this.isActive;this.clear();this._filterMode=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}_setColumn(e){this._col=e;this._valueFilter&&this._valueFilter._setColumn(e);this._conditionFilter&&this._conditionFilter._setColumn(e)}get ariaLabel(){return this._ariaLabel}set ariaLabel(e){e!=this._ariaLabel&&(this._ariaLabel=e)}get isActive(){return this._conditionFilter.isActive||this._valueFilter.isActive}apply(e){let t=this._conditionFilter.apply(e);this._valueFilter._cancelFilter||(t=t&&this._valueFilter.apply(e));return t}clear(){this._valueFilter.clear();this._conditionFilter.clear()}implementsInterface(e){return"IColumnFilter"==e}}exports.ColumnFilter=ColumnFilter;!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._allValues=null;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}_setColumn(e){this._col=e}get isActive(){let e=null!=this._values;return this._columnFilter&&this._columnFilter.filterMode===FilterMode.MultiFilter?e:e&&Object.keys(this._values).length>0}apply(e){let t=this.column;if(!t||!t._binding||!this.isActive)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,n=r?r.sourceCollection:[];if(e&&r&&r.sourceCollection&&r.filter)try{this._columnFilter&&this._columnFilter.filterMode===FilterMode.MultiFilter&&this._columnFilter.conditionFilter.isActive?this._cancelFilter=!0:FlexGridFilter._skipColumn=this._col;let e=[];for(let t=0;t<n.length;t++)r.filter(n[t])&&e.push(n[t]);n=e}finally{this._cancelFilter=!1;FlexGridFilter._skipColumn=null}for(let e=0;e<n.length;e++){let r=i._binding.getValue(n[e]),a=this.dataMap?this.dataMap.getDisplayValue(r)||"":i.dataMap?i.dataMap.getDisplayValue(r)||"":l(r,i.format);if(!s[a]){s[a]=!0;t.push({value:r,text:a})}}return t}implementsInterface(e){return"IColumnFilter"==e}setColumnFilter(e){this._columnFilter=e}updateShowStatus(e){if(this.showValues&&0!=Object.keys(this.showValues).length){for(let t in this.showValues)for(let i=0;i<e.length;i++)if(e[i].text==t){e[i].show=!0;break}}else e.forEach(e=>e.show=!0);return e}setInitialAllValues(){let e=this.getUniqueValues(!1);this._allValues=this.updateShowStatus(e)}}exports.ValueFilter=ValueFilter;class ValueFilterEditor extends wijmo_1.Control{constructor(e,t){super(e);this._canApply=!1;this._isFiltering=!1;this._filterTextChangedBnd=this._filterTextChanged.bind(this);this._cbSelectAllClickedBnd=this._cbSelectAllClicked.bind(this);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;this._divExceeds.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);wijmo_1.setAttribute(this._divValues,"aria-live","polite");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,keyActionPrintCharacters:0,keyActionTab:0});this._cmbFilter.isEditable=!0;const r=this._divFilter.querySelector(".wj-input-group");if(r){const e=document.createElement("span");e.classList.add("wj-glyph-search");r.insertBefore(e,r.firstChild)}this._lbValues=new input.ListBox(this._divValues,{displayMemberPath:"text",checkedMemberPath:"show",itemsSource:this._view,itemFormatter:(e,t)=>t||l.null,checkedItemsChanged:e=>this._updateSelectAllCheck()});this._lbValues._isNeedUpdateBnd=this._isSingleFilterMode();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._filterTextChangedBnd);this._cbSelectAll.addEventListener("click",this._cbSelectAllClickedBnd);if(!this._popup){this._initPopup();this._aExceeds&&this.addEventListener(this._aExceeds,"click",e=>{e.preventDefault();this._popup.show(!0)})}this.updateEditor();wijmo_1.setAttribute(this._lbValues.hostElement,"tabindex","-1");this._filter.showValues?this._initialItems=s.sourceCollection.filter(e=>this._filter.showValues[e.text||e.value]||!1):this._initialItems=this._lbValues.checkedItems;this._isSingleFilterMode()||this._filter.setInitialAllValues()}static get controlTemplate(){ValueFilterEditor._ctrlTemplate||(ValueFilterEditor._ctrlTemplate=`<div><div wj-part="div-filter"></div><div wj-part="div-options" class="${input.ListBoxClsNames.listBoxItem} ${exports.ValueFilterEditorClsNames.filterOptions}"><label wj-part="select-all-container"><input wj-part="cb-select-all" type="checkbox" class="wj-custom-checkbox"> <span wj-part="sp-select-all"></span></label><br /><label wj-part="lbl-include-sel"><input wj-part="cb-include-sel" type="checkbox" class="wj-custom-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&&this._isSingleFilterMode())t.forEach(e=>e.show=!0);else for(let e in i)for(let i=0;i<t.length;i++)if(t[i].text==e){t[i].show=!0;break}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;this._adjustWidthsTimer=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,t=this._filter,i=null;e=this._isSingleFilterMode()?this._getItems():this._filter._allValues=wijmo_1.replaceItems(this._filter._allValues,this._view.sourceCollection);if(!this._isSingleFilterMode()||this._filterText||this._cbSelectAll.indeterminate){i=this._shouldIncludeSelection&&this._filter.showValues||{};for(let t=0;t<e.length;t++){let l=e[t];l.show&&(i[l.text]=!0)}}t.showValues=i;t.filterText=this._filterText}updateFilter(){this._isFiltering?this._updateFilterTimer=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(this._isSingleFilterMode()){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}}}else this._filter.filterText=e;if(this._filter.exclusiveValueSearch){this._cbSelectAll.checked=!1;this._cbSelectAll.click()}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.replace(/([.+^$[\]\\(){}|-])/g,"\\$1");i=i.replace(/~~/g,"__`$0`__");i=i.replace(/~\?/g,"__`$1`__");i=i.replace(/~\*/g,"__`$2`__");i=i.replace(/~(.)/g,"$1");i=i.replace(/(\?+)/g,(function(e,t){return Array.from(t).map(e=>".").join("")}));i=i.replace(/(\*+)/g,(function(e,t){return Array.from(t).map(e=>".*").join("")}));i=i.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)}_getActualItems(){return this._isSingleFilterMode()?this._getItems():this.exceedsMaxValues?this._view._view:this._view.items}_cbSelectAllClicked(){let e=this._cbSelectAll.checked,t=this._divValues.scrollTop,i=this._getActualItems();for(let t=0;t<i.length;t++)i[t].show=e;this._view.refresh();this._divValues.scrollTop=t;this._adjustWidthsTimer=setTimeout(()=>{this._adjustWidths()},0)}_updateSelectAllCheck(){let e=this._getActualItems(),t=0,i=0;for(let l=0;l<e.length;l++){e[l].show?t++:i++;if(t&&i)break}let l=t&&i?null:t>0;wijmo_1.setChecked(this._cbSelectAll,l);null==l?this._cbSelectAll.setAttribute("data-indeterminate","true"):this._cbSelectAll.removeAttribute("data-indeterminate");this.canApply=t>0}_adjustWidths(){let e=this._lbValues.hostElement;if(e&&e.offsetHeight>0){let t=0,i=e.querySelectorAll("."+input.ListBoxClsNames.listBoxItem);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)for(let e=0;e<i.length;e++)i[e].style.width=t+"px"}}}}get exceedsMaxValues(){return!(!this._view||!this._view._view)&&this._view._view.length>this.filter.maxValues}_updateExceedsMaxValuesDisplay(){this._divExceeds.style.display=this.exceedsMaxValues?"":"none"}_initPopup(){let e=document.createElement("div");const t=this.hostElement.getAttribute("lang");e.innerHTML=`\n <div role="dialog" aria-modal="true" aria-describedby="dialogDesc" ${t?`lang="${t}"`:""}><div class=${input.PopupClsNames.dialogBody}><div class=${exports.ValueFilterEditorClsNames.customModalText}><p id="dialogDesc">`+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})}_isSingleFilterMode(){return!this._filter._columnFilter||this._filter._columnFilter.filterMode==FilterMode.SingleFilter}dispose(){if(this._lbValues){this._lbValues.dispose();this._lbValues=null}this._cbSelectAll&&this._cbSelectAll.removeEventListener("click",this._cbSelectAllClickedBnd);if(this._cmbFilter){this._cmbFilter.inputElement&&this._cmbFilter.inputElement.removeEventListener("input",this._filterTextChangedBnd);this._cmbFilter.dispose();this._cmbFilter=null}if(this._view){this._view.collectionChanged.removeHandler(this._updateSelectAllCheck,this);this._view=null}if(this._adjustWidthsTimer){clearTimeout(this._adjustWidthsTimer);this._adjustWidthsTimer=null}if(this._updateFilterTimer){clearTimeout(this._updateFilterTimer);this._updateFilterTimer=null}if(this._toFilter){clearTimeout(this._toFilter);this._toFilter=null}if(this._popup&&!this._popup.isVisible){this._popup.dispose();this._popup=null}this._filter=null;this._initialItems=null;this._rxFilter=null;this._filterText=null;super.dispose()}}ValueFilterEditor._ctrlTemplate="";exports.ValueFilterEditor=ValueFilterEditor;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}_setColumn(e){this._col=e}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 n=this.dataMap||t.dataMap;if(n)e=n.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 a=i.apply(e,s,r),o=l.apply(e,s,r);return i.isActive&&l.isActive?this._and?a&&o:a||o:i.isActive?a:!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}setColumnFilter(e){this._columnFilter=e}}exports.ConditionFilter=ConditionFilter;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(){if(this._filter._columnFilter&&this._filter._columnFilter.filterMode==FilterMode.MultiFilter)switch(this._op){case null:return!1;case Operator.BLANK:case Operator.NOTBLANK:return!0;default:return""!==this._val&&null!==this._val}else 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;case s.BLANK:return isBlankValue(e);case s.NOTBLANK:return!isBlankValue(e)}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";e[e.BLANK=100]="BLANK";e[e.NOTBLANK=101]="NOTBLANK"}(Operator=exports.Operator||(exports.Operator={}));function isBlankValue(e){return null==e||""===e}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",_lblVal:"lbl-val",_divHdr2:"div-hdr-second",_lblVal2:"lbl-val-second"});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.setAttribute(this._btnAnd,"aria-describedby","filterAndDesc");wijmo_1.setAttribute(this._btnOr,"aria-describedby","filterOrDesc");this._spAnd.id="filterAndDesc";this._spOr.id="filterOrDesc";wijmo_1.setText(this._divHdr,l.header);wijmo_1.setText(this._spAnd,l.and);wijmo_1.setText(this._spOr,l.or);wijmo_1.setText(this._lblVal,s.val1);wijmo_1.setText(this._divHdr2,l.header);wijmo_1.setText(this._lblVal2,s.val2);this._linkLabelToInput(this._divHdr,this._divCmb1,"cmb1");this._linkLabelToInput(this._divHdr2,this._divCmb2,"cmb2");this._cmb1=this._createOperatorCombo(this._divCmb1,s.op1);this._val1=this._createValueInput(this._divVal1,s.val1);this._cmb2=this._createOperatorCombo(this._divCmb2,s.op2);this._val2=this._createValueInput(this._divVal2,s.val2);this._val1.hostElement.style.display="none";this._lblVal.style.display="none";this._cmb1.selectedIndexChanged.addHandler((e,t)=>{const i=null==e.selectedValue||this._isShowConditionValuePart(e.selectedValue);this._val1.hostElement.style.display=i?"none":"";this._lblVal.style.display=i?"none":"";wijmo_1.setAttribute(this._val1.hostElement,"aria-hidden",i.toString());this.canApply=!i||"none"!==this._val2.hostElement.style.display});this._val2.hostElement.style.display="none";this._lblVal2.style.display="none";this._cmb2.selectedIndexChanged.addHandler((e,t)=>{const i=null==e.selectedValue||this._isShowConditionValuePart(e.selectedValue);this._val2.hostElement.style.display=i?"none":"";this._lblVal2.style.display=i?"none":"";wijmo_1.setAttribute(this._val2.hostElement,"aria-hidden",i.toString());this.canApply="none"!==this._val1.hostElement.style.display||!i});this.addEventListener(this._lblVal,"click",e=>this._onLabelClick(e,this._val1));this.addEventListener(this._lblVal2,"click",e=>this._onLabelClick(e,this._val2));let r=this.hostElement;this.addEventListener(r,"change",this._btnAndOrChanged.bind(this));this.addEventListener(r,"keydown",this._keydown.bind(this));this.updateEditor()}static get controlTemplate(){ConditionFilterEditor._ctrlTemplate||(ConditionFilterEditor._ctrlTemplate='<div><label wj-part="div-hdr"></label><div wj-part="div-cmb1"></div><br/><label wj-part="lbl-val"></label><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><label wj-part="div-hdr-second"></label><div wj-part="div-cmb2"></div><br/><label wj-part="lbl-val-second"></label><div wj-part="div-val2"></div><br/></div>');return ConditionFilterEditor._ctrlTemplate}static set controlTemplate(e){ConditionFilterEditor._ctrlTemplate=e}_isShowConditionValuePart(e){return e==Operator.BLANK||e==Operator.NOTBLANK}_linkLabelToInput(e,t,i){const l=wijmo_1.getUniqueId(i);e.htmlFor=l;t.id=l}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)if(!this._isSingleFilterMode()&&this._val1._cal&&this._val1._getParsedValue){e.value=this._val1._getParsedValue();t.value=this._val2._getParsedValue()}else{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));this._isSingleFilterMode()||(s=s.concat(l.multiFilterBlankOperators));let n=new input.ComboBox(e,{itemsSource:s,displayMemberPath:"name",selectedValuePath:"op",keyActionPrintCharacters:0});wijmo_1.setAriaLabel(n.inputElement,t);return n}_createValueInput(e,t){let i=this._filter,l=i.column,s=i.dataMap||l.dataMap,r=null,n=wijmo_1.DataType;if(l.dataType==n.Date){r=i._hasDatePart()?i._hasTimePart()?new input.InputDateTime(e):new input.InputDate(e):new input.InputTime(e,{keyActionPrintCharacters:0});r.format=l.format}else if(l.dataType!=n.Number||s){r=new input.ComboBox(e);r.isEditable=!0;r.trimText=!1;r.keyActionPrintCharacters=0;if(s){r.itemsSource=s.getDisplayValues();r.caseSensitiveSearch=!!l.grid&&l.grid.caseSensitiveSearch}else l.dataType==n.Boolean&&(r.itemsSource=[!0,!1])}else{r=new input.InputNumber(e);r.step=1;r.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()}}_onLabelClick(e,t){t.focus()}_isSingleFilterMode(){return!this._filter._columnFilter||this._filter._columnFilter.filterMode==FilterMode.SingleFilter}}ConditionFilterEditor._ctrlTemplate="";exports.ConditionFilterEditor=ConditionFilterEditor;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"},accessibilityHelperMessage:{filter:{filterColumn:"Show column {name} filter dialog",closeFilterDialog:"Close Filter dialog"}},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}],multiFilterBlankOperators:[{name:"Nothing",op:Operator.BLANK},{name:"Not Nothing",op:Operator.NOTBLANK}],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._btnClickedHandle=this._btnClicked.bind(this);this._cbSelectAllClickedHandle=this._cbSelectAllClicked.bind(this);this._andOrChangedHandle=this._andOrChanged.bind(this);this._isConditionFilterChanged=!1;this.filterChanged=new wijmo_1.Event;this.buttonClicked=new wijmo_1.Event;this._filter=wijmo_1.asType(t,ColumnFilter);ColumnFilterEditor.isCustomedTemplate(ColumnFilterEditor.controlTemplate)&&(this._filter.filterMode===FilterMode.MultiFilter?ColumnFilterEditor.controlTemplate=ColumnFilterEditor._multiFilterTemplate:ColumnFilterEditor.controlTemplate=ColumnFilterEditor._singleFilterTemplate);let l=this.getTemplate();this._filter.filterMode===FilterMode.MultiFilter?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",_divEdtVal:"div-edt-val",_divEdtCnd:"div-edt-cnd",_btnClear:"btn-clear"}):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",_tVal:"t-val",_tCnd:"t-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,n=this.hostElement,a=this.filter.column,o=a.grid.collectionView;wijmo_1.setAttribute(n,"role","dialog");wijmo_1.setAttribute(n,"aria-label",this._filter._ariaLabel);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._btnClear,s.clear);if(this._filter.filterMode===FilterMode.SingleFilter){wijmo_1.setText(this._tVal,s.values);wijmo_1.setText(this._tCnd,s.conditions);wijmo_1.setText(this._btnApply,s.apply);wijmo_1.setText(this._btnCancel,s.cancel);this._tabPanel=new wijmo_nav_1.TabPanel(this._divType.querySelector(".wj-tabpanel"),{isAnimated:!1,autoSwitch:!0,selectedIndexChanged:e=>{if(this.filter.filterType===FilterType.Both)if(e._isInitialized){let i=this.getActiveFilterType(t);e.selectedIndex=i===FilterType.Value?0:1;this._showFilter(i)}else this._showFilter(0===e.selectedIndex?FilterType.Value:FilterType.Condition);else{e.selectedIndex=this.filter.filterType===FilterType.Value?0:1;this._showFilter(this.filter.filterType)}}});this._showFilter(this.getActiveFilterType(t))}else this._showFilter();if(!a.allowSorting||this._disallowedControls.has(a.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();this._btnApply&&this._btnApply.addEventListener("click",this._btnClickedHandle);this._btnCancel&&this._btnCancel.addEventListener("click",this._btnClickedHandle);this._btnClear.addEventListener("click",this._btnClickedHandle);this._btnAsc.addEventListener("click",this._btnClickedHandle);this._btnDsc.addEventListener("click",this._btnClickedHandle);this.addEventListener(n,"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",()=>{if(!this.isTouching&&!this._wasTouching)if(this.filter.filterMode===FilterMode.SingleFilter)this.onButtonClicked();else{let e=this.filter.column,t=e.grid.columnHeaders,i=t.rows.length-1,l=e.index,s=t.getCellElement(i,l),r=s?null:t.getCellBoundingRect(i,l);s?wijmo_1._updatePopupPosition(this.hostElement,s,wijmo_1.PopupPosition.BelowLeft):wijmo_1._updatePopupPosition(this.hostElement,r,wijmo_1.PopupPosition.BelowLeft)}})}static get controlTemplate(){ColumnFilterEditor._ctrlTemplate||(ColumnFilterEditor._ctrlTemplate=ColumnFilterEditor._singleFilterTemplate);return ColumnFilterEditor._ctrlTemplate}static set controlTemplate(e){ColumnFilterEditor._ctrlTemplate=e}static get _multiFilterTemplate(){const e=`\n <div wj-part="div-multi-filter">\n <div wj-part="div-edt-cnd" tabindex="-1"></div>\n <div wj-part="div-edt-val" tabindex="-1"></div>\n ${`\n <div style="text-align:right;margin-top:10px">\n <button wj-part="btn-clear" class="${wijmo_1.InputFormElementsClsNames.btn}"></button>\n </div>\n `}\n </div>\n `;return`\n <div>\n ${`\n <div wj-part="div-sort" class="${exports.ColumnFilterEditorClsNames.sortButtons}">\n <button wj-part="btn-asc" class="${wijmo_1.InputFormElementsClsNames.btn}"></button>&nbsp;&nbsp;&nbsp;\n <button wj-part="btn-dsc" class="${wijmo_1.InputFormElementsClsNames.btn}"></button>\n </div>\n `}\n ${e}\n </div>\n `}static get _singleFilterTemplate(){const e=`\n <div style="text-align:right;margin-top:10px">\n <button wj-part="btn-apply" class="${wijmo_1.InputFormElementsClsNames.btn}"></button>&nbsp;&nbsp;\n <button wj-part="btn-cancel" class="${wijmo_1.InputFormElementsClsNames.btn}"></button>&nbsp;&nbsp;\n <button wj-part="btn-clear" class="${wijmo_1.InputFormElementsClsNames.btn}"></button>\n </div>\n `,t=`\n <div wj-part="div-type">\n <div class="wj-tabpanel">\n <div>\n <div wj-part="t-val" class="${exports.ColumnFilterEditorClsNames.filterHeader}"></div>\n <div>\n <div wj-part="div-edt-val" tabindex="-1"></div>\n </div>\n </div>\n <div>\n <div wj-part="t-cnd" class="${exports.ColumnFilterEditorClsNames.filterHeader}"></div>\n <div>\n <div wj-part="div-edt-cnd" tabindex="-1"></div>\n </div>\n </div>\n </div>\n ${e}\n </div>\n `;return`\n <div>\n ${`\n <div wj-part="div-sort" class="${exports.ColumnFilterEditorClsNames.sortButtons}">\n <button wj-part="btn-asc" class="${wijmo_1.InputFormElementsClsNames.btn}"></button>&nbsp;&nbsp;&nbsp;\n <button wj-part="btn-dsc" class="${wijmo_1.InputFormElementsClsNames.btn}"></button>\n </div>\n `}\n ${t}\n </div>\n `}static isCustomedTemplate(e){return e===ColumnFilterEditor._multiFilterTemplate||e===ColumnFilterEditor._singleFilterTemplate}get filter(){return this._filter}updateEditor(){this._edtVal&&this._edtVal.updateEditor();this._edtCnd&&this._edtCnd.updateEditor()}updateFilter(){let e=this.filter.filterMode;if(e==FilterMode.SingleFilter)switch(this._getFilterType()){case FilterType.Value:this._edtVal.updateFilter();this.filter.conditionFilter.clear();break;case FilterType.Condition:this._edtCnd.updateFilter();this.filter.valueFilter.clear()}else if(e==FilterMode.MultiFilter){this._edtVal&&this._edtVal.updateFilter();this._edtCnd&&this._edtCnd.updateFilter()}}onFilterChanged(e){this.filterChanged.raise(this,e)}onButtonClicked(e){this.buttonClicked.raise(this,e)}_showFilter(e){this._wasTouching=this.isTouching;if(this._filter.filterMode===FilterMode.MultiFilter){this._edtCnd||(this._edtCnd=new ConditionFilterEditor(this._divEdtCnd,this.filter.conditionFilter));this._edtVal||(this._edtVal=new ValueFilterEditor(this._divEdtVal,this.filter.valueFilter));this._edtVal._updateExceedsMaxValuesDisplay();this.bindEventsForMultiFilter();return}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._edtVal.focus();this._edtVal._updateExceedsMaxValuesDisplay();wijmo_1.enable(this._btnApply,this._edtVal.canApply)}else{this._divEdtVal.style.display="none";this._divEdtCnd.style.display="";this._edtCnd.focus();wijmo_1.enable(this._btnApply,this._edtCnd.canApply)}let t=[this._tCnd,this._tVal];switch(this.filter.filterType){case FilterType.None:case FilterType.Condition:case FilterType.Value:t.forEach(e=>{e.style.display="none"});break;default:t.forEach(e=>{e.style.display=""})}}getActiveFilterType(e){return this.filter.conditionFilter.isActive||0==(e.filterType&FilterType.Value)?FilterType.Condition:FilterType.Value}raiseFilterChangedHandler(){let e=this.filter._owner;e.onFilterChanged(new wijmo_grid_1.CellRangeEventArgs(e.grid.cells,new wijmo_grid_1.CellRange(-1,this.filter.column.index)))}bindEventsForMultiFilter(){const e=this._edtCnd,t=this._edtVal;e._cmb1.selectedIndexChanged.addHandler((t,i)=>{this.setConditionFilterChanged(e._val1);this._cmb1Timer=this.updateConditionEditorAndTirggerFilterChanged()});e._cmb2.selectedIndexChanged.addHandler((t,i)=>{this.setConditionFilterChanged(e._val2);this._cmb2Timer=this.updateConditionEditorAndTirggerFilterChanged()});e._val1.textChanged.addHandler(()=>{this._isConditionFilterChanged=!0;this._val1Timer=this.updateConditionEditorAndTirggerFilterChanged()});e._val2.textChanged.addHandler(()=>{this._isConditionFilterChanged=!0;this._val2Timer=this.updateConditionEditorAndTirggerFilterChanged()});e.hostElement.addEventListener("change",this._andOrChangedHandle);t._lbValues.itemChecked.addHandler(()=>{t.updateFilter();this.raiseFilterChangedHandler();this.onFilterChanged()});t._cbSelectAll.addEventListener("click",this._cbSelectAllClickedHandle);this._filterAppliedHandler=()=>{if(this._isConditionFilterChanged){this._edtVal.updateEditor();this._isConditionFilterChanged=!1}};this._filter._owner.filterApplied.addHandler(this._filterAppliedHandler)}updateConditionEditorAndTirggerFilterChanged(){return setTimeout(()=>{this.raiseFilterChangedHandler();this._edtCnd.updateFilter();this._isConditionFilterChanged&&this.onFilterChanged()},wijmo_1.Control._SEARCH_DELAY+100)}_cbSelectAllClicked(){this._edtVal.updateFilter();this.raiseFilterChangedHandler();this.onFilterChanged()}_andOrChanged(e){let t=e.target==this._edtCnd._btnAnd,i=e.target==this._edtCnd._btnOr;if(t||i){this.filter.conditionFilter.isActive&&(this._isConditionFilterChanged=!0);this._andOrTimer=this.updateConditionEditorAndTirggerFilterChanged()}}_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}setConditionFilterChanged(e){isValueInputDisplay(e.hostElement)?e.text&&(this._isConditionFilterChanged=!0):this._isConditionFilterChanged=!0}_btnClicked(e){let t=e.target;e.preventDefault();e.stopPropagation();if(!wijmo_1.hasClass(t,wijmo_1.ControlStateClsNames.disabled)){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,n=r.rng;null==n&&(n=new wijmo_grid_1.CellRange(r.row,r.col,r.row,r.col));let a=new wijmo_grid_1.CellRangeEventArgs(i,n,e);if(t.onSortingColumn(a)){s.deferUpdate(()=>{s.clear();s.push(new wijmo_1.SortDescription(l,e.target==this._btnAsc))});this._updateSortButtonState();t.onSortedColumn(a)}}}if(t==this._btnApply){this.updateFilter();this.onFilterChanged()}else if(t==this._btnClear){const e=this.filter.isActive;this.filter.clear();e&&this.onFilterChanged()}else this.updateEditor();this.onButtonClicked()}}dispose(){this._filterAppliedHandler&&this._filter._owner.filterApplied.removeHandler(this._filterAppliedHandler);if(this._cmb1Timer){clearTimeout(this._cmb1Timer);this._cmb1Timer=null}if(this._cmb2Timer){clearTimeout(this._cmb2Timer);this._cmb2Timer=null}if(this._val1Timer){clearTimeout(this._val1Timer);this._val1Timer=null}if(this._val2Timer){clearTimeout(this._val2Timer);this._val2Timer=null}if(this._andOrTimer){clearTimeout(this._andOrTimer);this._andOrTimer=null}this._btnApply&&this._btnApply.removeEventListener("click",this._btnClickedHandle);this._btnCancel&&this._btnCancel.removeEventListener("click",this._btnClickedHandle);this._btnClear&&this._btnClear.removeEventListener("click",this._btnClickedHandle);this._btnAsc&&this._btnAsc.removeEventListener("click",this._btnClickedHandle);this._btnDsc&&this._btnDsc.removeEventListener("click",this._btnClickedHandle);this._edtCnd&&this._andOrChangedHandle&&this._edtCnd.hostElement.removeEventListener("change",this._andOrChangedHandle);this._edtVal&&this._edtVal._cbSelectAll&&this._edtVal._cbSelectAll.removeEventListener("click",this._cbSelectAllClickedHandle);if(this._edtVal){this._edtVal.dispose();this._edtVal=null}if(this._edtCnd){this._edtCnd.dispose();this._edtCnd=null}if(this._tabPanel){this._tabPanel.dispose();this._tabPanel=null}super.dispose()}}ColumnFilterEditor._ctrlTemplate="";exports.ColumnFilterEditor=ColumnFilterEditor;function isValueInputDisplay(e){return"none"!==e.style.display}wijmo_1._registerModule("wijmo.grid.filter",selfModule);