@grapecity/wijmo.grid.filter 5.20252.42 → 5.20261.48

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.
package/es5-esm.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * Wijmo Library 5.20252.42
3
+ * Wijmo Library 5.20261.48
4
4
  * https://developer.mescius.com/wijmo
5
5
  *
6
6
  * Copyright(c) MESCIUS inc. All rights reserved.
@@ -11,4 +11,4 @@
11
11
  *
12
12
  */
13
13
 
14
- var __extends=this&&this.__extends||function(){var extendStatics=function(e,t){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)};return function(e,t){extendStatics(e,t);function __(){this.constructor=e}e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)}}();import{Column,DataMap,FlexGrid,DataMapEditor,CellRange,CellRangeEventArgs,CellType,_NewRowTemplate}from"@grapecity/wijmo.grid";import{Globalize,asString,asNumber,asArray,asBoolean,asType,asEnum,CollectionView,isString,isDate,DateTime,culture,isNumber,setAttribute,copy,changeType,showPopup,hidePopup,isFunction,createElement,toggleClass,removeClass,closestClass,setAriaLabel,Control,Event,DataType,Key,GlyphClsNames,InputFormElementsClsNames,UtilitesClsNames,NotifyCollectionChangedAction,format,setText,escapeRegExp,setChecked,SortDescription,SortNulls,ControlClsNames,replaceItems,getUniqueId,_addCultureInfo,enable,moveFocus,hasClass,addClass,ControlStateClsNames,_updatePopupPosition,PopupPosition,_registerModule}from"@grapecity/wijmo";import{DropDown,DropDownClsNames}from"@grapecity/wijmo.input";import{TabPanel}from"@grapecity/wijmo.nav";import*as input from"@grapecity/wijmo.input";import*as selfModule from"@grapecity/wijmo.grid.filter";export var ColumnFilterEditorClsNames={filterType:"wj-filtertype",hostElement:"wj-columnfiltereditor",sortButtons:"wj-sort-buttons",filterHeader:"wj-filter-header"};export var ConditionFilterEditorClsNames={hostElement:"wj-conditionfilter-editor"};export var FlexGridFilterClsNames={elemFilter:"wj-elem-filter",filter:"wj-filter",filterOff:"wj-filter-off",filterOn:"wj-filter-on",hostElement:"wj-columnfiltereditor",filterTopBorder:"wj-filter-tabPanel-top-border"};export var ValueFilterEditorClsNames={hostElement:"wj-valuefilter-editor",customModalText:"wj-custom-modal-text",modalFooter:"wj-valuefilter-modal-footer",filterOptions:"wj-filter-options"};export var FilterType;!function(e){e[e.None=0]="None";e[e.Condition=1]="Condition";e[e.Value=2]="Value";e[e.Both=3]="Both"}(FilterType||(FilterType={}));export var FilterMode;!function(e){e[e.SingleFilter=0]="SingleFilter";e[e.MultiFilter=1]="MultiFilter"}(FilterMode||(FilterMode={}));var FlexGridFilter=function(){function FlexGridFilter(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 Event;this.editingFilter=new Event;this.filterChanging=new Event;this.filterChanged=new Event;this.exclusiveValueSearchChanged=new Event;this._showIncludeSelectionChanged=new Event;this._filters=[];this._g=asType(e,FlexGrid,!1);this._g.formatItem.addHandler(this._formatItem.bind(this));this._g.itemsSourceChanged.addHandler(this.clear.bind(this));this._g.columns.collectionChanged.addHandler(this._adjustBindingColumns,this);var i=this._g.hostElement;e.addEventListener(i,"mousedown",this._mousedown.bind(this),!0);e.addEventListener(i,"click",this._click.bind(this),!0);e.addEventListener(i,"keydown",this._keydown.bind(this),!0);this._g.invalidate();copy(this,t);this._init()}FlexGridFilter.prototype._init=function(){var e=this,t=this.grid,_excludeRowFromFilter=function(t){var i=e.grid,l=e.excludedRowsSet;if(null!=i&&i.rows.length>t)if(i.itemsSource)if(i.rows[t]instanceof _NewRowTemplate){var r=i.editableCollectionView.currentAddItem||i.rows[t].dataItem;r&&l.add(r)}else i.rows[t].dataItem&&l.add(i.rows[t].dataItem);else i.rows[t]&&l.add(i.rows[t])};t.rowChanged&&t.rowChanged.addHandler((function(e,t){t.added&&_excludeRowFromFilter(t.index)}));t.rowEditEnding.addHandler((function(e,t){_excludeRowFromFilter(t.row)}));t.cellEditEnded.addHandler((function(e,t){_excludeRowFromFilter(t.row)}))};Object.defineProperty(FlexGridFilter.prototype,"excludedRowsSet",{get:function(){var e=this.grid;e.selectedSheet&&(e=e.selectedSheet);e._newAddedRowsSet||(e._newAddedRowsSet=new WeakSet);return e._newAddedRowsSet},set:function(e){var t=this.grid;t.selectedSheet&&(t=t.selectedSheet);t._newAddedRowsSet=e},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"grid",{get:function(){return this._g},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"filterColumns",{get:function(){return this._filterColumns},set:function(e){this._filterColumns=asArray(e);this.clear()},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"showFilterIcons",{get:function(){return this._showIcons},set:function(e){if(e!=this.showFilterIcons){this._showIcons=asBoolean(e);this._g&&this._g.invalidate()}},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"showSortButtons",{get:function(){return this._showSort},set:function(e){this._showSort=asBoolean(e)},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"reApplyFilterOnUpdate",{get:function(){return this._includeUpdatedRowsInFilter},set:function(e){e!==this._includeUpdatedRowsInFilter&&(this._includeUpdatedRowsInFilter=asBoolean(e))},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"showIncludeSelection",{get:function(){return this._showIncludeSelection},set:function(e){if(e!=this._showIncludeSelection){this._showIncludeSelection=asBoolean(e,!1);this._onShowIncludeSelectionChanged()}},enumerable:!0,configurable:!0});FlexGridFilter.prototype.getColumnFilter=function(e,t){void 0===t&&(t=!0);if(e=this._asColumn(e)){for(var i=0;i<this._filters.length;i++)if(this._filters[i].column==e)return this._filters[i];if(t&&e.binding){var l=new ColumnFilter(this,e);this._filters.push(l);return l}}return null};Object.defineProperty(FlexGridFilter.prototype,"defaultFilterType",{get:function(){return this._defFilterType},set:function(e){if((e=asEnum(e,FilterType,!1))!=this.defaultFilterType){this._defFilterType=e;this._g.invalidate();this.clear()}},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"defaultFilterMode",{get:function(){return this._defFilterMode},set:function(e){if((e=asEnum(e,FilterMode,!1))!=this._defFilterMode){this._defFilterMode=e;this._g.invalidate();this.clear()}},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"exclusiveValueSearch",{get:function(){return this._xValueSearch},set:function(e){if((e=asBoolean(e))!==this._xValueSearch){this._xValueSearch=e;this.onExclusiveValueSearchChanged()}},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"filterDefinition",{get:function(){var e=this,t={defaultFilterType:this.defaultFilterType,filters:[]};this._filters.forEach((function(i){var l=i.conditionFilter,r=i.valueFilter,n=r.uniqueValues&&r.uniqueValues.length;if(i&&i.column&&i.column.binding&&(i.isActive||n||i.filterType!=e.defaultFilterType)){var o={binding:i.column.binding};if(l.isActive){var a=l.condition1,s=l.condition2;o={binding:i.column.binding,type:"condition",condition1:{operator:a.operator,value:a.value},and:l.and,condition2:{operator:s.operator,value:s.value}}}else(r.isActive||n)&&(o={binding:i.column.binding,type:"value",uniqueValues:r.uniqueValues,sortValues:r.sortValues,maxValues:r.maxValues,exclusiveValueSearch:r.exclusiveValueSearch,showValues:r.showValues});i.filterType!=e.defaultFilterType&&(o.filterType=i.filterType);t.filters.push(o)}}));return JSON.stringify(t)},set:function(e){e=asString(e);this.clear();if(e){var t=JSON.parse(e);this.defaultFilterType=t.defaultFilterType;for(var _loop_1=function(e){var l=t.filters[e],r=i._asColumn(l.binding);r||(r=new Column({binding:l.binding}));var n=i.getColumnFilter(r,!0);if(n){null!=l.filterType&&(n.filterType=asEnum(l.filterType,FilterType));switch(l.type){case"condition":var o=n.conditionFilter;o.condition1.value=r.dataType==DataType.Date?changeType(l.condition1.value,r.dataType,null):l.condition1.value;o.condition1.operator=l.condition1.operator;o.and=l.and;o.condition2.value=r.dataType==DataType.Date?changeType(l.condition2.value,r.dataType,null):l.condition2.value;o.condition2.operator=l.condition2.operator;break;case"value":var a=n.valueFilter;a.uniqueValues=l.uniqueValues;["sortValues","maxValues","exclusiveValueSearch"].forEach((function(e){null!=l[e]&&(a[e]=l[e])}));a.showValues=l.showValues}}},i=this,l=0;l<t.filters.length;l++)_loop_1(l)}this.apply()},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"activeEditor",{get:function(){return Control.getControl(this._divEdt)},enumerable:!0,configurable:!0});FlexGridFilter.prototype.editColumnFilter=function(e,t,i){var l=this,r=this._g;this.closeEditor();e=this._asColumn(e);var n=new CellRangeEventArgs(r.cells,new CellRange(-1,e.index));if(this.onEditingFilter(n)){var o=createElement('<div class="'+DropDownClsNames.dropDownPanel+'"></div>'),a=this.getColumnFilter(e),s=new ColumnFilterEditor(o,a,this.showSortButtons);this._divEdt=o;this._edtCol=e;r.rightToLeft&&(o.dir="rtl");if(this.onFilterChanging(n)){n.cancel=!0;s.filterChanged.addHandler((function(){n.cancel=!1;setTimeout((function(){n.cancel||l.apply()}),s._edtVal&&s._edtVal._isFiltering?Control._SEARCH_DELAY+200:0)}));s.buttonClicked.addHandler((function(){l.closeEditor();r.focus();l.onFilterChanged(n)}));s.lostFocus.addHandler((function(){setTimeout((function(){var e=Control.getControl(l._divEdt);e&&!e.containsFocus()&&l.closeEditor()}),10)}));var d=t?t.col:e.index,u=r.columns[d];t||u&&u.binding==e.binding||(d=r.selection.leftCol);r._edtHdl._commitRowEdits();r.scrollIntoView(-1,d,!0);var c=r.columnHeaders,p=t&&t.panel&&c&&t.panel._uid==c._uid?t.row:c.rows.length-1,h=d,_=i||c.getCellElement(p,h),f=_?null:c.getCellBoundingRect(p,h);_?showPopup(o,_,!1,!1,!1):showPopup(o,f);var m=e.header,F=format(culture.FlexGridFilter.accessibilityHelperMessage.filter.filterColumn,{name:m});r.announceShortcut(F);this._adjustTabPanelStyle(a);this._setAriaExpanded(_,!0);this._setAriaExpanded(r.cells.getCellElement(-1,h),!0);for(var b=s.hostElement.querySelectorAll("input"),v=0;v<b.length;v++){var C=b[v];if(C.offsetHeight>0&&C.tabIndex>-1&&!C.disabled){C.focus();break}}s.containsFocus()||s.focus()}else this._divEdt=this._edtCol=null}};FlexGridFilter.prototype._setAriaExpanded=function(e,t){if(e){var i=e.querySelector("."+FlexGridFilter._WJC_FILTER);setAttribute(i,"aria-expanded",t)}};FlexGridFilter.prototype.closeEditor=function(){var e=this._g,t=Control.getControl(this._divEdt),i=this._edtCol;if(t){hidePopup(t.hostElement,(function(){t.dispose()}));var l=culture.FlexGridFilter.accessibilityHelperMessage.filter.closeFilterDialog;e.announceShortcut(l)}if(i){var r=e.columnHeaders,n=r.rows.length?r.getCellElement(r.rows.length-1,i.index):null;this._setAriaExpanded(n,!1);n=e.cells.getCellElement(-1,i.index);this._setAriaExpanded(n,!1)}this._divEdt=null;this._edtCol=null};FlexGridFilter.prototype.apply=function(){var e=this._g.collectionView;if(e){var t=this._g.editableCollectionView;if(t){t.commitEdit();t.commitNew()}this.excludedRowsSet=null;e.filter=this._filter.bind(this)}var i=e?e.updateFilterDefinition:null;isFunction(i)&&i.call(e,this);this.onFilterApplied()};FlexGridFilter.prototype.clear=function(){if(this._filters.length){this._filters=[];this.apply()}};FlexGridFilter.prototype.onFilterApplied=function(e){this.filterApplied.raise(this,e)};FlexGridFilter.prototype.onEditingFilter=function(e){this.editingFilter.raise(this,e);return!e.cancel};FlexGridFilter.prototype.onFilterChanging=function(e){this.filterChanging.raise(this,e);return!e.cancel};FlexGridFilter.prototype.onFilterChanged=function(e){this.filterChanged.raise(this,e)};FlexGridFilter.prototype.onExclusiveValueSearchChanged=function(e){this.exclusiveValueSearchChanged.raise(this,e)};FlexGridFilter.prototype._onShowIncludeSelectionChanged=function(e){this._showIncludeSelectionChanged.raise(this,e)};FlexGridFilter.prototype._asColumn=function(e){return isString(e)?this._g.getColumn(e,!0):isNumber(e)?this._g.columns[e]:asType(e,Column,!1)};FlexGridFilter.prototype._filter=function(e){var t=this.excludedRowsSet;if(!this.reApplyFilterOnUpdate&&t.has(e))return!0;for(var i=this._filters,l=0;l<i.length;l++){var r=i[l];if(r.column!=FlexGridFilter._skipColumn&&!r.apply(e))return!1}return!0};FlexGridFilter.prototype._adjustTabPanelStyle=function(e){if(e){var t=e.filterType!==FilterType.Both,i=document.querySelector('[wj-part="tabpanes"]');t&&i&&toggleClass(i,FlexGridFilterClsNames.filterTopBorder)}};FlexGridFilter.prototype._formatItem=function(e,t){if(t.panel==e.columnHeaders){var i=this._g,l=i.getMergedRange(t.panel,t.row,t.col)||new CellRange(t.row,t.col),r=i.columns[l.col],n=i._getBindingColumn(t.panel,t.row,r),o=t.cell;if(l.row2==t.panel.rows.length-1||r!=n){var a=this.getColumnFilter(n,this.defaultFilterType!=FilterType.None),s=this._filterColumns;s&&s.length&&s.indexOf(n.binding)<0&&s.indexOf(n.name)<0&&(a=null);if(a){toggleClass(o,FlexGridFilterClsNames.filterOn,a.isActive);toggleClass(o,FlexGridFilterClsNames.filterOff,!a.isActive)}else{removeClass(o,FlexGridFilterClsNames.filterOn);removeClass(o,FlexGridFilterClsNames.filterOff)}if(a&&a.filterType!=FilterType.None){this._showIcons&&this._addFilterButton(n,a,o);0==t.row&&(o=i.cells.getCellElement(-1,t.col))&&this._addFilterButton(r,a,o)}}}};FlexGridFilter.prototype._addFilterButton=function(e,t,i){var l=FlexGridFilter._WJC_FILTER,r=createElement('<button class="'+InputFormElementsClsNames.btn+" "+GlyphClsNames.btnGlyph+" "+UtilitesClsNames.right+" "+l+'" type="button" tabindex="-1"><span class='+GlyphClsNames.filter+"></span></button>");setAriaLabel(r,culture.FlexGridFilter.ariaLabels.edit+" "+e.header);setAttribute(r,"aria-haspopup","dialog");setAttribute(r,"aria-expanded",!1);setAttribute(r,"aria-describedby",e.describedById);setAttribute(r,"aria-pressed",t.isActive);if(!i.querySelector("."+l)){1==i.children.length&&(i=i.querySelector("div")||i);i.insertBefore(r,i.firstChild)}};FlexGridFilter.prototype._mousedown=function(e){this._edtColPrev=this._edtCol};FlexGridFilter.prototype._click=function(e){if(this._toggleEditor(e)){e.stopPropagation();e.preventDefault()}};FlexGridFilter.prototype._toggleEditor=function(e){var t=this;if(!e.defaultPrevented&&0==e.button)if(closestClass(e.target,FlexGridFilter._WJC_FILTER)){var i=this._g,l=i.hitTest(e.target);l.panel||(l=i.hitTest(e));if(l.panel&&i.columnHeaders&&i.cells&&(l.panel._uid==i.columnHeaders._uid||l.panel._uid==i.cells._uid&&-1==l.row)){var r=i.getMergedRange(l.panel,l.row,l.col)||new CellRange(l.row,l.col),n=i.columns[r.col],o=i._getBindingColumn(l.panel,l.row,n);if(this._divEdt&&this._edtCol==o){this.closeEditor();i.focus()}else o!=this._edtColPrev&&setTimeout((function(){t.editColumnFilter(o,l)}),this._divEdt?100:0);return!0}}else this.closeEditor();return!1};FlexGridFilter.prototype._keydown=function(e){var t=e.ctrlKey||e.metaKey,i=!e.defaultPrevented&&!t&&e.altKey,l=i&&e.keyCode===Key.Up,r=i&&e.keyCode===Key.Down,n=!e.defaultPrevented&&t&&e.shiftKey&&e.keyCode===Key.F;if(l||r||n){var o=this.grid,a=o.selection,s=a.col>-1?o.columns[a.col]:null,d=s?o._getBindingColumn(o.cells,a.row,s):null,u=d&&d.dataMap&&d.dataMapEditor==DataMapEditor.DropDownList;if(this.filterColumns&&this.filterColumns.length>0&&!this.filterColumns.includes(d._binding._path)){e.preventDefault();return!1}if(o.activePanelType!=CellType.Cell&&o.activePanelType!=CellType.ColumnHeader){e.preventDefault();return!1}d&&d.editor instanceof DropDown&&(u=!0);if(d&&(!u||n)){var c=this.getColumnFilter(d,!1);if(c&&c.filterType!=FilterType.None){this.editColumnFilter(d);e.preventDefault();e.stopPropagation()}}}};FlexGridFilter.prototype._removeFilter=function(e){this._filters.splice(e,1)};FlexGridFilter.prototype._adjustBindingColumns=function(e,t){if(t.action==NotifyCollectionChangedAction.Reset){var i=this._filters;if(i&&i.length>0)for(var l=i.length-1;l>=0;l--){var r=i[l],n=r.column;if(n.binding){var o=this._asColumn(n.binding);o?o!==n&&r._setColumn(o):this._removeFilter(l)}}}};FlexGridFilter._WJC_FILTER=FlexGridFilterClsNames.elemFilter;return FlexGridFilter}();export{FlexGridFilter};export var empty={};var ColumnFilter=function(){function ColumnFilter(e,t){var i=this;this._ariaLabel=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((function(e){i._valueFilter.exclusiveValueSearch=e.exclusiveValueSearch}));e._showIncludeSelectionChanged.addHandler((function(e){i._valueFilter.showIncludeSelection=e.showIncludeSelection}))}Object.defineProperty(ColumnFilter.prototype,"filterType",{get:function(){return null!=this._filterType?this._filterType:this._owner.defaultFilterType},set:function(e){if((e=asEnum(e,FilterType,!0))!=this._filterType){var t=this.isActive;this.clear();this._filterType=e;t?this._owner.apply():this._col.grid&&this._col.grid.invalidate()}},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"filterMode",{get:function(){return null!=this._filterMode?this._filterMode:this._owner.defaultFilterMode},set:function(e){if((e=asEnum(e,FilterMode,!0))!=this._filterMode){var t=this.isActive;this.clear();this._filterMode=e;t?this._owner.apply():this._col.grid&&this._col.grid.invalidate()}},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"dataMap",{get:function(){return this.conditionFilter.dataMap||this.valueFilter.dataMap},set:function(e){this.conditionFilter.dataMap=e;this.valueFilter.dataMap=e},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"valueFilter",{get:function(){return this._valueFilter},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"conditionFilter",{get:function(){return this._conditionFilter},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"column",{get:function(){return this._col},enumerable:!0,configurable:!0});ColumnFilter.prototype._setColumn=function(e){this._col=e;this._valueFilter&&this._valueFilter._setColumn(e);this._conditionFilter&&this._conditionFilter._setColumn(e)};Object.defineProperty(ColumnFilter.prototype,"ariaLabel",{get:function(){return this._ariaLabel},set:function(e){e!=this._ariaLabel&&(this._ariaLabel=e)},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"isActive",{get:function(){return this._conditionFilter.isActive||this._valueFilter.isActive},enumerable:!0,configurable:!0});ColumnFilter.prototype.apply=function(e){var t=this._conditionFilter.apply(e);this._valueFilter._cancelFilter||(t=t&&this._valueFilter.apply(e));return t};ColumnFilter.prototype.clear=function(){this._valueFilter.clear();this._conditionFilter.clear()};ColumnFilter.prototype.implementsInterface=function(e){return"IColumnFilter"==e};return ColumnFilter}();export{ColumnFilter};export var ValueFilterSearchKind;!function(e){e[e.Text=0]="Text";e[e.Regex=1]="Regex";e[e.Excel=2]="Excel"}(ValueFilterSearchKind||(ValueFilterSearchKind={}));var ValueFilter=function(){function ValueFilter(e){this._values=null;this._filterText=null;this._xValueSearch=!0;this._maxValues=250;this._uniqueValues=null;this._sortValues=!0;this._searchType=ValueFilterSearchKind.Excel;this._showIncludeSelection=!1;this._allValues=null;this._col=e}Object.defineProperty(ValueFilter.prototype,"searchType",{get:function(){return this._searchType},set:function(e){this._searchType=asEnum(e,ValueFilterSearchKind)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"showValues",{get:function(){return this._values},set:function(e){this._values=e},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"filterText",{get:function(){return this._filterText},set:function(e){this._filterText=asString(e)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"exclusiveValueSearch",{get:function(){return this._xValueSearch},set:function(e){if((e=asBoolean(e))!==this._xValueSearch){this._xValueSearch=asBoolean(e);e&&(this._filterText="")}},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"maxValues",{get:function(){return this._maxValues},set:function(e){this._maxValues=asNumber(e,!1,!0)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"uniqueValues",{get:function(){return this._uniqueValues},set:function(e){this._uniqueValues=asArray(e)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"sortValues",{get:function(){return this._sortValues},set:function(e){this._sortValues=asBoolean(e)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"dataMap",{get:function(){return this._map},set:function(e){this._map=asType(e,DataMap,!0)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"showIncludeSelection",{get:function(){return this._showIncludeSelection},set:function(e){e!=this._showIncludeSelection&&(this._showIncludeSelection=asBoolean(e,!1))},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"column",{get:function(){return this._col},enumerable:!0,configurable:!0});ValueFilter.prototype._setColumn=function(e){this._col=e};Object.defineProperty(ValueFilter.prototype,"isActive",{get:function(){var e=null!=this._values;return this._columnFilter&&this._columnFilter.filterMode===FilterMode.MultiFilter?e:e&&Object.keys(this._values).length>0},enumerable:!0,configurable:!0});ValueFilter.prototype.apply=function(e){var 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)||"":Globalize.format(e,t.format);return null!=this._values[e]};ValueFilter.prototype.clear=function(){this.showValues=null;this.filterText=null};ValueFilter.prototype.getUniqueValues=function(e){void 0===e&&(e=!0);var t=[],i=this.column,l=Globalize.format;if(this.uniqueValues){this.uniqueValues.forEach((function(e){t.push({value:e,text:l(e,i.format)})}));return t}var r={},n=i.collectionView,o=n?n.sourceCollection:[];if(e&&n&&n.sourceCollection&&n.filter)try{this._columnFilter&&this._columnFilter.filterMode===FilterMode.MultiFilter&&this._columnFilter.conditionFilter.isActive?this._cancelFilter=!0:FlexGridFilter._skipColumn=this._col;for(var a=[],s=0;s<o.length;s++)n.filter(o[s])&&a.push(o[s]);o=a}finally{this._cancelFilter=!1;FlexGridFilter._skipColumn=null}for(s=0;s<o.length;s++){var d=i._binding.getValue(o[s]),u=this.dataMap?this.dataMap.getDisplayValue(d)||"":i.dataMap?i.dataMap.getDisplayValue(d)||"":l(d,i.format);if(!r[u]){r[u]=!0;t.push({value:d,text:u})}}return t};ValueFilter.prototype.implementsInterface=function(e){return"IColumnFilter"==e};ValueFilter.prototype.setColumnFilter=function(e){this._columnFilter=e};ValueFilter.prototype.updateShowStatus=function(e){if(this.showValues&&0!=Object.keys(this.showValues).length){for(var t in this.showValues)for(var i=0;i<e.length;i++)if(e[i].text==t){e[i].show=!0;break}}else e.forEach((function(e){return e.show=!0}));return e};ValueFilter.prototype.setInitialAllValues=function(){var e=this.getUniqueValues(!1);this._allValues=this.updateShowStatus(e)};return ValueFilter}();export{ValueFilter};var ValueFilterEditor=function(e){__extends(ValueFilterEditor,e);function ValueFilterEditor(t,i){var l=e.call(this,t)||this;l._canApply=!1;l._isFiltering=!1;l._filterTextChangedBnd=l._filterTextChanged.bind(l);l._cbSelectAllClickedBnd=l._cbSelectAllClicked.bind(l);l.canApplyChanged=new Event;l._filter=asType(i,ValueFilter,!1);var r=l.getTemplate();l.applyTemplate(ControlClsNames.hostElement+" "+ValueFilterEditorClsNames.hostElement,r,{_divFilter:"div-filter",_cbSelectAll:"cb-select-all",_spSelectAll:"sp-select-all",_cbIncludeSel:"cb-include-sel",_spIncludeSel:"sp-include-sel",_lblIncludeSel:"lbl-include-sel",_divOptions:"div-options",_divValues:"div-values",_divExceeds:"div-exceeds",_aExceeds:"a-exceeds"});l._cbSelectAll.tabIndex=0;l._cbIncludeSel.tabIndex=0;l._divExceeds.tabIndex=0;var n=culture.FlexGridFilter;setText(l._spSelectAll,n.selectAll);setText(l._spIncludeSel,n.includeSelection);setText(l._aExceeds,n.exceedsMaxValues);setAttribute(l._divValues,"aria-live","polite");var o=l._view=new CollectionView(null,{sortNulls:SortNulls.First,filter:l._filterValues.bind(l)});if(i.sortValues){var a=i.column.dataMap||i.dataMap?"text":"value",s=i.column.dataType!=DataType.Boolean;o.sortDescriptions.push(new SortDescription(a,s))}o.collectionChanged.addHandler(l._updateSelectAllCheck,l);l._filterText="";l._rxFilter=null;l._cmbFilter=new input.ComboBox(l._divFilter,{trimText:!1,isRequired:!1,placeholder:n.search,keyActionPrintCharacters:0,keyActionTab:0});l._cmbFilter.isEditable=!0;var d=l._divFilter.querySelector(".wj-input-group");if(d){var u=document.createElement("span");u.classList.add("wj-glyph-search");d.insertBefore(u,d.firstChild)}l._lbValues=new input.ListBox(l._divValues,{displayMemberPath:"text",checkedMemberPath:"show",itemsSource:l._view,itemFormatter:function(e,t){return t||n.null},checkedItemsChanged:function(e){return l._updateSelectAllCheck()}});l._lbValues._isNeedUpdateBnd=l._isSingleFilterMode();setAttribute(l._divValues,"aria-label",culture.FlexGridFilter.ariaLabels.listBox);setAriaLabel(l._cmbFilter.inputElement,n.ariaLabels.search);setAttribute(l._lbValues.hostElement,"aria-multiselectable",!0);l._cmbFilter.inputElement.addEventListener("input",l._filterTextChangedBnd);l._cbSelectAll.addEventListener("click",l._cbSelectAllClickedBnd);if(!l._popup){l._initPopup();l._aExceeds&&l.addEventListener(l._aExceeds,"click",(function(e){e.preventDefault();l._popup.show(!0)}))}l.updateEditor();setAttribute(l._lbValues.hostElement,"tabindex","-1");l._filter.showValues?l._initialItems=o.sourceCollection.filter((function(e){return l._filter.showValues[e.text||e.value]||!1})):l._initialItems=l._lbValues.checkedItems;l._isSingleFilterMode()||l._filter.setInitialAllValues();return l}Object.defineProperty(ValueFilterEditor,"controlTemplate",{get:function(){ValueFilterEditor._ctrlTemplate||(ValueFilterEditor._ctrlTemplate='<div><div wj-part="div-filter"></div><div wj-part="div-options" class="'+input.ListBoxClsNames.listBoxItem+" "+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},set:function(e){ValueFilterEditor._ctrlTemplate=e},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilterEditor.prototype,"filter",{get:function(){return this._filter},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilterEditor.prototype,"canApply",{get:function(){return this._canApply},set:function(e){if(e!=this._canApply){this._canApply=e;this.onCanApplyChanged()}},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilterEditor.prototype,"_shouldIncludeSelection",{get:function(){return this._filter.showIncludeSelection&&this._cbIncludeSel.checked},enumerable:!0,configurable:!0});ValueFilterEditor.prototype.updateEditor=function(){var e=this,t=this._filter.column,i=this._filter.getUniqueValues(!0);this._lbValues.isContentHtml=t.isContentHtml;var l=this._filter.showValues;if(!l||0==Object.keys(l).length&&this._isSingleFilterMode())i.forEach((function(e){return e.show=!0}));else for(var r in l)for(var n=0;n<i.length;n++)if(i[n].text==r){i[n].show=!0;break}var o=this._filter.filterText||"",a=this._getCaseSensitive();this._cmbFilter.text=o;this._filterText=a?o:o.toLowerCase();this._rxFilter=this._getSearchExp(o,a);this._filter.showIncludeSelection&&!this.hostElement.contains(this._lblIncludeSel)?this._divOptions.appendChild(this._lblIncludeSel):this._filter.showIncludeSelection||this._lblIncludeSel.remove();var s=this._view;s.pageSize=this._filter.maxValues;s.sourceCollection=i;this._adjustWidthsTimer=setTimeout((function(){e._adjustWidths()}),0);this._updateExceedsMaxValuesDisplay()};ValueFilterEditor.prototype.clearEditor=function(e){void 0===e&&(e=!0);this._cmbFilter.text="";this._filterText="";this._rxFilter=null;var t=this._view;t.pageSize=0;t.items.forEach((function(t){t.show=e}));t.moveCurrentTo(-1);t.refresh();t.pageSize=this._filter.maxValues};Object.defineProperty(ValueFilterEditor.prototype,"isEditorClear",{get:function(){return!this._filterText&&!this._cbSelectAll.indeterminate},enumerable:!0,configurable:!0});ValueFilterEditor.prototype._updateFilter=function(){var e,t=this._filter,i=null;e=this._isSingleFilterMode()?this._getItems():this._filter._allValues=replaceItems(this._filter._allValues,this._view.sourceCollection);if(!this._isSingleFilterMode()||this._filterText||this._cbSelectAll.indeterminate){i=this._shouldIncludeSelection&&this._filter.showValues||{};for(var l=0;l<e.length;l++){var r=e[l];r.show&&(i[r.text]=!0)}}t.showValues=i;t.filterText=this._filterText};ValueFilterEditor.prototype.updateFilter=function(){var e=this;this._isFiltering?this._updateFilterTimer=setTimeout((function(){e._updateFilter()}),Control._SEARCH_DELAY+100):this._updateFilter()};ValueFilterEditor.prototype.onCanApplyChanged=function(e){this.canApplyChanged.raise(this,e)};ValueFilterEditor.prototype._getCaseSensitive=function(){var e=this._filter.column,t=e?e.grid:null;return t&&t.caseSensitiveSearch};ValueFilterEditor.prototype._getItems=function(){return this._filter.exclusiveValueSearch?this._view.items:this._view.sourceCollection};ValueFilterEditor.prototype._filterTextChanged=function(){var e=this;""===this._filterText&&this._cbSelectAll.checked||this._filter.exclusiveValueSearch?this._lbValues._addMode=!1:this._lbValues._addMode=!0;this._toFilter&&clearTimeout(this._toFilter);this._isFiltering=!0;this._toFilter=setTimeout((function(){var t=e._cmbFilter.text,i=e._getCaseSensitive();i||(t=t.toLowerCase());if(t!=e._filterText){e._filterText=t;e._rxFilter=e._getSearchExp(t,i);e._view.refresh();e._updateExceedsMaxValuesDisplay();if(!t&&e._isSingleFilterMode()){var l=e._initialItems;if(l.length&&e._view.sourceCollection.indexOf(l[0])>-1){e._lbValues.checkedItems=e._initialItems;e._updateSelectAllCheck();e._isFiltering=!1;return}}if(e._filter.exclusiveValueSearch){e._cbSelectAll.checked=!0;e._cbSelectAllClicked()}else e._updateSelectAllCheck()}e._isFiltering=!1}),Control._SEARCH_DELAY)};ValueFilterEditor.prototype._getSearchExp=function(e,t){if(!e)return null;switch(this._filter.searchType){case ValueFilterSearchKind.Text:return this._getTextSearchExp(e,t);case ValueFilterSearchKind.Regex:return this._getRegexSearchExp(e,t);case ValueFilterSearchKind.Excel:return this._getExcelSearchExp(e,t)}};ValueFilterEditor.prototype._getTextSearchExp=function(e,t){return new RegExp(escapeRegExp(e),t?"":"i")};ValueFilterEditor.prototype._getRegexSearchExp=function(e,t){try{return new RegExp(e,t?"s":"is")}catch(e){return new RegExp("(?!)",t?"s":"is")}};ValueFilterEditor.prototype._getExcelSearchExp=function(e,t){var i=e;i=(i=(i=(i=(i=(i=(i=(i=i.replace(/([.+^$[\]\\(){}|-])/g,"\\$1")).replace(/~~/g,"__`$0`__")).replace(/~\?/g,"__`$1`__")).replace(/~\*/g,"__`$2`__")).replace(/~(.)/g,"$1")).replace(/(\?+)/g,(function(e,t){return Array.from(t).map((function(e){return"."})).join("")}))).replace(/(\*+)/g,(function(e,t){return Array.from(t).map((function(e){return".*"})).join("")}))).replace(/__`\$(\d)`__/g,(function(e,t){switch(t){case"0":return"~";case"1":return"\\?";case"2":return"\\*"}}));/([^~]|^)[?*]/g.test(e)&&(i="^"+i+"$");("~"===e||e&&!i.length)&&(i="$a^");return new RegExp(i,t?"s":"is")};ValueFilterEditor.prototype._filterValues=function(e){var t=this._rxFilter;return null==t||null==e||t.test(e.text)};ValueFilterEditor.prototype._getActualItems=function(){return this._isSingleFilterMode()?this._getItems():this.exceedsMaxValues?this._view.sourceCollection:this._view.items};ValueFilterEditor.prototype._cbSelectAllClicked=function(){for(var e=this,t=this._cbSelectAll.checked,i=this._divValues.scrollTop,l=this._getActualItems(),r=0;r<l.length;r++)l[r].show=t;this._view.refresh();this._divValues.scrollTop=i;this._adjustWidthsTimer=setTimeout((function(){e._adjustWidths()}),0)};ValueFilterEditor.prototype._updateSelectAllCheck=function(){for(var e=this._getActualItems(),t=0,i=0,l=0;l<e.length;l++){e[l].show?t++:i++;if(t&&i)break}var r=t&&i?null:t>0;setChecked(this._cbSelectAll,r);null==r?this._cbSelectAll.setAttribute("data-indeterminate","true"):this._cbSelectAll.removeAttribute("data-indeterminate");this.canApply=t>0};ValueFilterEditor.prototype._adjustWidths=function(){var e=this._lbValues.hostElement;if(e&&e.offsetHeight>0){var t=0,i=e.querySelectorAll("."+input.ListBoxClsNames.listBoxItem);if(i.length){for(var l=0;l<i.length;l++)t=Math.max(t,i[l].scrollWidth);if(t){var r=e.querySelectorAll("."+input.ListBoxClsNames.listBoxItem);if(r.length)for(l=0;l<r.length;l++)r[l].style.width=t+"px"}}}};Object.defineProperty(ValueFilterEditor.prototype,"exceedsMaxValues",{get:function(){return!(!this._view||!this._view._view)&&this._view._view.length>this.filter.maxValues},enumerable:!0,configurable:!0});ValueFilterEditor.prototype._updateExceedsMaxValuesDisplay=function(){this._divExceeds.style.display=this.exceedsMaxValues?"":"none"};ValueFilterEditor.prototype._initPopup=function(){var e=document.createElement("div"),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="+ValueFilterEditorClsNames.customModalText+'><p id="dialogDesc">'+culture.FlexGridFilter.popupBody+'</p></div></div><div class="'+input.PopupClsNames.dialogFooter+" "+ValueFilterEditorClsNames.modalFooter+'" ><button class="btn btn-primary '+UtilitesClsNames.hideOk+'">'+culture.FlexGridFilter.popupOkButton+"</button></div></div>";this._popup=new input.Popup(e,{modal:!0,fadeIn:!0,fadeOut:!0})};ValueFilterEditor.prototype._isSingleFilterMode=function(){return!this._filter._columnFilter||this._filter._columnFilter.filterMode==FilterMode.SingleFilter};ValueFilterEditor.prototype.dispose=function(){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;e.prototype.dispose.call(this)};ValueFilterEditor._ctrlTemplate="";return ValueFilterEditor}(Control);export{ValueFilterEditor};var ConditionFilter=function(){function ConditionFilter(e){this._c1=new FilterCondition(this);this._c2=new FilterCondition(this);this._and=!0;this._col=e}Object.defineProperty(ConditionFilter.prototype,"condition1",{get:function(){return this._c1},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilter.prototype,"condition2",{get:function(){return this._c2},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilter.prototype,"and",{get:function(){return this._and},set:function(e){this._and=asBoolean(e)},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilter.prototype,"dataMap",{get:function(){return this._map},set:function(e){this._map=asType(e,DataMap,!0)},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilter.prototype,"column",{get:function(){return this._col},enumerable:!0,configurable:!0});ConditionFilter.prototype._setColumn=function(e){this._col=e};Object.defineProperty(ConditionFilter.prototype,"isActive",{get:function(){return this._c1.isActive||this._c2.isActive},enumerable:!0,configurable:!0});ConditionFilter.prototype.apply=function(e){var t=this._col,i=this._c1,l=this._c2,r=!1,n=!1;if(!t||!t._binding||!this.isActive)return!0;e=t._binding.getValue(e);var o=this.dataMap||t.dataMap;if(o)e=o.getDisplayValue(e);else if(isDate(e)){r=!this._hasTimePart();n=!this._hasDatePart();var a=FilterCondition._refDateTime;r?e=DateTime.fromDateTime(e,a):n&&(e=DateTime.fromDateTime(a,e))}else if(isNumber(e)){var s=Globalize,d=t.format,u=s.formatNumber(e,d);e=s.parseFloat(u,d)}var c=i.apply(e,r,n),p=l.apply(e,r,n);return i.isActive&&l.isActive?this._and?c&&p:c||p:i.isActive?c:!l.isActive||p};ConditionFilter.prototype.clear=function(){this._c1.clear();this._c2.clear();this.and=!0};ConditionFilter.prototype._hasDatePart=function(){var e=this._col.format;if(!e)return!0;e=culture.Globalize.calendar.patterns[e]||e;return/[yMd]+/.test(e)};ConditionFilter.prototype._hasTimePart=function(){var e=this._col.format;if(!e)return!1;e=culture.Globalize.calendar.patterns[e]||e;return/[Hmst]+/.test(e)};ConditionFilter.prototype.implementsInterface=function(e){return"IColumnFilter"==e};ConditionFilter.prototype.setColumnFilter=function(e){this._columnFilter=e};return ConditionFilter}();export{ConditionFilter};var FilterCondition=function(){function FilterCondition(e){this._op=null;this._filter=e}Object.defineProperty(FilterCondition.prototype,"operator",{get:function(){return this._op},set:function(e){this._op=asEnum(e,Operator,!0)},enumerable:!0,configurable:!0});Object.defineProperty(FilterCondition.prototype,"value",{get:function(){return this._val},set:function(e){this._val=e;this._strVal=isString(e)?this._getCaseString(e):null},enumerable:!0,configurable:!0});Object.defineProperty(FilterCondition.prototype,"isActive",{get:function(){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}},enumerable:!0,configurable:!0});FilterCondition.prototype.clear=function(){this.operator=null;this.value=null};FilterCondition.prototype.apply=function(e,t,i){var l=this._strVal||this._val;isString(e)&&(e=this._getCaseString(e));isString(l)&&null==e&&(e="");isDate(l)&&(t?l=DateTime.fromDateTime(l,FilterCondition._refDateTime):i&&(l=DateTime.fromDateTime(FilterCondition._refDateTime,l)));var r=Operator;switch(this._op){case null:return!0;case r.EQ:return null!=e&&null!=l?e.valueOf()==l.valueOf():e==l;case r.NE:return null!=e&&null!=l?e.valueOf()!=l.valueOf():e!=l;case r.GT:return e>l;case r.GE:return e>=l;case r.LT:return e<l;case r.LE:return e<=l;case r.BW:return!(null==this._strVal||!isString(e))&&0==e.indexOf(this._strVal);case r.EW:return!!(null!=this._strVal&&isString(e)&&e.length>=this._strVal.length)&&e.substr(e.length-this._strVal.length)==l;case r.CT:return!(null==this._strVal||!isString(e))&&e.indexOf(this._strVal)>-1;case r.NC:return!(null==this._strVal||!isString(e))&&e.indexOf(this._strVal)<0;case r.NBW:return!(null==this._strVal||!isString(e))&&0!==e.indexOf(this._strVal);case r.NEW:return!(null==this._strVal||!isString(e))&&e.substring(e.length-this._strVal.length)!==l;case r.BLANK:return isBlankValue(e);case r.NOTBLANK:return!isBlankValue(e)}throw"Unknown operator"};FilterCondition.prototype._getCaseString=function(e){var t=this._filter.column,i=t?t.grid:null;return i&&i.caseSensitiveSearch?e:e.toLowerCase()};FilterCondition._refDateTime=new Date(2e3,0,1,0,0,0);return FilterCondition}();export{FilterCondition};export var Operator;!function(e){e[e.EQ=0]="EQ";e[e.NE=1]="NE";e[e.GT=2]="GT";e[e.GE=3]="GE";e[e.LT=4]="LT";e[e.LE=5]="LE";e[e.BW=6]="BW";e[e.EW=7]="EW";e[e.CT=8]="CT";e[e.NC=9]="NC";e[e.NBW=10]="NBW";e[e.NEW=11]="NEW";e[e.BLANK=100]="BLANK";e[e.NOTBLANK=101]="NOTBLANK"}(Operator||(Operator={}));function isBlankValue(e){return null==e||""===e}var ConditionFilterEditor=function(e){__extends(ConditionFilterEditor,e);function ConditionFilterEditor(t,i){var l=e.call(this,t)||this;l._canApply=!1;l.canApplyChanged=new Event;l._filter=asType(i,ConditionFilter,!1);var r=l.getTemplate();l.applyTemplate(ControlClsNames.hostElement+" "+ConditionFilterEditorClsNames.hostElement,r,{_divHdr:"div-hdr",_divCmb1:"div-cmb1",_divVal1:"div-val1",_btnAnd:"btn-and",_btnOr:"btn-or",_spAnd:"sp-and",_spOr:"sp-or",_divCmb2:"div-cmb2",_divVal2:"div-val2"});var n=culture.FlexGridFilter,o=n.ariaLabels;setAriaLabel(l._btnAnd,o.and);setAriaLabel(l._btnOr,o.or);setAttribute(l._btnAnd,"aria-describedby","filterAndDesc");setAttribute(l._btnOr,"aria-describedby","filterOrDesc");l._spAnd.id="filterAndDesc";l._spOr.id="filterOrDesc";setText(l._divHdr,n.header);setText(l._spAnd,n.and);setText(l._spOr,n.or);var a=getUniqueId("cmb1");l._divHdr.htmlFor=a;l._divCmb1.id=a;l._cmb1=l._createOperatorCombo(l._divCmb1,o.op1);l._val1=l._createValueInput(l._divVal1,o.val1);l._cmb2=l._createOperatorCombo(l._divCmb2,o.op2);l._val2=l._createValueInput(l._divVal2,o.val2);l._val1.hostElement.style.display="none";l._cmb1.selectedIndexChanged.addHandler((function(e,t){var i=null==e.selectedValue||l._isShowConditionValuePart(e.selectedValue);l._val1.hostElement.style.display=i?"none":"";setAttribute(l._val1.hostElement,"aria-hidden",i.toString());l.canApply=!i||"none"!==l._val2.hostElement.style.display}));l._val2.hostElement.style.display="none";l._cmb2.selectedIndexChanged.addHandler((function(e,t){var i=null==e.selectedValue||l._isShowConditionValuePart(e.selectedValue);l._val2.hostElement.style.display=i?"none":"";setAttribute(l._val2.hostElement,"aria-hidden",i.toString());l.canApply="none"!==l._val1.hostElement.style.display||!i}));var s=l.hostElement;l.addEventListener(s,"change",l._btnAndOrChanged.bind(l));l.addEventListener(s,"keydown",l._keydown.bind(l));l.updateEditor();return l}Object.defineProperty(ConditionFilterEditor,"controlTemplate",{get:function(){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},set:function(e){ConditionFilterEditor._ctrlTemplate=e},enumerable:!0,configurable:!0});ConditionFilterEditor.prototype._isShowConditionValuePart=function(e){return e==Operator.BLANK||e==Operator.NOTBLANK};Object.defineProperty(ConditionFilterEditor.prototype,"filter",{get:function(){return this._filter},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilterEditor.prototype,"canApply",{get:function(){return this._canApply},set:function(e){if(e!=this._canApply){this._canApply=e;this.onCanApplyChanged()}},enumerable:!0,configurable:!0});ConditionFilterEditor.prototype.updateEditor=function(){var e=this._filter.condition1,t=this._filter.condition2;this._cmb1.selectedValue=e.operator;this._cmb2.selectedValue=t.operator;if(this._val1 instanceof input.ComboBox&&!(this._val1 instanceof input.InputTime)){this._val1.text=changeType(e.value,DataType.String);this._val2.text=changeType(t.value,DataType.String)}else{this._val1.value=e.value;this._val2.value=t.value}var i=this._filter.and;this._checkRadio(this._btnAnd,i);this._checkRadio(this._btnOr,!i)};ConditionFilterEditor.prototype.clearEditor=function(){this._cmb1.selectedValue=this._cmb2.selectedValue=null;this._val1.text=this._val2.text=null;this._checkRadio(this._btnAnd,!0);this._checkRadio(this._btnOr,!1)};Object.defineProperty(ConditionFilterEditor.prototype,"isEditorClear",{get:function(){return null==this._cmb1.selectedValue&&!this._val1.text&&null==this._cmb2.selectedValue&&!this._val2.text},enumerable:!0,configurable:!0});ConditionFilterEditor.prototype.updateFilter=function(){var e=this._filter.condition1,t=this._filter.condition2;e.operator=this._cmb1.selectedValue;t.operator=this._cmb2.selectedValue;if("value"in this._val1){e.value=this._val1.value;t.value=this._val2.value}else{e.value=this._getComboValue(this._val1);t.value=this._getComboValue(this._val2)}this._filter.and=this._btnAnd.checked};ConditionFilterEditor.prototype.onCanApplyChanged=function(e){this.canApplyChanged.raise(this,e)};ConditionFilterEditor.prototype._getComboValue=function(e){return e.selectedIndex>-1?e.selectedValue:e.text};ConditionFilterEditor.prototype._createOperatorCombo=function(e,t){var i=this._filter.column,l=culture.FlexGridFilter,r=l.stringOperators,n=DataType;this._filter.dataMap||i.dataMap||(i.dataType==n.Date?r=l.dateOperators:i.dataType==n.Number?r=l.numberOperators:i.dataType==n.Boolean&&(r=l.booleanOperators));this._filter._columnFilter&&this._filter._columnFilter.filterMode==FilterMode.MultiFilter&&(r=r.concat(l.multiFilterBlankOperators));var o=new input.ComboBox(e,{itemsSource:r,displayMemberPath:"name",selectedValuePath:"op",keyActionPrintCharacters:0});setAriaLabel(o.inputElement,t);return o};ConditionFilterEditor.prototype._createValueInput=function(e,t){var i=this._filter,l=i.column,r=i.dataMap||l.dataMap,n=null,o=DataType;if(l.dataType==o.Date)(n=i._hasDatePart()?i._hasTimePart()?new input.InputDateTime(e):new input.InputDate(e):new input.InputTime(e,{keyActionPrintCharacters:0})).format=l.format;else if(l.dataType!=o.Number||r){(n=new input.ComboBox(e)).isEditable=!0;n.trimText=!1;n.keyActionPrintCharacters=0;if(r){n.itemsSource=r.getDisplayValues();n.caseSensitiveSearch=!!l.grid&&l.grid.caseSensitiveSearch}else l.dataType==o.Boolean&&(n.itemsSource=[!0,!1])}else{(n=new input.InputNumber(e)).step=1;n.format=l.format}n.isRequired=!1;setAriaLabel(n.inputElement,t);return n};ConditionFilterEditor.prototype._btnAndOrChanged=function(e){var t=e.target==this._btnAnd,i=e.target==this._btnOr;if(t||i){this._checkRadio(this._btnAnd,t);this._checkRadio(this._btnOr,i)}};ConditionFilterEditor.prototype._checkRadio=function(e,t){e.checked=t;setAttribute(e,"aria-checked",t.toString());setAttribute(e,"tabindex",t?null:"-1")};ConditionFilterEditor.prototype._keydown=function(e){var t=e.target==this._btnAnd,i=e.target==this._btnOr;if(t||i)switch(e.keyCode){case Key.Left:case Key.Right:case Key.Up:case Key.Down:var l=t?this._btnOr:this._btnAnd;l.click();l.focus();e.preventDefault()}};ConditionFilterEditor._ctrlTemplate="";return ConditionFilterEditor}(Control);export{ConditionFilterEditor};_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}]});var ColumnFilterEditor=function(e){__extends(ColumnFilterEditor,e);function ColumnFilterEditor(t,i,l){void 0===l&&(l=!0);var r=e.call(this,t,null,!0)||this;r._disallowedControls=new Set(["TransposedGrid","WjTransposedGrid","TransposedMultiRow","WjTransposedMultiRow"]);r._btnClickedHandle=r._btnClicked.bind(r);r._cbSelectAllClickedHandle=r._cbSelectAllClicked.bind(r);r._andOrChangedHandle=r._andOrChanged.bind(r);r._isConditionFilterChanged=!1;r.filterChanged=new Event;r.buttonClicked=new Event;r._filter=asType(i,ColumnFilter);ColumnFilterEditor.isCustomedTemplate(ColumnFilterEditor.controlTemplate)&&(r._filter.filterMode===FilterMode.MultiFilter?ColumnFilterEditor.controlTemplate=ColumnFilterEditor._multiFilterTemplate:ColumnFilterEditor.controlTemplate=ColumnFilterEditor._singleFilterTemplate);var n=r.getTemplate();r._filter.filterMode===FilterMode.MultiFilter?r.applyTemplate(ControlClsNames.hostElement+" "+ControlClsNames.content+" "+ControlClsNames.content+" "+ColumnFilterEditorClsNames.hostElement,n,{_divSort:"div-sort",_btnAsc:"btn-asc",_btnDsc:"btn-dsc",_divEdtVal:"div-edt-val",_divEdtCnd:"div-edt-cnd",_btnClear:"btn-clear"}):r.applyTemplate(ControlClsNames.hostElement+" "+ControlClsNames.content+" "+ControlClsNames.content+" "+ColumnFilterEditorClsNames.hostElement,n,{_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"});var o=culture.FlexGridFilter,a=o.ariaLabels,s=r.hostElement,d=r.filter.column,u=d.grid.collectionView;setAttribute(s,"role","dialog");setAttribute(s,"aria-label",r._filter._ariaLabel);setAriaLabel(r._btnAsc,a.asc);setAriaLabel(r._btnDsc,a.dsc);setText(r._btnAsc,o.ascending);setText(r._btnDsc,o.descending);setText(r._btnClear,o.clear);if(r._filter.filterMode===FilterMode.SingleFilter){setText(r._tVal,o.values);setText(r._tCnd,o.conditions);setText(r._btnApply,o.apply);setText(r._btnCancel,o.cancel);r._tabPanel=new TabPanel(r._divType.querySelector(".wj-tabpanel"),{isAnimated:!1,autoSwitch:!0,selectedIndexChanged:function(e){if(r.filter.filterType===FilterType.Both)if(e._isInitialized){var t=r.getActiveFilterType(i);e.selectedIndex=t===FilterType.Value?0:1;r._showFilter(t)}else r._showFilter(0===e.selectedIndex?FilterType.Value:FilterType.Condition);else{e.selectedIndex=r.filter.filterType===FilterType.Value?0:1;r._showFilter(r.filter.filterType)}}});r._showFilter(r.getActiveFilterType(i))}else r._showFilter();if(!d.allowSorting||r._disallowedControls.has(d.grid.constructor.name)){enable(r._btnAsc,!1);enable(r._btnDsc,!1)}l&&u&&u.canSort||(r._divSort.style.display="none");r._updateSortButtonState();r._btnApply&&r._btnApply.addEventListener("click",r._btnClickedHandle);r._btnCancel&&r._btnCancel.addEventListener("click",r._btnClickedHandle);r._btnClear.addEventListener("click",r._btnClickedHandle);r._btnAsc.addEventListener("click",r._btnClickedHandle);r._btnDsc.addEventListener("click",r._btnClickedHandle);r.addEventListener(s,"keydown",(function(e){if(!e.defaultPrevented){var t=e.target.tagName.match(/^(a|button)$/i);switch(e.keyCode){case Key.Space:if(t){r._btnClicked(e);e.preventDefault()}break;case Key.Enter:if(t)r._btnClicked(e);else{r.updateFilter();r.onFilterChanged();r.onButtonClicked()}e.preventDefault();break;case Key.Escape:r.onButtonClicked();e.preventDefault();break;case Key.Tab:moveFocus(r.hostElement,e.shiftKey?-1:1);e.preventDefault()}}}));r.addEventListener(window,"resize",(function(){if(!r.isTouching&&!r._wasTouching)if(r.filter.filterMode===FilterMode.SingleFilter)r.onButtonClicked();else{var e=r.filter.column,t=e.grid.columnHeaders,i=t.rows.length-1,l=e.index,n=t.getCellElement(i,l),o=n?null:t.getCellBoundingRect(i,l);_updatePopupPosition(r.hostElement,n||o,PopupPosition.BelowLeft)}}));return r}Object.defineProperty(ColumnFilterEditor,"controlTemplate",{get:function(){ColumnFilterEditor._ctrlTemplate||(ColumnFilterEditor._ctrlTemplate=ColumnFilterEditor._singleFilterTemplate);return ColumnFilterEditor._ctrlTemplate},set:function(e){ColumnFilterEditor._ctrlTemplate=e},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilterEditor,"_multiFilterTemplate",{get:function(){var 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="'+InputFormElementsClsNames.btn+'"></button>\n </div>\n ')+"\n </div>\n ";return"\n <div>\n "+('\n <div wj-part="div-sort" class="'+ColumnFilterEditorClsNames.sortButtons+'">\n <button wj-part="btn-asc" class="'+InputFormElementsClsNames.btn+'"></button>&nbsp;&nbsp;&nbsp;\n <button wj-part="btn-dsc" class="'+InputFormElementsClsNames.btn+'"></button>\n </div>\n ')+"\n "+e+"\n </div>\n "},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilterEditor,"_singleFilterTemplate",{get:function(){var e='\n <div style="text-align:right;margin-top:10px">\n <button wj-part="btn-apply" class="'+InputFormElementsClsNames.btn+'"></button>&nbsp;&nbsp;\n <button wj-part="btn-cancel" class="'+InputFormElementsClsNames.btn+'"></button>&nbsp;&nbsp;\n <button wj-part="btn-clear" class="'+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="'+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="'+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="'+ColumnFilterEditorClsNames.sortButtons+'">\n <button wj-part="btn-asc" class="'+InputFormElementsClsNames.btn+'"></button>&nbsp;&nbsp;&nbsp;\n <button wj-part="btn-dsc" class="'+InputFormElementsClsNames.btn+'"></button>\n </div>\n ')+"\n "+t+"\n </div>\n "},enumerable:!0,configurable:!0});ColumnFilterEditor.isCustomedTemplate=function(e){return e===ColumnFilterEditor._multiFilterTemplate||e===ColumnFilterEditor._singleFilterTemplate};Object.defineProperty(ColumnFilterEditor.prototype,"filter",{get:function(){return this._filter},enumerable:!0,configurable:!0});ColumnFilterEditor.prototype.updateEditor=function(){this._edtVal&&this._edtVal.updateEditor();this._edtCnd&&this._edtCnd.updateEditor()};ColumnFilterEditor.prototype.updateFilter=function(){var 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()}};ColumnFilterEditor.prototype.onFilterChanged=function(e){this.filterChanged.raise(this,e)};ColumnFilterEditor.prototype.onButtonClicked=function(e){this.buttonClicked.raise(this,e)};ColumnFilterEditor.prototype._showFilter=function(e){var t=this;this._wasTouching=this.isTouching;if(this._filter.filterMode!==FilterMode.MultiFilter){if(e==FilterType.Value&&null==this._edtVal){this._edtVal=new ValueFilterEditor(this._divEdtVal,this.filter.valueFilter);this._edtVal.canApplyChanged.addHandler((function(e){enable(t._btnApply,t._edtVal.canApply)}))}if(e==FilterType.Condition&&null==this._edtCnd){this._edtCnd=new ConditionFilterEditor(this._divEdtCnd,this.filter.conditionFilter);this._edtCnd.canApplyChanged.addHandler((function(e){enable(t._btnApply,t._edtCnd.canApply)}))}if(0!=(e&this.filter.filterType))if(e==FilterType.Value){this._divEdtVal.style.display="";this._divEdtCnd.style.display="none";this._edtVal.focus();this._edtVal._updateExceedsMaxValuesDisplay();enable(this._btnApply,this._edtVal.canApply)}else{this._divEdtVal.style.display="none";this._divEdtCnd.style.display="";this._edtCnd.focus();enable(this._btnApply,this._edtCnd.canApply)}var i=[this._tCnd,this._tVal];switch(this.filter.filterType){case FilterType.None:case FilterType.Condition:case FilterType.Value:i.forEach((function(e){e.style.display="none"}));break;default:i.forEach((function(e){e.style.display=""}))}}else{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()}};ColumnFilterEditor.prototype.getActiveFilterType=function(e){return this.filter.conditionFilter.isActive||0==(e.filterType&FilterType.Value)?FilterType.Condition:FilterType.Value};ColumnFilterEditor.prototype.raiseFilterChangedHandler=function(){var e=this.filter._owner;e.onFilterChanged(new CellRangeEventArgs(e.grid.cells,new CellRange(-1,this.filter.column.index)))};ColumnFilterEditor.prototype.bindEventsForMultiFilter=function(){var e=this,t=this._edtCnd,i=this._edtVal;t._cmb1.selectedIndexChanged.addHandler((function(i,l){e.setConditionFilterChanged(t._val1);e._cmb1Timer=e.updateConditionEditorAndTirggerFilterChanged()}));t._cmb2.selectedIndexChanged.addHandler((function(i,l){e.setConditionFilterChanged(t._val2);e._cmb2Timer=e.updateConditionEditorAndTirggerFilterChanged()}));t._val1.textChanged.addHandler((function(){e._isConditionFilterChanged=!0;e._val1Timer=e.updateConditionEditorAndTirggerFilterChanged()}));t._val2.textChanged.addHandler((function(){e._isConditionFilterChanged=!0;e._val2Timer=e.updateConditionEditorAndTirggerFilterChanged()}));t.hostElement.addEventListener("change",this._andOrChangedHandle);i._lbValues.itemChecked.addHandler((function(){i.updateFilter();e.raiseFilterChangedHandler();e.onFilterChanged()}));i._cbSelectAll.addEventListener("click",this._cbSelectAllClickedHandle);this._filterAppliedHandler=function(){if(e._isConditionFilterChanged){e._edtVal.updateEditor();e._isConditionFilterChanged=!1}};this._filter._owner.filterApplied.addHandler(this._filterAppliedHandler)};ColumnFilterEditor.prototype.updateConditionEditorAndTirggerFilterChanged=function(){var e=this;return setTimeout((function(){e.raiseFilterChangedHandler();e._edtCnd.updateFilter();e._isConditionFilterChanged&&e.onFilterChanged()}),Control._SEARCH_DELAY+100)};ColumnFilterEditor.prototype._cbSelectAllClicked=function(){this._edtVal.updateFilter();this.raiseFilterChangedHandler();this.onFilterChanged()};ColumnFilterEditor.prototype._andOrChanged=function(e){var 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()}};ColumnFilterEditor.prototype._updateSortButtonState=function(){var e=this.filter.column,t=e?e.currentSort:"",i=ControlStateClsNames.active,l=culture.FlexGridFilter.ariaLabels;if("+"===t){addClass(this._btnAsc,i);this._btnAsc.setAttribute("aria-label",l.asc+" "+l.active)}else if("-"===t){addClass(this._btnDsc,i);this._btnDsc.setAttribute("aria-label",l.dsc+" "+l.active)}};ColumnFilterEditor.prototype._getFilterType=function(){var e=FilterType;return"none"!=this._divEdtVal.style.display?e.Value:e.Condition};ColumnFilterEditor.prototype.setConditionFilterChanged=function(e){isValueInputDisplay(e.hostElement)?e.text&&(this._isConditionFilterChanged=!0):this._isConditionFilterChanged=!0};ColumnFilterEditor.prototype._btnClicked=function(e){var t=this,i=e.target;e.preventDefault();e.stopPropagation();if(!hasClass(i,ControlStateClsNames.disabled)){if(i==this._btnAsc||i==this._btnDsc){var l=this.filter.column.grid,r=this.filter.column,n=r.sortMemberPath||r.binding,o=r.grid.collectionView.sortDescriptions,a=this.hostElement["$WJ-OWNR"]&&this.hostElement["$WJ-OWNR"]["wj-cell-index"];if(a){var s=a.panel,d=a.rng;null==d&&(d=new CellRange(a.row,a.col,a.row,a.col));var u=new CellRangeEventArgs(s,d,e);if(l.onSortingColumn(u)){o.deferUpdate((function(){o.clear();o.push(new SortDescription(n,e.target==t._btnAsc))}));this._updateSortButtonState();l.onSortedColumn(u)}}}if(i==this._btnApply){this.updateFilter();this.onFilterChanged()}else if(i==this._btnClear){var c=this.filter.isActive;this.filter.clear();c&&this.onFilterChanged()}else this.updateEditor();this.onButtonClicked()}};ColumnFilterEditor.prototype.dispose=function(){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}e.prototype.dispose.call(this)};ColumnFilterEditor._ctrlTemplate="";return ColumnFilterEditor}(Control);export{ColumnFilterEditor};function isValueInputDisplay(e){return"none"!==e.style.display}_registerModule("wijmo.grid.filter",selfModule);
14
+ var __extends=this&&this.__extends||function(){var extendStatics=function(e,t){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)};return function(e,t){extendStatics(e,t);function __(){this.constructor=e}e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)}}();import{Column,DataMap,FlexGrid,DataMapEditor,CellRange,CellRangeEventArgs,CellType,_NewRowTemplate}from"@grapecity/wijmo.grid";import{Globalize,asString,asNumber,asArray,asBoolean,asType,asEnum,asFunction,isString,isDate,DateTime,culture,isNumber,copy,changeType,setAttribute,showPopup,hidePopup,isFunction,createElement,toggleClass,removeClass,closestClass,setAriaLabel,Control,Event,DataType,Key,CollectionView,GlyphClsNames,InputFormElementsClsNames,UtilitesClsNames,NotifyCollectionChangedAction,format,_ENV_TOOLS,setText,escapeRegExp,setChecked,SortDescription,SortNulls,ControlClsNames,replaceItems,getUniqueId,_addCultureInfo,enable,moveFocus,hasClass,addClass,ControlStateClsNames,_updatePopupPosition,PopupPosition,_registerModule}from"@grapecity/wijmo";import{DropDown,DropDownClsNames}from"@grapecity/wijmo.input";import{TabPanel}from"@grapecity/wijmo.nav";import*as input from"@grapecity/wijmo.input";import*as selfModule from"@grapecity/wijmo.grid.filter";export var ColumnFilterEditorClsNames={filterType:"wj-filtertype",hostElement:"wj-columnfiltereditor",sortButtons:"wj-sort-buttons",filterHeader:"wj-filter-header"};export var ConditionFilterEditorClsNames={hostElement:"wj-conditionfilter-editor"};export var FlexGridFilterClsNames={elemFilter:"wj-elem-filter",filter:"wj-filter",filterOff:"wj-filter-off",filterOn:"wj-filter-on",hostElement:"wj-columnfiltereditor",filterTopBorder:"wj-filter-tabPanel-top-border"};export var ValueFilterEditorClsNames={hostElement:"wj-valuefilter-editor",customModalText:"wj-custom-modal-text",modalFooter:"wj-valuefilter-modal-footer",filterOptions:"wj-filter-options"};export var FilterType;!function(e){e[e.None=0]="None";e[e.Condition=1]="Condition";e[e.Value=2]="Value";e[e.Both=3]="Both"}(FilterType||(FilterType={}));export var FilterMode;!function(e){e[e.SingleFilter=0]="SingleFilter";e[e.MultiFilter=1]="MultiFilter"}(FilterMode||(FilterMode={}));var FlexGridFilter=function(){function FlexGridFilter(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 Event;this.editingFilter=new Event;this.filterChanging=new Event;this.filterChanged=new Event;this.exclusiveValueSearchChanged=new Event;this._showIncludeSelectionChanged=new Event;this._filters=[];this._g=asType(e,FlexGrid,!1);this._g.formatItem.addHandler(this._formatItem.bind(this));this._g.itemsSourceChanged.addHandler(this.clear.bind(this));this._g.columns.collectionChanged.addHandler(this._adjustBindingColumns,this);var i=this._g.hostElement;e.addEventListener(i,"mousedown",this._mousedown.bind(this),!0);e.addEventListener(i,"click",this._click.bind(this),!0);e.addEventListener(i,"keydown",this._keydown.bind(this),!0);this._g.invalidate();copy(this,t);this._init()}FlexGridFilter.prototype._init=function(){var e=this,t=this.grid,_excludeRowFromFilter=function(t){var i=e.grid,l=e.excludedRowsSet;if(null!=i&&i.rows.length>t)if(i.itemsSource)if(i.rows[t]instanceof _NewRowTemplate){var r=i.editableCollectionView.currentAddItem||i.rows[t].dataItem;r&&l.add(r)}else i.rows[t].dataItem&&l.add(i.rows[t].dataItem);else i.rows[t]&&l.add(i.rows[t])};t.rowChanged&&t.rowChanged.addHandler((function(e,t){t.added&&_excludeRowFromFilter(t.index)}));t.rowEditEnding.addHandler((function(e,t){_excludeRowFromFilter(t.row)}));t.cellEditEnded.addHandler((function(e,t){_excludeRowFromFilter(t.row)}))};Object.defineProperty(FlexGridFilter.prototype,"excludedRowsSet",{get:function(){var e=this.grid;e.selectedSheet&&(e=e.selectedSheet);e._newAddedRowsSet||(e._newAddedRowsSet=new WeakSet);return e._newAddedRowsSet},set:function(e){var t=this.grid;t.selectedSheet&&(t=t.selectedSheet);t._newAddedRowsSet=e},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"grid",{get:function(){return this._g},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"filterColumns",{get:function(){return this._filterColumns},set:function(e){this._filterColumns=asArray(e);this.clear()},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"showFilterIcons",{get:function(){return this._showIcons},set:function(e){if(e!=this.showFilterIcons){this._showIcons=asBoolean(e);this._g&&this._g.invalidate()}},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"showSortButtons",{get:function(){return this._showSort},set:function(e){this._showSort=asBoolean(e)},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"reApplyFilterOnUpdate",{get:function(){return this._includeUpdatedRowsInFilter},set:function(e){e!==this._includeUpdatedRowsInFilter&&(this._includeUpdatedRowsInFilter=asBoolean(e))},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"showIncludeSelection",{get:function(){return this._showIncludeSelection},set:function(e){if(e!=this._showIncludeSelection){this._showIncludeSelection=asBoolean(e,!1);this._onShowIncludeSelectionChanged()}},enumerable:!0,configurable:!0});FlexGridFilter.prototype.getColumnFilter=function(e,t){void 0===t&&(t=!0);if(e=this._asColumn(e)){for(var i=0;i<this._filters.length;i++)if(_ENV_TOOLS.isSameInstance(this._filters[i].column,e))return this._filters[i];if(t&&e.binding){var l=new ColumnFilter(this,e);this._filters.push(l);return l}}return null};Object.defineProperty(FlexGridFilter.prototype,"defaultFilterType",{get:function(){return this._defFilterType},set:function(e){if((e=asEnum(e,FilterType,!1))!=this.defaultFilterType){this._defFilterType=e;this._g.invalidate();this.clear()}},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"defaultFilterMode",{get:function(){return this._defFilterMode},set:function(e){if((e=asEnum(e,FilterMode,!1))!=this._defFilterMode){this._defFilterMode=e;this._g.invalidate();this.clear()}},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"exclusiveValueSearch",{get:function(){return this._xValueSearch},set:function(e){if((e=asBoolean(e))!==this._xValueSearch){this._xValueSearch=e;this.onExclusiveValueSearchChanged()}},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"filterDefinition",{get:function(){var e=this,t={defaultFilterType:this.defaultFilterType,filters:[]};this._filters.forEach((function(i){var l=i.conditionFilter,r=i.valueFilter,n=r.uniqueValues&&r.uniqueValues.length;if(i&&i.column&&i.column.binding&&(i.isActive||n||i.filterType!=e.defaultFilterType)){var o={binding:i.column.binding};if(l.isActive){var a=l.condition1,s=l.condition2;o={binding:i.column.binding,type:"condition",condition1:{operator:a.operator,value:a.value},and:l.and,condition2:{operator:s.operator,value:s.value}}}else(r.isActive||n)&&(o={binding:i.column.binding,type:"value",uniqueValues:r.uniqueValues,sortValues:r.sortValues,maxValues:r.maxValues,exclusiveValueSearch:r.exclusiveValueSearch,showValues:r.showValues});i.filterType!=e.defaultFilterType&&(o.filterType=i.filterType);t.filters.push(o)}}));return JSON.stringify(t)},set:function(e){e=asString(e);this.clear();if(e){var t=JSON.parse(e);this.defaultFilterType=t.defaultFilterType;for(var _loop_1=function(e){var l=t.filters[e],r=i._asColumn(l.binding);r||(r=new Column({binding:l.binding}));var n=i.getColumnFilter(r,!0);if(n){null!=l.filterType&&(n.filterType=asEnum(l.filterType,FilterType));switch(l.type){case"condition":var o=n.conditionFilter;o.condition1.value=r.dataType==DataType.Date?changeType(l.condition1.value,r.dataType,null):l.condition1.value;o.condition1.operator=l.condition1.operator;o.and=l.and;o.condition2.value=r.dataType==DataType.Date?changeType(l.condition2.value,r.dataType,null):l.condition2.value;o.condition2.operator=l.condition2.operator;break;case"value":var a=n.valueFilter;a.uniqueValues=l.uniqueValues;["sortValues","maxValues","exclusiveValueSearch"].forEach((function(e){null!=l[e]&&(a[e]=l[e])}));a.showValues=l.showValues}}},i=this,l=0;l<t.filters.length;l++)_loop_1(l)}this.apply()},enumerable:!0,configurable:!0});Object.defineProperty(FlexGridFilter.prototype,"activeEditor",{get:function(){return Control.getControl(this._divEdt)},enumerable:!0,configurable:!0});FlexGridFilter.prototype.editColumnFilter=function(e,t,i){var l=this,r=this._g;this.closeEditor();e=this._asColumn(e);var n=new CellRangeEventArgs(r.cells,new CellRange(-1,e.index));if(this.onEditingFilter(n)){var o=createElement('<div class="'+DropDownClsNames.dropDownPanel+'"></div>'),a=this.getColumnFilter(e),s=new ColumnFilterEditor(o,a,this.showSortButtons);this._divEdt=o;this._edtCol=e;r.rightToLeft&&(o.dir="rtl");if(this.onFilterChanging(n)){n.cancel=!0;s.filterChanged.addHandler((function(){n.cancel=!1;setTimeout((function(){n.cancel||l.apply()}),s._edtVal&&s._edtVal._isFiltering?Control._SEARCH_DELAY+200:0)}));s.buttonClicked.addHandler((function(){l.closeEditor();r.focus();l.onFilterChanged(n)}));s.lostFocus.addHandler((function(){setTimeout((function(){var e=Control.getControl(l._divEdt);e&&!e.containsFocus()&&l.closeEditor()}),10)}));var d=t?t.col:e.index,u=r.columns[d];t||u&&u.binding==e.binding||(d=r.selection.leftCol);r._edtHdl._commitRowEdits();r.scrollIntoView(-1,d,!0);var c=r.columnHeaders,p=t&&t.panel&&c&&t.panel._uid==c._uid?t.row:c.rows.length-1,h=d,_=i||c.getCellElement(p,h),f=_?null:c.getCellBoundingRect(p,h);_?showPopup(o,_,!1,!1,!1):showPopup(o,f);var m=e.header,F=format(culture.FlexGridFilter.accessibilityHelperMessage.filter.filterColumn,{name:m});r.announceShortcut(F);this._adjustTabPanelStyle(a);this._setAriaExpanded(_,!0);this._setAriaExpanded(r.cells.getCellElement(-1,h),!0);for(var v=s.hostElement.querySelectorAll("input"),b=0;b<v.length;b++){var C=v[b];if(C.offsetHeight>0&&C.tabIndex>-1&&!C.disabled){C.focus();break}}s.containsFocus()||s.focus()}else this._divEdt=this._edtCol=null}};FlexGridFilter.prototype._setAriaExpanded=function(e,t){if(e){var i=e.querySelector("."+FlexGridFilter._WJC_FILTER);setAttribute(i,"aria-expanded",t)}};FlexGridFilter.prototype.closeEditor=function(){var e=this._g,t=Control.getControl(this._divEdt),i=this._edtCol;if(t){hidePopup(t.hostElement,(function(){t.dispose()}));var l=culture.FlexGridFilter.accessibilityHelperMessage.filter.closeFilterDialog;e.announceShortcut(l)}if(i){var r=e.columnHeaders,n=r.rows.length?r.getCellElement(r.rows.length-1,i.index):null;this._setAriaExpanded(n,!1);n=e.cells.getCellElement(-1,i.index);this._setAriaExpanded(n,!1)}this._divEdt=null;this._edtCol=null};FlexGridFilter.prototype.apply=function(){var e=this._g.collectionView;if(e){var t=this._g.editableCollectionView;if(t){t.commitEdit();t.commitNew()}this.excludedRowsSet=null;e.filter=this._filter.bind(this)}var i=e?e.updateFilterDefinition:null;isFunction(i)&&i.call(e,this);this.onFilterApplied()};FlexGridFilter.prototype.clear=function(){if(this._filters.length){this._filters=[];this.apply()}};FlexGridFilter.prototype.onFilterApplied=function(e){this.filterApplied.raise(this,e)};FlexGridFilter.prototype.onEditingFilter=function(e){this.editingFilter.raise(this,e);return!e.cancel};FlexGridFilter.prototype.onFilterChanging=function(e){this.filterChanging.raise(this,e);return!e.cancel};FlexGridFilter.prototype.onFilterChanged=function(e){this.filterChanged.raise(this,e)};FlexGridFilter.prototype.onExclusiveValueSearchChanged=function(e){this.exclusiveValueSearchChanged.raise(this,e)};FlexGridFilter.prototype._onShowIncludeSelectionChanged=function(e){this._showIncludeSelectionChanged.raise(this,e)};FlexGridFilter.prototype._asColumn=function(e){return isString(e)?this._g.getColumn(e,!0):isNumber(e)?this._g.columns[e]:asType(e,Column,!1)};FlexGridFilter.prototype._filter=function(e){var t=this.excludedRowsSet;if(!this.reApplyFilterOnUpdate&&t.has(e))return!0;for(var i=this._filters,l=0;l<i.length;l++){var r=i[l];if(r.column!=FlexGridFilter._skipColumn&&!r.apply(e))return!1}return!0};FlexGridFilter.prototype._adjustTabPanelStyle=function(e){if(e){var t=e.filterType!==FilterType.Both,i=document.querySelector('[wj-part="tabpanes"]');t&&i&&toggleClass(i,FlexGridFilterClsNames.filterTopBorder)}};FlexGridFilter.prototype._formatItem=function(e,t){if(t.panel==e.columnHeaders){var i=this._g,l=i.getMergedRange(t.panel,t.row,t.col)||new CellRange(t.row,t.col),r=i.columns[l.col],n=i._getBindingColumn(t.panel,t.row,r),o=t.cell;if(l.row2==t.panel.rows.length-1||r!=n){var a=this.getColumnFilter(n,this.defaultFilterType!=FilterType.None),s=this._filterColumns;s&&s.length&&s.indexOf(n.binding)<0&&s.indexOf(n.name)<0&&(a=null);if(a){toggleClass(o,FlexGridFilterClsNames.filterOn,a.isActive);toggleClass(o,FlexGridFilterClsNames.filterOff,!a.isActive)}else{removeClass(o,FlexGridFilterClsNames.filterOn);removeClass(o,FlexGridFilterClsNames.filterOff)}if(a&&a.filterType!=FilterType.None){this._showIcons&&this._addFilterButton(n,a,o);0==t.row&&(o=i.cells.getCellElement(-1,t.col))&&this._addFilterButton(r,a,o)}}}};FlexGridFilter.prototype._addFilterButton=function(e,t,i){var l=FlexGridFilter._WJC_FILTER,r=createElement('<button class="'+InputFormElementsClsNames.btn+" "+GlyphClsNames.btnGlyph+" "+UtilitesClsNames.right+" "+l+'" type="button" tabindex="-1"><span class='+GlyphClsNames.filter+"></span></button>");setAriaLabel(r,culture.FlexGridFilter.ariaLabels.edit+" "+e.header);setAttribute(r,"aria-haspopup","dialog");setAttribute(r,"aria-expanded",!1);setAttribute(r,"aria-describedby",e.describedById);setAttribute(r,"aria-pressed",t.isActive);if(!i.querySelector("."+l)){1==i.children.length&&(i=i.querySelector("div")||i);i.insertBefore(r,i.firstChild)}};FlexGridFilter.prototype._mousedown=function(e){this._edtColPrev=this._edtCol};FlexGridFilter.prototype._click=function(e){if(this._toggleEditor(e)){e.stopPropagation();e.preventDefault()}};FlexGridFilter.prototype._toggleEditor=function(e){var t=this;if(!e.defaultPrevented&&0==e.button)if(closestClass(e.target,FlexGridFilter._WJC_FILTER)){var i=this._g,l=i.hitTest(e.target);l.panel||(l=i.hitTest(e));if(l.panel&&i.columnHeaders&&i.cells&&(l.panel._uid==i.columnHeaders._uid||l.panel._uid==i.cells._uid&&-1==l.row)){var r=i.getMergedRange(l.panel,l.row,l.col)||new CellRange(l.row,l.col),n=i.columns[r.col],o=i._getBindingColumn(l.panel,l.row,n);if(this._divEdt&&this._edtCol==o){this.closeEditor();i.focus()}else o!=this._edtColPrev&&setTimeout((function(){t.editColumnFilter(o,l)}),this._divEdt?100:0);return!0}}else this.closeEditor();return!1};FlexGridFilter.prototype._keydown=function(e){var t=e.ctrlKey||e.metaKey,i=!e.defaultPrevented&&!t&&e.altKey,l=i&&e.keyCode===Key.Up,r=i&&e.keyCode===Key.Down,n=!e.defaultPrevented&&t&&e.shiftKey&&e.keyCode===Key.F;if(l||r||n){var o=this.grid,a=o.selection,s=a.col>-1?o.columns[a.col]:null,d=s?o._getBindingColumn(o.cells,a.row,s):null,u=d&&d.dataMap&&d.dataMapEditor==DataMapEditor.DropDownList;if(this.filterColumns&&this.filterColumns.length>0&&!this.filterColumns.includes(d._binding._path))return!1;if(o.activePanelType!=CellType.Cell&&o.activePanelType!=CellType.ColumnHeader)return!1;d&&d.editor instanceof DropDown&&(u=!0);if(d&&(!u||n)){var c=this.getColumnFilter(d,!1);if(c&&c.filterType!=FilterType.None){this.editColumnFilter(d);e.preventDefault();e.stopPropagation()}}}};FlexGridFilter.prototype._removeFilter=function(e){this._filters.splice(e,1)};FlexGridFilter.prototype._adjustBindingColumns=function(e,t){if(t.action==NotifyCollectionChangedAction.Reset){var i=this._filters;if(i&&i.length>0)for(var l=i.length-1;l>=0;l--){var r=i[l],n=r.column;if(n.binding){var o=this._asColumn(n.binding);o?o!==n&&r._setColumn(o):this._removeFilter(l)}}}};FlexGridFilter._WJC_FILTER=FlexGridFilterClsNames.elemFilter;return FlexGridFilter}();export{FlexGridFilter};export var empty={};var ColumnFilter=function(){function ColumnFilter(e,t){var i=this;this._ariaLabel=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((function(e){i._valueFilter.exclusiveValueSearch=e.exclusiveValueSearch}));e._showIncludeSelectionChanged.addHandler((function(e){i._valueFilter.showIncludeSelection=e.showIncludeSelection}))}Object.defineProperty(ColumnFilter.prototype,"filterType",{get:function(){return null!=this._filterType?this._filterType:this._owner.defaultFilterType},set:function(e){if((e=asEnum(e,FilterType,!0))!=this._filterType){var t=this.isActive;this.clear();this._filterType=e;t?this._owner.apply():this._col.grid&&this._col.grid.invalidate()}},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"filterMode",{get:function(){return null!=this._filterMode?this._filterMode:this._owner.defaultFilterMode},set:function(e){if((e=asEnum(e,FilterMode,!0))!=this._filterMode){var t=this.isActive;this.clear();this._filterMode=e;t?this._owner.apply():this._col.grid&&this._col.grid.invalidate()}},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"dataMap",{get:function(){return this.conditionFilter.dataMap||this.valueFilter.dataMap},set:function(e){this.conditionFilter.dataMap=e;this.valueFilter.dataMap=e},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"valueFilter",{get:function(){return this._valueFilter},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"conditionFilter",{get:function(){return this._conditionFilter},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"column",{get:function(){return this._col},enumerable:!0,configurable:!0});ColumnFilter.prototype._setColumn=function(e){this._col=e;this._valueFilter&&this._valueFilter._setColumn(e);this._conditionFilter&&this._conditionFilter._setColumn(e)};Object.defineProperty(ColumnFilter.prototype,"ariaLabel",{get:function(){return this._ariaLabel},set:function(e){e!=this._ariaLabel&&(this._ariaLabel=e)},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilter.prototype,"isActive",{get:function(){return this._conditionFilter.isActive||this._valueFilter.isActive},enumerable:!0,configurable:!0});ColumnFilter.prototype.apply=function(e){var t=this._conditionFilter.apply(e);this._valueFilter._cancelFilter||(t=t&&this._valueFilter.apply(e));return t};ColumnFilter.prototype.clear=function(){this._valueFilter.clear();this._conditionFilter.clear()};ColumnFilter.prototype.implementsInterface=function(e){return"IColumnFilter"==e};return ColumnFilter}();export{ColumnFilter};export var ValueFilterSearchKind;!function(e){e[e.Text=0]="Text";e[e.Regex=1]="Regex";e[e.Excel=2]="Excel";e[e.Custom=3]="Custom"}(ValueFilterSearchKind||(ValueFilterSearchKind={}));var ValueFilter=function(){function ValueFilter(e){this._values=null;this._filterText=null;this._xValueSearch=!0;this._maxValues=250;this._uniqueValues=null;this._sortValues=!0;this._searchType=ValueFilterSearchKind.Excel;this._showIncludeSelection=!1;this._allValues=null;this._customFilter=null;this._col=e}Object.defineProperty(ValueFilter.prototype,"searchType",{get:function(){return this._searchType},set:function(e){this._searchType=asEnum(e,ValueFilterSearchKind)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"showValues",{get:function(){return this._values},set:function(e){this._values=e},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"filterText",{get:function(){return this._filterText},set:function(e){this._filterText=asString(e)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"exclusiveValueSearch",{get:function(){return this._xValueSearch},set:function(e){if((e=asBoolean(e))!==this._xValueSearch){this._xValueSearch=asBoolean(e);e&&(this._filterText="")}},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"maxValues",{get:function(){return this._maxValues},set:function(e){this._maxValues=asNumber(e,!1,!0)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"uniqueValues",{get:function(){return this._uniqueValues},set:function(e){this._uniqueValues=asArray(e)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"sortValues",{get:function(){return this._sortValues},set:function(e){this._sortValues=asBoolean(e)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"dataMap",{get:function(){return this._map},set:function(e){this._map=asType(e,DataMap,!0)},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"showIncludeSelection",{get:function(){return this._showIncludeSelection},set:function(e){e!=this._showIncludeSelection&&(this._showIncludeSelection=asBoolean(e,!1))},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"column",{get:function(){return this._col},enumerable:!0,configurable:!0});ValueFilter.prototype._setColumn=function(e){this._col=e};Object.defineProperty(ValueFilter.prototype,"isActive",{get:function(){var e=null!=this._values;return this._columnFilter&&this._columnFilter.filterMode===FilterMode.MultiFilter?e:e&&Object.keys(this._values).length>0},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilter.prototype,"customFilter",{get:function(){return this._customFilter},set:function(e){this._customFilter=asFunction(e)},enumerable:!0,configurable:!0});ValueFilter.prototype.apply=function(e){var 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)||"":Globalize.format(e,t.format);return null!=this._values[e]};ValueFilter.prototype.clear=function(){this.showValues=null;this.filterText=null};ValueFilter.prototype.getUniqueValues=function(e){void 0===e&&(e=!0);var t=[],i=this.column,l=Globalize.format;if(this.uniqueValues){this.uniqueValues.forEach((function(e){t.push({value:e,text:l(e,i.format)})}));return t}var r={},n=i.collectionView,o=n?n.sourceCollection:[];if(e&&n&&n.sourceCollection&&n.filter)try{this._columnFilter&&this._columnFilter.filterMode===FilterMode.MultiFilter&&this._columnFilter.conditionFilter.isActive?this._cancelFilter=!0:FlexGridFilter._skipColumn=this._col;for(var a=[],s=0;s<o.length;s++)n.filter(o[s])&&a.push(o[s]);o=a}finally{this._cancelFilter=!1;FlexGridFilter._skipColumn=null}for(s=0;s<o.length;s++){var d=i._binding.getValue(o[s]),u=this.dataMap?this.dataMap.getDisplayValue(d)||"":i.dataMap?i.dataMap.getDisplayValue(d)||"":l(d,i.format);if(!r[u]){r[u]=!0;t.push({value:d,text:u})}}return t};ValueFilter.prototype.implementsInterface=function(e){return"IColumnFilter"==e};ValueFilter.prototype.setColumnFilter=function(e){this._columnFilter=e};ValueFilter.prototype.updateShowStatus=function(e){if(this.showValues&&0!=Object.keys(this.showValues).length){for(var t in this.showValues)for(var i=0;i<e.length;i++)if(e[i].text==t){e[i].show=!0;break}}else e.forEach((function(e){e.show=!0}));return e};ValueFilter.prototype.setInitialAllValues=function(){var e=this.getUniqueValues(!1);this._allValues=this.updateShowStatus(e)};return ValueFilter}();export{ValueFilter};var ValueFilterEditor=function(e){__extends(ValueFilterEditor,e);function ValueFilterEditor(t,i){var l=e.call(this,t)||this;l._canApply=!1;l._isFiltering=!1;l._filterTextChangedBnd=l._filterTextChanged.bind(l);l._cbSelectAllClickedBnd=l._cbSelectAllClicked.bind(l);l.canApplyChanged=new Event;l._filter=asType(i,ValueFilter,!1);var r=l.getTemplate();l.applyTemplate(ControlClsNames.hostElement+" "+ValueFilterEditorClsNames.hostElement,r,{_divFilter:"div-filter",_cbSelectAll:"cb-select-all",_spSelectAll:"sp-select-all",_cbIncludeSel:"cb-include-sel",_spIncludeSel:"sp-include-sel",_lblIncludeSel:"lbl-include-sel",_divOptions:"div-options",_divValues:"div-values",_divExceeds:"div-exceeds",_aExceeds:"a-exceeds"});l._cbSelectAll.tabIndex=0;l._cbIncludeSel.tabIndex=0;l._divExceeds.tabIndex=0;var n=culture.FlexGridFilter;setText(l._spSelectAll,n.selectAll);setText(l._spIncludeSel,n.includeSelection);setText(l._aExceeds,n.exceedsMaxValues);setAttribute(l._divValues,"aria-live","polite");l._view=new CollectionView(null,{sortNulls:SortNulls.First,filter:l._filterValues.bind(l)});var o=l._view;if(i.sortValues){var a=i.column.dataMap||i.dataMap?"text":"value",s=i.column.dataType!=DataType.Boolean;o.sortDescriptions.push(new SortDescription(a,s))}o.collectionChanged.addHandler(l._updateSelectAllCheck,l);l._filterText="";l._rxFilter=null;l._cmbFilter=new input.ComboBox(l._divFilter,{trimText:!1,isRequired:!1,placeholder:n.search,keyActionPrintCharacters:0,keyActionTab:0});l._cmbFilter.isEditable=!0;var d=l._divFilter.querySelector(".wj-input-group");if(d){var u=document.createElement("span");u.classList.add("wj-glyph-search");d.insertBefore(u,d.firstChild)}l._lbValues=new input.ListBox(l._divValues,{displayMemberPath:"text",checkedMemberPath:"show",itemsSource:l._view,itemFormatter:function(e,t){return t||n.null},checkedItemsChanged:function(e){return l._updateSelectAllCheck()}});l._lbValues._isNeedUpdateBnd=l._isSingleFilterMode();setAttribute(l._divValues,"aria-label",culture.FlexGridFilter.ariaLabels.listBox);setAriaLabel(l._cmbFilter.inputElement,n.ariaLabels.search);setAttribute(l._lbValues.hostElement,"aria-multiselectable",!0);l._cmbFilter.inputElement.addEventListener("input",l._filterTextChangedBnd);l._cbSelectAll.addEventListener("click",l._cbSelectAllClickedBnd);if(!l._popup){l._initPopup();l._aExceeds&&l.addEventListener(l._aExceeds,"click",(function(e){e.preventDefault();l._popup.show(!0)}))}l.updateEditor();setAttribute(l._lbValues.hostElement,"tabindex","-1");l._filter.showValues?l._initialItems=o.sourceCollection.filter((function(e){return l._filter.showValues[e.text||e.value]||!1})):l._initialItems=l._lbValues.checkedItems;l._isSingleFilterMode()||l._filter.setInitialAllValues();return l}Object.defineProperty(ValueFilterEditor,"controlTemplate",{get:function(){ValueFilterEditor._ctrlTemplate||(ValueFilterEditor._ctrlTemplate='<div><div wj-part="div-filter"></div><div wj-part="div-options" class="'+input.ListBoxClsNames.listBoxItem+" "+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},set:function(e){ValueFilterEditor._ctrlTemplate=e},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilterEditor.prototype,"filter",{get:function(){return this._filter},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilterEditor.prototype,"canApply",{get:function(){return this._canApply},set:function(e){if(e!=this._canApply){this._canApply=e;this.onCanApplyChanged()}},enumerable:!0,configurable:!0});Object.defineProperty(ValueFilterEditor.prototype,"_shouldIncludeSelection",{get:function(){return this._filter.showIncludeSelection&&this._cbIncludeSel.checked},enumerable:!0,configurable:!0});ValueFilterEditor.prototype.updateEditor=function(){var e=this;if(this._lbValues&&this.hostElement){var t=this._filter.column,i=this._filter.getUniqueValues(!0);this._lbValues.isContentHtml=t.isContentHtml;var l=this._filter.showValues;if(!l||0==Object.keys(l).length&&this._isSingleFilterMode())i.forEach((function(e){e.show=!0}));else for(var r=0;r<i.length;r++){var n=!1;for(var o in l)if(i[r].text==o){n=!0;break}i[r].show=n}var a=this._filter.filterText||"",s=this._getCaseSensitive();this._cmbFilter.text=a;this._filterText=s?a:a.toLowerCase();this._rxFilter=this._getSearchExp(a,s);this._filter.showIncludeSelection&&!this.hostElement.contains(this._lblIncludeSel)?this._divOptions.appendChild(this._lblIncludeSel):this._filter.showIncludeSelection||this._lblIncludeSel.remove();var d=this._view;d.pageSize=this._filter.maxValues;d.sourceCollection=i;this._adjustWidthsTimer=setTimeout((function(){e._adjustWidths()}),0);this._updateExceedsMaxValuesDisplay()}};ValueFilterEditor.prototype.clearEditor=function(e){void 0===e&&(e=!0);this._cmbFilter.text="";this._filterText="";this._rxFilter=null;var t=this._view;t.pageSize=0;t.items.forEach((function(t){t.show=e}));t.moveCurrentTo(-1);t.refresh();t.pageSize=this._filter.maxValues};Object.defineProperty(ValueFilterEditor.prototype,"isEditorClear",{get:function(){return!this._filterText&&!this._cbSelectAll.indeterminate},enumerable:!0,configurable:!0});ValueFilterEditor.prototype._updateFilter=function(){var e,t=this._filter,i=null;e=this._isSingleFilterMode()?this._getItems():this._filter._allValues=replaceItems(this._filter._allValues,this._view.sourceCollection);if(!this._isSingleFilterMode()||this._filterText||this._cbSelectAll.indeterminate){i=this._shouldIncludeSelection&&this._filter.showValues||{};for(var l=0;l<e.length;l++){var r=e[l];r.show&&(i[r.text]=!0)}}t.showValues=i;t.filterText=this._filterText};ValueFilterEditor.prototype.updateFilter=function(){var e=this;this._isFiltering?this._updateFilterTimer=setTimeout((function(){e._updateFilter()}),Control._SEARCH_DELAY+100):this._updateFilter()};ValueFilterEditor.prototype.onCanApplyChanged=function(e){this.canApplyChanged.raise(this,e)};ValueFilterEditor.prototype._getCaseSensitive=function(){var e=this._filter.column,t=e?e.grid:null;return t&&t.caseSensitiveSearch};ValueFilterEditor.prototype._getItems=function(){return this._filter.exclusiveValueSearch?this._view.items:this._view.sourceCollection};ValueFilterEditor.prototype._filterTextChanged=function(){var e=this;""===this._filterText&&this._cbSelectAll.checked||this._filter.exclusiveValueSearch?this._lbValues._addMode=!1:this._lbValues._addMode=!0;this._toFilter&&clearTimeout(this._toFilter);this._isFiltering=!0;this._toFilter=setTimeout((function(){var t=e._cmbFilter.text,i=e._getCaseSensitive();i||e.isCustomFilterType()||(t=t.toLowerCase());if(t!=e._filterText){e._filterText=t;e._rxFilter=e.isCustomFilterType()?null:e._getSearchExp(t,i);e._view.refresh();e._updateExceedsMaxValuesDisplay();if(e._isSingleFilterMode()){if(!t){var l=e._initialItems;if(l.length&&e._view.sourceCollection.indexOf(l[0])>-1){e._lbValues.checkedItems=e._initialItems;e._updateSelectAllCheck();e._isFiltering=!1;return}}}else e._filter.filterText=t;if(e._filter.exclusiveValueSearch){e._cbSelectAll.checked=!1;e._cbSelectAll.click()}else e._updateSelectAllCheck()}e._isFiltering=!1}),Control._SEARCH_DELAY)};ValueFilterEditor.prototype._getSearchExp=function(e,t){if(!e)return null;switch(this._filter.searchType){case ValueFilterSearchKind.Text:return this._getTextSearchExp(e,t);case ValueFilterSearchKind.Regex:return this._getRegexSearchExp(e,t);case ValueFilterSearchKind.Excel:case ValueFilterSearchKind.Custom:return this._getExcelSearchExp(e,t)}};ValueFilterEditor.prototype.isCustomFilterType=function(){return!!this._filter&&(this._filter.searchType===ValueFilterSearchKind.Custom&&!!this._filter.customFilter)};ValueFilterEditor.prototype._getTextSearchExp=function(e,t){return new RegExp(escapeRegExp(e),t?"":"i")};ValueFilterEditor.prototype._getRegexSearchExp=function(e,t){try{return new RegExp(e,t?"s":"is")}catch(e){return new RegExp("(?!)",t?"s":"is")}};ValueFilterEditor.prototype._getExcelSearchExp=function(e,t){var i=e;i=(i=(i=(i=(i=(i=(i=(i=i.replace(/([.+^$[\]\\(){}|-])/g,"\\$1")).replace(/~~/g,"__`$0`__")).replace(/~\?/g,"__`$1`__")).replace(/~\*/g,"__`$2`__")).replace(/~(.)/g,"$1")).replace(/(\?+)/g,(function(e,t){return Array.from(t).map((function(e){return"."})).join("")}))).replace(/(\*+)/g,(function(e,t){return Array.from(t).map((function(e){return".*"})).join("")}))).replace(/__`\$(\d)`__/g,(function(e,t){switch(t){case"0":return"~";case"1":return"\\?";case"2":return"\\*"}}));/([^~]|^)[?*]/g.test(e)&&(i="^"+i+"$");("~"===e||e&&!i.length)&&(i="$a^");return new RegExp(i,t?"s":"is")};ValueFilterEditor.prototype._filterValues=function(e){if(this.isCustomFilterType()&&this._filter.customFilter)return!!this._filter.customFilter(this._filterText,e);var t=this._rxFilter;return null==t||null==e||t.test(e.text)};ValueFilterEditor.prototype._getActualItems=function(){return this._isSingleFilterMode()?this._getItems():this.exceedsMaxValues?this._view._view:this._view.items};ValueFilterEditor.prototype._cbSelectAllClicked=function(){for(var e=this,t=this._cbSelectAll.checked,i=this._divValues.scrollTop,l=this._getActualItems(),r=0;r<l.length;r++)l[r].show=t;this._view.refresh();this._divValues.scrollTop=i;this._adjustWidthsTimer=setTimeout((function(){e._adjustWidths()}),0)};ValueFilterEditor.prototype._updateSelectAllCheck=function(){for(var e=this._getActualItems(),t=0,i=0,l=0;l<e.length;l++){e[l].show?t++:i++;if(t&&i)break}var r=t&&i?null:t>0;setChecked(this._cbSelectAll,r);null==r?this._cbSelectAll.setAttribute("data-indeterminate","true"):this._cbSelectAll.removeAttribute("data-indeterminate");this.canApply=t>0};ValueFilterEditor.prototype._adjustWidths=function(){var e=this._lbValues&&this._lbValues.hostElement;if(e&&e.offsetHeight>0){var t=0,i=e.querySelectorAll("."+input.ListBoxClsNames.listBoxItem);if(i.length){for(var l=0;l<i.length;l++)t=Math.max(t,i[l].scrollWidth);if(t){var r=e.querySelectorAll("."+input.ListBoxClsNames.listBoxItem);if(r.length)for(l=0;l<r.length;l++)r[l].style.width=t+"px"}}}};Object.defineProperty(ValueFilterEditor.prototype,"exceedsMaxValues",{get:function(){return!(!this._view||!this._view._view)&&this._view._view.length>this.filter.maxValues},enumerable:!0,configurable:!0});ValueFilterEditor.prototype._updateExceedsMaxValuesDisplay=function(){this._divExceeds.style.display=this.exceedsMaxValues?"":"none"};ValueFilterEditor.prototype._initPopup=function(){var e=document.createElement("div"),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="+ValueFilterEditorClsNames.customModalText+'><p id="dialogDesc">'+culture.FlexGridFilter.popupBody+'</p></div></div><div class="'+input.PopupClsNames.dialogFooter+" "+ValueFilterEditorClsNames.modalFooter+'" ><button class="btn btn-primary '+UtilitesClsNames.hideOk+'">'+culture.FlexGridFilter.popupOkButton+"</button></div></div>";this._popup=new input.Popup(e,{modal:!0,fadeIn:!0,fadeOut:!0})};ValueFilterEditor.prototype._isSingleFilterMode=function(){return!this._filter._columnFilter||this._filter._columnFilter.filterMode==FilterMode.SingleFilter};ValueFilterEditor.prototype.dispose=function(){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._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._popup&&!this._popup.isVisible){this._popup.dispose();this._popup=null}this._filter=null;this._initialItems=null;this._rxFilter=null;this._filterText=null;e.prototype.dispose.call(this)};ValueFilterEditor._ctrlTemplate="";return ValueFilterEditor}(Control);export{ValueFilterEditor};var ConditionFilter=function(){function ConditionFilter(e){this._c1=new FilterCondition(this);this._c2=new FilterCondition(this);this._and=!0;this._col=e}Object.defineProperty(ConditionFilter.prototype,"condition1",{get:function(){return this._c1},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilter.prototype,"condition2",{get:function(){return this._c2},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilter.prototype,"and",{get:function(){return this._and},set:function(e){this._and=asBoolean(e)},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilter.prototype,"dataMap",{get:function(){return this._map},set:function(e){this._map=asType(e,DataMap,!0)},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilter.prototype,"column",{get:function(){return this._col},enumerable:!0,configurable:!0});ConditionFilter.prototype._setColumn=function(e){this._col=e};Object.defineProperty(ConditionFilter.prototype,"isActive",{get:function(){return this._c1.isActive||this._c2.isActive},enumerable:!0,configurable:!0});ConditionFilter.prototype.apply=function(e){var t=this._col,i=this._c1,l=this._c2,r=!1,n=!1;if(!t||!t._binding||!this.isActive)return!0;e=t._binding.getValue(e);var o=this.dataMap||t.dataMap;if(o)e=o.getDisplayValue(e);else if(isDate(e)){r=!this._hasTimePart();n=!this._hasDatePart();var a=FilterCondition._refDateTime;r?e=DateTime.fromDateTime(e,a):n&&(e=DateTime.fromDateTime(a,e))}else if(isNumber(e)){var s=Globalize,d=t.format,u=s.formatNumber(e,d);e=s.parseFloat(u,d)}var c=i.apply(e,r,n),p=l.apply(e,r,n);return i.isActive&&l.isActive?this._and?c&&p:c||p:i.isActive?c:!l.isActive||p};ConditionFilter.prototype.clear=function(){this._c1.clear();this._c2.clear();this.and=!0};ConditionFilter.prototype._hasDatePart=function(){var e=this._col.format;if(!e)return!0;e=culture.Globalize.calendar.patterns[e]||e;return/[yMd]+/.test(e)};ConditionFilter.prototype._hasTimePart=function(){var e=this._col.format;if(!e)return!1;e=culture.Globalize.calendar.patterns[e]||e;return/[Hmst]+/.test(e)};ConditionFilter.prototype.implementsInterface=function(e){return"IColumnFilter"==e};ConditionFilter.prototype.setColumnFilter=function(e){this._columnFilter=e};return ConditionFilter}();export{ConditionFilter};var FilterCondition=function(){function FilterCondition(e){this._op=null;this._filter=e}Object.defineProperty(FilterCondition.prototype,"operator",{get:function(){return this._op},set:function(e){this._op=asEnum(e,Operator,!0)},enumerable:!0,configurable:!0});Object.defineProperty(FilterCondition.prototype,"value",{get:function(){return this._val},set:function(e){this._val=e;this._strVal=isString(e)?this._getCaseString(e):null},enumerable:!0,configurable:!0});Object.defineProperty(FilterCondition.prototype,"isActive",{get:function(){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}},enumerable:!0,configurable:!0});FilterCondition.prototype.clear=function(){this.operator=null;this.value=null};FilterCondition.prototype.apply=function(e,t,i){var l=this._strVal||this._val;isString(e)&&(e=this._getCaseString(e));isString(l)&&null==e&&(e="");isDate(l)&&(t?l=DateTime.fromDateTime(l,FilterCondition._refDateTime):i&&(l=DateTime.fromDateTime(FilterCondition._refDateTime,l)));var r=Operator;switch(this._op){case null:return!0;case r.EQ:return null!=e&&null!=l?e.valueOf()==l.valueOf():e==l;case r.NE:return null!=e&&null!=l?e.valueOf()!=l.valueOf():e!=l;case r.GT:return e>l;case r.GE:return e>=l;case r.LT:return e<l;case r.LE:return e<=l;case r.BW:return!(null==this._strVal||!isString(e))&&0==e.indexOf(this._strVal);case r.EW:return!!(null!=this._strVal&&isString(e)&&e.length>=this._strVal.length)&&e.substr(e.length-this._strVal.length)==l;case r.CT:return!(null==this._strVal||!isString(e))&&e.indexOf(this._strVal)>-1;case r.NC:return!(null==this._strVal||!isString(e))&&e.indexOf(this._strVal)<0;case r.NBW:return!(null==this._strVal||!isString(e))&&0!==e.indexOf(this._strVal);case r.NEW:return!(null==this._strVal||!isString(e))&&e.substring(e.length-this._strVal.length)!==l;case r.BLANK:return isBlankValue(e);case r.NOTBLANK:return!isBlankValue(e)}throw"Unknown operator"};FilterCondition.prototype._getCaseString=function(e){var t=this._filter.column,i=t?t.grid:null;return i&&i.caseSensitiveSearch?e:e.toLowerCase()};FilterCondition._refDateTime=new Date(2e3,0,1,0,0,0);return FilterCondition}();export{FilterCondition};export var Operator;!function(e){e[e.EQ=0]="EQ";e[e.NE=1]="NE";e[e.GT=2]="GT";e[e.GE=3]="GE";e[e.LT=4]="LT";e[e.LE=5]="LE";e[e.BW=6]="BW";e[e.EW=7]="EW";e[e.CT=8]="CT";e[e.NC=9]="NC";e[e.NBW=10]="NBW";e[e.NEW=11]="NEW";e[e.BLANK=100]="BLANK";e[e.NOTBLANK=101]="NOTBLANK"}(Operator||(Operator={}));function isBlankValue(e){return null==e||""===e}var ConditionFilterEditor=function(e){__extends(ConditionFilterEditor,e);function ConditionFilterEditor(t,i){var l=e.call(this,t)||this;l._canApply=!1;l.canApplyChanged=new Event;l._filter=asType(i,ConditionFilter,!1);var r=l.getTemplate();l.applyTemplate(ControlClsNames.hostElement+" "+ConditionFilterEditorClsNames.hostElement,r,{_divHdr:"div-hdr",_divCmb1:"div-cmb1",_divVal1:"div-val1",_btnAnd:"btn-and",_btnOr:"btn-or",_spAnd:"sp-and",_spOr:"sp-or",_divCmb2:"div-cmb2",_divVal2:"div-val2",_lblVal:"lbl-val",_divHdr2:"div-hdr-second",_lblVal2:"lbl-val-second"});var n=culture.FlexGridFilter,o=n.ariaLabels;setAriaLabel(l._btnAnd,o.and);setAriaLabel(l._btnOr,o.or);setAttribute(l._btnAnd,"aria-describedby","filterAndDesc");setAttribute(l._btnOr,"aria-describedby","filterOrDesc");l._spAnd.id="filterAndDesc";l._spOr.id="filterOrDesc";setText(l._divHdr,n.header);setText(l._spAnd,n.and);setText(l._spOr,n.or);setText(l._lblVal,o.val1);setText(l._divHdr2,n.header);setText(l._lblVal2,o.val2);l._linkLabelToInput(l._divHdr,l._divCmb1,"cmb1");l._linkLabelToInput(l._divHdr2,l._divCmb2,"cmb2");l._cmb1=l._createOperatorCombo(l._divCmb1,o.op1);l._val1=l._createValueInput(l._divVal1,o.val1);l._cmb2=l._createOperatorCombo(l._divCmb2,o.op2);l._val2=l._createValueInput(l._divVal2,o.val2);l._val1.hostElement.style.display="none";l._lblVal.style.display="none";l._cmb1.selectedIndexChanged.addHandler((function(e,t){var i=null==e.selectedValue||l._isShowConditionValuePart(e.selectedValue);l._val1.hostElement.style.display=i?"none":"";l._lblVal.style.display=i?"none":"";setAttribute(l._val1.hostElement,"aria-hidden",i.toString());l.canApply=!i||"none"!==l._val2.hostElement.style.display}));l._val2.hostElement.style.display="none";l._lblVal2.style.display="none";l._cmb2.selectedIndexChanged.addHandler((function(e,t){var i=null==e.selectedValue||l._isShowConditionValuePart(e.selectedValue);l._val2.hostElement.style.display=i?"none":"";l._lblVal2.style.display=i?"none":"";setAttribute(l._val2.hostElement,"aria-hidden",i.toString());l.canApply="none"!==l._val1.hostElement.style.display||!i}));l.addEventListener(l._lblVal,"click",(function(e){return l._onLabelClick(e,l._val1)}));l.addEventListener(l._lblVal2,"click",(function(e){return l._onLabelClick(e,l._val2)}));var a=l.hostElement;l.addEventListener(a,"change",l._btnAndOrChanged.bind(l));l.addEventListener(a,"keydown",l._keydown.bind(l));l.updateEditor();return l}Object.defineProperty(ConditionFilterEditor,"controlTemplate",{get:function(){ConditionFilterEditor._ctrlTemplate||(ConditionFilterEditor._ctrlTemplate='<div><label wj-part="div-hdr"></label><div wj-part="div-cmb1"></div><br/><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},set:function(e){ConditionFilterEditor._ctrlTemplate=e},enumerable:!0,configurable:!0});ConditionFilterEditor.prototype._isShowConditionValuePart=function(e){return e==Operator.BLANK||e==Operator.NOTBLANK};ConditionFilterEditor.prototype._linkLabelToInput=function(e,t,i){var l=getUniqueId(i);e.htmlFor=l;t.id=l};Object.defineProperty(ConditionFilterEditor.prototype,"filter",{get:function(){return this._filter},enumerable:!0,configurable:!0});Object.defineProperty(ConditionFilterEditor.prototype,"canApply",{get:function(){return this._canApply},set:function(e){if(e!=this._canApply){this._canApply=e;this.onCanApplyChanged()}},enumerable:!0,configurable:!0});ConditionFilterEditor.prototype.updateEditor=function(){var e=this._filter.condition1,t=this._filter.condition2;this._cmb1.selectedValue=e.operator;this._cmb2.selectedValue=t.operator;if(this._val1 instanceof input.ComboBox&&!(this._val1 instanceof input.InputTime)){this._val1.text=changeType(e.value,DataType.String);this._val2.text=changeType(t.value,DataType.String)}else{this._val1.value=e.value;this._val2.value=t.value}var i=this._filter.and;this._checkRadio(this._btnAnd,i);this._checkRadio(this._btnOr,!i)};ConditionFilterEditor.prototype.clearEditor=function(){this._cmb1.selectedValue=this._cmb2.selectedValue=null;this._val1.text=this._val2.text=null;this._checkRadio(this._btnAnd,!0);this._checkRadio(this._btnOr,!1)};Object.defineProperty(ConditionFilterEditor.prototype,"isEditorClear",{get:function(){return null==this._cmb1.selectedValue&&!this._val1.text&&null==this._cmb2.selectedValue&&!this._val2.text},enumerable:!0,configurable:!0});ConditionFilterEditor.prototype.updateFilter=function(){var e=this._filter.condition1,t=this._filter.condition2;e.operator=this._cmb1.selectedValue;t.operator=this._cmb2.selectedValue;if("value"in this._val1)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};ConditionFilterEditor.prototype.onCanApplyChanged=function(e){this.canApplyChanged.raise(this,e)};ConditionFilterEditor.prototype._getComboValue=function(e){return e.selectedIndex>-1?e.selectedValue:e.text};ConditionFilterEditor.prototype._createOperatorCombo=function(e,t){var i=this._filter.column,l=culture.FlexGridFilter,r=l.stringOperators,n=DataType;this._filter.dataMap||i.dataMap||(i.dataType==n.Date?r=l.dateOperators:i.dataType==n.Number?r=l.numberOperators:i.dataType==n.Boolean&&(r=l.booleanOperators));this._isSingleFilterMode()||(r=r.concat(l.multiFilterBlankOperators));var o=new input.ComboBox(e,{itemsSource:r,displayMemberPath:"name",selectedValuePath:"op",keyActionPrintCharacters:0});setAriaLabel(o.inputElement,t);return o};ConditionFilterEditor.prototype._createValueInput=function(e,t){var i=this._filter,l=i.column,r=i.dataMap||l.dataMap,n=null,o=DataType;if(l.dataType==o.Date)(n=i._hasDatePart()?i._hasTimePart()?new input.InputDateTime(e):new input.InputDate(e):new input.InputTime(e,{keyActionPrintCharacters:0})).format=l.format;else if(l.dataType!=o.Number||r){(n=new input.ComboBox(e)).isEditable=!0;n.trimText=!1;n.keyActionPrintCharacters=0;if(r){n.itemsSource=r.getDisplayValues();n.caseSensitiveSearch=!!l.grid&&l.grid.caseSensitiveSearch}else l.dataType==o.Boolean&&(n.itemsSource=[!0,!1])}else{(n=new input.InputNumber(e)).step=1;n.format=l.format}n.isRequired=!1;setAriaLabel(n.inputElement,t);return n};ConditionFilterEditor.prototype._btnAndOrChanged=function(e){var t=e.target==this._btnAnd,i=e.target==this._btnOr;if(t||i){this._checkRadio(this._btnAnd,t);this._checkRadio(this._btnOr,i)}};ConditionFilterEditor.prototype._checkRadio=function(e,t){e.checked=t;setAttribute(e,"aria-checked",t.toString());setAttribute(e,"tabindex",t?null:"-1")};ConditionFilterEditor.prototype._keydown=function(e){var t=e.target==this._btnAnd,i=e.target==this._btnOr;if(t||i)switch(e.keyCode){case Key.Left:case Key.Right:case Key.Up:case Key.Down:var l=t?this._btnOr:this._btnAnd;l.click();l.focus();e.preventDefault()}};ConditionFilterEditor.prototype._onLabelClick=function(e,t){t.focus()};ConditionFilterEditor.prototype._isSingleFilterMode=function(){return!this._filter._columnFilter||this._filter._columnFilter.filterMode==FilterMode.SingleFilter};ConditionFilterEditor._ctrlTemplate="";return ConditionFilterEditor}(Control);export{ConditionFilterEditor};_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}]});var ColumnFilterEditor=function(e){__extends(ColumnFilterEditor,e);function ColumnFilterEditor(t,i,l){void 0===l&&(l=!0);var r=e.call(this,t,null,!0)||this;r._disallowedControls=new Set(["TransposedGrid","WjTransposedGrid","TransposedMultiRow","WjTransposedMultiRow"]);r._btnClickedHandle=r._btnClicked.bind(r);r._cbSelectAllClickedHandle=r._cbSelectAllClicked.bind(r);r._andOrChangedHandle=r._andOrChanged.bind(r);r._isConditionFilterChanged=!1;r.filterChanged=new Event;r.buttonClicked=new Event;r._filter=asType(i,ColumnFilter);ColumnFilterEditor.isCustomedTemplate(ColumnFilterEditor.controlTemplate)&&(r._filter.filterMode===FilterMode.MultiFilter?ColumnFilterEditor.controlTemplate=ColumnFilterEditor._multiFilterTemplate:ColumnFilterEditor.controlTemplate=ColumnFilterEditor._singleFilterTemplate);var n=r.getTemplate();r._filter.filterMode===FilterMode.MultiFilter?r.applyTemplate(ControlClsNames.hostElement+" "+ControlClsNames.content+" "+ControlClsNames.content+" "+ColumnFilterEditorClsNames.hostElement,n,{_divSort:"div-sort",_btnAsc:"btn-asc",_btnDsc:"btn-dsc",_divEdtVal:"div-edt-val",_divEdtCnd:"div-edt-cnd",_btnClear:"btn-clear"}):r.applyTemplate(ControlClsNames.hostElement+" "+ControlClsNames.content+" "+ControlClsNames.content+" "+ColumnFilterEditorClsNames.hostElement,n,{_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"});var o=culture.FlexGridFilter,a=o.ariaLabels,s=r.hostElement,d=r.filter.column,u=d.grid.collectionView;setAttribute(s,"role","dialog");setAttribute(s,"aria-label",r._filter._ariaLabel);setAriaLabel(r._btnAsc,a.asc);setAriaLabel(r._btnDsc,a.dsc);setText(r._btnAsc,o.ascending);setText(r._btnDsc,o.descending);setText(r._btnClear,o.clear);if(r._filter.filterMode===FilterMode.SingleFilter){setText(r._tVal,o.values);setText(r._tCnd,o.conditions);setText(r._btnApply,o.apply);setText(r._btnCancel,o.cancel);r._tabPanel=new TabPanel(r._divType.querySelector(".wj-tabpanel"),{isAnimated:!1,autoSwitch:!0,selectedIndexChanged:function(e){if(r.filter.filterType===FilterType.Both)if(e._isInitialized){var t=r.getActiveFilterType(i);e.selectedIndex=t===FilterType.Value?0:1;r._showFilter(t)}else r._showFilter(0===e.selectedIndex?FilterType.Value:FilterType.Condition);else{e.selectedIndex=r.filter.filterType===FilterType.Value?0:1;r._showFilter(r.filter.filterType)}}});r._showFilter(r.getActiveFilterType(i))}else r._showFilter();if(!d.allowSorting||r._disallowedControls.has(d.grid.constructor.name)){enable(r._btnAsc,!1);enable(r._btnDsc,!1)}l&&u&&u.canSort||(r._divSort.style.display="none");r._updateSortButtonState();r._btnApply&&r._btnApply.addEventListener("click",r._btnClickedHandle);r._btnCancel&&r._btnCancel.addEventListener("click",r._btnClickedHandle);r._btnClear.addEventListener("click",r._btnClickedHandle);r._btnAsc.addEventListener("click",r._btnClickedHandle);r._btnDsc.addEventListener("click",r._btnClickedHandle);r.addEventListener(s,"keydown",(function(e){if(!e.defaultPrevented){var t=e.target.tagName.match(/^(a|button)$/i);switch(e.keyCode){case Key.Space:if(t){r._btnClicked(e);e.preventDefault()}break;case Key.Enter:if(t)r._btnClicked(e);else{r.updateFilter();r.onFilterChanged();r.onButtonClicked()}e.preventDefault();break;case Key.Escape:r.onButtonClicked();e.preventDefault();break;case Key.Tab:moveFocus(r.hostElement,e.shiftKey?-1:1);e.preventDefault()}}}));r.addEventListener(window,"resize",(function(){if(!r.isTouching&&!r._wasTouching)if(r.filter.filterMode===FilterMode.SingleFilter)r.onButtonClicked();else{var e=r.filter.column,t=e.grid.columnHeaders,i=t.rows.length-1,l=e.index,n=t.getCellElement(i,l),o=n?null:t.getCellBoundingRect(i,l);_updatePopupPosition(r.hostElement,n||o,PopupPosition.BelowLeft)}}));return r}Object.defineProperty(ColumnFilterEditor,"controlTemplate",{get:function(){ColumnFilterEditor._ctrlTemplate||(ColumnFilterEditor._ctrlTemplate=ColumnFilterEditor._singleFilterTemplate);return ColumnFilterEditor._ctrlTemplate},set:function(e){ColumnFilterEditor._ctrlTemplate=e},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilterEditor,"_multiFilterTemplate",{get:function(){var 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="'+InputFormElementsClsNames.btn+'"></button>\n </div>\n ')+"\n </div>\n ";return"\n <div>\n "+('\n <div wj-part="div-sort" class="'+ColumnFilterEditorClsNames.sortButtons+'" style="display:flex;gap:10px">\n <div><button wj-part="btn-asc" class="'+InputFormElementsClsNames.btn+'"></button></div>\n <div><button wj-part="btn-dsc" class="'+InputFormElementsClsNames.btn+'"></button></div>\n </div>\n ')+"\n "+e+"\n </div>\n "},enumerable:!0,configurable:!0});Object.defineProperty(ColumnFilterEditor,"_singleFilterTemplate",{get:function(){var e='\n <div style="display:flex;justify-content:flex-end;gap:8px;margin-top:10px">\n <div><button wj-part="btn-apply" class="'+InputFormElementsClsNames.btn+'"></button></div>\n <div><button wj-part="btn-cancel" class="'+InputFormElementsClsNames.btn+'"></button></div>\n <div><button wj-part="btn-clear" class="'+InputFormElementsClsNames.btn+'"></button></div>\n </div>\n ',t='\n <div wj-part="div-type">\n <div class="wj-tabpanel">\n <div>\n <div wj-part="t-val" class="'+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="'+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="'+ColumnFilterEditorClsNames.sortButtons+'" style="display:flex;gap:10px">\n <div><button wj-part="btn-asc" class="'+InputFormElementsClsNames.btn+'"></button></div>\n <div><button wj-part="btn-dsc" class="'+InputFormElementsClsNames.btn+'"></button></div>\n </div>\n ')+"\n "+t+"\n </div>\n "},enumerable:!0,configurable:!0});ColumnFilterEditor.isCustomedTemplate=function(e){return e===ColumnFilterEditor._multiFilterTemplate||e===ColumnFilterEditor._singleFilterTemplate};Object.defineProperty(ColumnFilterEditor.prototype,"filter",{get:function(){return this._filter},enumerable:!0,configurable:!0});ColumnFilterEditor.prototype.updateEditor=function(){this._edtVal&&this._edtVal.updateEditor();this._edtCnd&&this._edtCnd.updateEditor()};ColumnFilterEditor.prototype.updateFilter=function(){var 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()}};ColumnFilterEditor.prototype.onFilterChanged=function(e){this.filterChanged.raise(this,e)};ColumnFilterEditor.prototype.onButtonClicked=function(e){this.buttonClicked.raise(this,e)};ColumnFilterEditor.prototype._showFilter=function(e){var t=this;this._wasTouching=this.isTouching;if(this._filter.filterMode!==FilterMode.MultiFilter){if(e==FilterType.Value&&null==this._edtVal){this._edtVal=new ValueFilterEditor(this._divEdtVal,this.filter.valueFilter);this._edtVal.canApplyChanged.addHandler((function(e){enable(t._btnApply,t._edtVal.canApply)}))}if(e==FilterType.Condition&&null==this._edtCnd){this._edtCnd=new ConditionFilterEditor(this._divEdtCnd,this.filter.conditionFilter);this._edtCnd.canApplyChanged.addHandler((function(e){enable(t._btnApply,t._edtCnd.canApply)}))}if(0!=(e&this.filter.filterType))if(e==FilterType.Value){this._divEdtVal.style.display="";this._divEdtCnd.style.display="none";this._edtVal.focus();this._edtVal._updateExceedsMaxValuesDisplay();enable(this._btnApply,this._edtVal.canApply)}else{this._divEdtVal.style.display="none";this._divEdtCnd.style.display="";this._edtCnd.focus();enable(this._btnApply,this._edtCnd.canApply)}var i=[this._tCnd,this._tVal];switch(this.filter.filterType){case FilterType.None:case FilterType.Condition:case FilterType.Value:i.forEach((function(e){e.style.display="none"}));break;default:i.forEach((function(e){e.style.display=""}))}}else{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()}};ColumnFilterEditor.prototype.getActiveFilterType=function(e){return this.filter.conditionFilter.isActive||0==(e.filterType&FilterType.Value)?FilterType.Condition:FilterType.Value};ColumnFilterEditor.prototype.raiseFilterChangedHandler=function(){var e=this.filter._owner;e.onFilterChanged(new CellRangeEventArgs(e.grid.cells,new CellRange(-1,this.filter.column.index)))};ColumnFilterEditor.prototype.bindEventsForMultiFilter=function(){var e=this,t=this._edtCnd,i=this._edtVal;t._cmb1.selectedIndexChanged.addHandler((function(i,l){e.setConditionFilterChanged(t._val1);e._cmb1Timer=e.updateConditionEditorAndTirggerFilterChanged()}));t._cmb2.selectedIndexChanged.addHandler((function(i,l){e.setConditionFilterChanged(t._val2);e._cmb2Timer=e.updateConditionEditorAndTirggerFilterChanged()}));t._val1.textChanged.addHandler((function(){e._isConditionFilterChanged=!0;e._val1Timer=e.updateConditionEditorAndTirggerFilterChanged()}));t._val2.textChanged.addHandler((function(){e._isConditionFilterChanged=!0;e._val2Timer=e.updateConditionEditorAndTirggerFilterChanged()}));t.hostElement.addEventListener("change",this._andOrChangedHandle);i._lbValues.itemChecked.addHandler((function(){i.updateFilter();e.raiseFilterChangedHandler();e.onFilterChanged()}));i._cbSelectAll.addEventListener("click",this._cbSelectAllClickedHandle);this._filterAppliedHandler=function(){if(e._isConditionFilterChanged){e._edtVal.updateEditor();e._isConditionFilterChanged=!1}};this._filter._owner.filterApplied.addHandler(this._filterAppliedHandler)};ColumnFilterEditor.prototype.updateConditionEditorAndTirggerFilterChanged=function(){var e=this;return setTimeout((function(){e.raiseFilterChangedHandler();e._edtCnd.updateFilter();e._isConditionFilterChanged&&e.onFilterChanged()}),Control._SEARCH_DELAY+100)};ColumnFilterEditor.prototype._cbSelectAllClicked=function(){this._edtVal.updateFilter();this.raiseFilterChangedHandler();this.onFilterChanged()};ColumnFilterEditor.prototype._andOrChanged=function(e){var 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()}};ColumnFilterEditor.prototype._updateSortButtonState=function(){var e=this.filter.column,t=e?e.currentSort:"",i=ControlStateClsNames.active,l=culture.FlexGridFilter.ariaLabels;if("+"===t){addClass(this._btnAsc,i);this._btnAsc.setAttribute("aria-label",l.asc+" "+l.active)}else if("-"===t){addClass(this._btnDsc,i);this._btnDsc.setAttribute("aria-label",l.dsc+" "+l.active)}};ColumnFilterEditor.prototype._getFilterType=function(){var e=FilterType;return"none"!=this._divEdtVal.style.display?e.Value:e.Condition};ColumnFilterEditor.prototype.setConditionFilterChanged=function(e){isValueInputDisplay(e.hostElement)?e.text&&(this._isConditionFilterChanged=!0):this._isConditionFilterChanged=!0};ColumnFilterEditor.prototype._btnClicked=function(e){var t=this,i=e.target;e.preventDefault();e.stopPropagation();if(!hasClass(i,ControlStateClsNames.disabled)){if(i==this._btnAsc||i==this._btnDsc){var l=this.filter.column.grid,r=this.filter.column,n=r.sortMemberPath||r.binding,o=r.grid.collectionView.sortDescriptions,a=this.hostElement["$WJ-OWNR"]&&this.hostElement["$WJ-OWNR"]["wj-cell-index"];if(a){var s=a.panel,d=a.rng;null==d&&(d=new CellRange(a.row,a.col,a.row,a.col));var u=new CellRangeEventArgs(s,d,e);if(l.onSortingColumn(u)){o.deferUpdate((function(){o.clear();o.push(new SortDescription(n,e.target==t._btnAsc))}));this._updateSortButtonState();l.onSortedColumn(u)}}}if(i==this._btnApply){this.updateFilter();this.onFilterChanged()}else if(i==this._btnClear){var c=this.filter.isActive;this.filter.clear();c&&this.onFilterChanged()}else this.updateEditor();this.onButtonClicked()}};ColumnFilterEditor.prototype.dispose=function(){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}e.prototype.dispose.call(this)};ColumnFilterEditor._ctrlTemplate="";return ColumnFilterEditor}(Control);export{ColumnFilterEditor};function isValueInputDisplay(e){return"none"!==e.style.display}_registerModule("wijmo.grid.filter",selfModule);
package/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * Wijmo Library 5.20252.42
3
+ * Wijmo Library 5.20261.48
4
4
  * https://developer.mescius.com/wijmo
5
5
  *
6
6
  * Copyright(c) MESCIUS inc. All rights reserved.
@@ -19,7 +19,7 @@
19
19
  */
20
20
  export declare var ___keepComment: any;
21
21
  import { Column, DataMap, FlexGrid, ColumnCollection, HitTestInfo, CellRangeEventArgs } from '@grapecity/wijmo.grid';
22
- import { CollectionView, Control, Event, EventArgs, NotifyCollectionChangedEventArgs } from '@grapecity/wijmo';
22
+ import { Control, Event, EventArgs, CollectionView, NotifyCollectionChangedEventArgs } from '@grapecity/wijmo';
23
23
  import * as input from '@grapecity/wijmo.input';
24
24
  import * as selfModule from '@grapecity/wijmo.grid.filter';
25
25
  export declare const ColumnFilterEditorClsNames: {
@@ -159,30 +159,30 @@ export declare class FlexGridFilter {
159
159
  */
160
160
  showSortButtons: boolean;
161
161
  /**
162
- * Gets or sets a value indicating whether to apply filter on the updated
163
- * rows.
164
- * If this property is set to true, then events such as row update,
165
- * row insertion, sorting etc refreshes filter and rows which do not pass
166
- * filter gets filtered out.
167
- * If this property is set to false, then filter is not applied immediately
168
- * and we need to click the apply button again to refresh filter.
169
- * For complete excel behavior you also need to set the refreshOnEdit property {@link CollectionView.refreshOnEdit}
170
- * of CollectionView to false
171
- *
172
- * ```typescript
173
- * // For flexgrid
174
- * flexgrid.collectionView.refreshOnEdit = false;
175
- *
176
- * // For flexsheet
177
- * flexSheet.itemsSourceChanged.addHandler((s, e) => {
178
- * if(s.collectionView){
179
- * s.collectionView.refreshOnEdit = false;
180
- * }
181
- * });
182
- * ```
183
- *
184
- * The default value for this property is **false**.
185
- */
162
+ * Gets or sets a value indicating whether to apply filter on the updated
163
+ * rows.
164
+ * If this property is set to true, then events such as row update,
165
+ * row insertion, sorting etc refreshes filter and rows which do not pass
166
+ * filter gets filtered out.
167
+ * If this property is set to false, then filter is not applied immediately
168
+ * and we need to click the apply button again to refresh filter.
169
+ * For complete excel behavior you also need to set the refreshOnEdit property {@link CollectionView.refreshOnEdit}
170
+ * of CollectionView to false
171
+ *
172
+ * ```typescript
173
+ * // For flexgrid
174
+ * flexgrid.collectionView.refreshOnEdit = false;
175
+ *
176
+ * // For flexsheet
177
+ * flexSheet.itemsSourceChanged.addHandler((s, e) => {
178
+ * if(s.collectionView){
179
+ * s.collectionView.refreshOnEdit = false;
180
+ * }
181
+ * });
182
+ * ```
183
+ *
184
+ * The default value for this property is **false**.
185
+ */
186
186
  reApplyFilterOnUpdate: boolean;
187
187
  /**
188
188
  * Gets or sets a value that indicates whether the
@@ -233,7 +233,7 @@ export declare class FlexGridFilter {
233
233
  * cf.filterMode = FilterMode.MultiFilter;
234
234
  * ```
235
235
  *
236
- * The default value for this property is **FilterType.Both**.
236
+ * The default value for this property is **FilterMode.SingleFilter**.
237
237
  */
238
238
  defaultFilterMode: FilterMode;
239
239
  /**
@@ -393,8 +393,8 @@ export declare class FlexGridFilter {
393
393
  */
394
394
  onFilterChanged(e: CellRangeEventArgs): void;
395
395
  /**
396
- * Occurs after the exclusiveValueSearch is changed.
397
- */
396
+ * Occurs after the exclusiveValueSearch is changed.
397
+ */
398
398
  readonly exclusiveValueSearchChanged: Event<FlexGridFilter, EventArgs>;
399
399
  /**
400
400
  * Raises the {@link exclusiveValueSearchChanged} event.
@@ -413,12 +413,12 @@ export declare class FlexGridFilter {
413
413
  private _adjustTabPanelStyle;
414
414
  private _formatItem;
415
415
  _addFilterButton(col: Column, cf: ColumnFilter, cell: HTMLElement): void;
416
- _mousedown(e: MouseEvent): void;
416
+ _mousedown(_e: MouseEvent): void;
417
417
  _click(e: MouseEvent): void;
418
418
  private _toggleEditor;
419
419
  _keydown(e: KeyboardEvent): boolean;
420
420
  _removeFilter(index: number): void;
421
- _adjustBindingColumns(columnCollection: ColumnCollection, e: NotifyCollectionChangedEventArgs): void;
421
+ _adjustBindingColumns(_columnCollection: ColumnCollection, e: NotifyCollectionChangedEventArgs): void;
422
422
  }
423
423
  /**
424
424
  * Defines a filter for a column on a {@link FlexGrid} control.
@@ -544,7 +544,9 @@ export declare enum ValueFilterSearchKind {
544
544
  /** Regex filter. */
545
545
  Regex = 1,
546
546
  /** Excel style wilcard(?, *, ~) character support. */
547
- Excel = 2
547
+ Excel = 2,
548
+ /** Custom filter. In this type, need to assign the customFilter; otherwise, Excel will be executed.*/
549
+ Custom = 3
548
550
  }
549
551
  /**
550
552
  * Defines a value filter for a column on a {@link FlexGrid} control.
@@ -566,6 +568,7 @@ export declare class ValueFilter implements IColumnFilter {
566
568
  _columnFilter: ColumnFilter;
567
569
  _cancelFilter: boolean;
568
570
  _allValues: any;
571
+ private _customFilter;
569
572
  /**
570
573
  * Initializes a new instance of the {@link ValueFilter} class.
571
574
  *
@@ -706,6 +709,13 @@ export declare class ValueFilter implements IColumnFilter {
706
709
  * then the filter is not active.
707
710
  */
708
711
  readonly isActive: boolean;
712
+ /**
713
+ * Gets or sets the custom filter function for the ValueFilter.
714
+ *
715
+ * This function allows fully custom filtering logic to be applied to each data item.
716
+ * The default value for this property is **null** (no custom filter is applied)
717
+ */
718
+ customFilter: ICustomFilter | null;
709
719
  /**
710
720
  * Gets a value that indicates whether a value passes the filter.
711
721
  *
@@ -747,6 +757,24 @@ export declare class ValueFilter implements IColumnFilter {
747
757
  updateShowStatus(values: any): any;
748
758
  setInitialAllValues(): void;
749
759
  }
760
+ /**
761
+ * Represents a custom filtering function.
762
+ * @param filterText The current text entered in the filter editor (search box) of the ValueFilter.
763
+ * @param filterItem The list item being evaluated, which is ICustomFilterItem object, contains: value, text, and show properties.
764
+ * @returns It should return **true** to include the item in the filtered results, or **false** to exclude it. If any other value is returned, we will implicitly cast the return value.
765
+ */
766
+ export declare type ICustomFilter = (filterText: string, filterItem: ICustomFilterItem) => boolean;
767
+ /**
768
+ * Represents a filter item.
769
+ * @param value The raw cell value from the data source.
770
+ * @param text The formatted/display text shown in the list (used for matching by default).
771
+ * @param show The current checked state of the item in the list (true = checked, false = unchecked).
772
+ */
773
+ export interface ICustomFilterItem {
774
+ value: any;
775
+ text: string;
776
+ show: boolean;
777
+ }
750
778
  /**
751
779
  * The editor used to inspect and modify {@link ValueFilter} objects.
752
780
  *
@@ -838,6 +866,7 @@ export declare class ValueFilterEditor extends Control {
838
866
  protected _getItems(): any[];
839
867
  private _filterTextChanged;
840
868
  protected _getSearchExp(text: string, isCaseSensitive: boolean): RegExp;
869
+ private isCustomFilterType;
841
870
  private _getTextSearchExp;
842
871
  private _getRegexSearchExp;
843
872
  private _getExcelSearchExp;
@@ -850,6 +879,13 @@ export declare class ValueFilterEditor extends Control {
850
879
  _updateExceedsMaxValuesDisplay(): void;
851
880
  private _initPopup;
852
881
  _isSingleFilterMode(): boolean;
882
+ /**
883
+ * Disposes of the control and all its resources.
884
+ *
885
+ * Calling the {@link dispose} method is important in applications that create
886
+ * and remove controls dynamically. Failing to dispose of the controls may
887
+ * cause memory leaks.
888
+ */
853
889
  dispose(): void;
854
890
  }
855
891
  /**
@@ -1024,6 +1060,9 @@ export declare class ConditionFilterEditor extends Control {
1024
1060
  private _spOr;
1025
1061
  _btnAnd: HTMLInputElement;
1026
1062
  _btnOr: HTMLInputElement;
1063
+ private _lblVal;
1064
+ private _divHdr2;
1065
+ private _lblVal2;
1027
1066
  static _ctrlTemplate: string;
1028
1067
  /**
1029
1068
  * Gets or sets the template used to instantiate {@link ConditionFilterEditor} controls.
@@ -1038,6 +1077,7 @@ export declare class ConditionFilterEditor extends Control {
1038
1077
  */
1039
1078
  constructor(element: any, filter: ConditionFilter);
1040
1079
  private _isShowConditionValuePart;
1080
+ private _linkLabelToInput;
1041
1081
  /**
1042
1082
  * Gets a reference to the {@link ConditionFilter} being edited.
1043
1083
  */
@@ -1077,6 +1117,8 @@ export declare class ConditionFilterEditor extends Control {
1077
1117
  private _btnAndOrChanged;
1078
1118
  private _checkRadio;
1079
1119
  private _keydown;
1120
+ private _onLabelClick;
1121
+ private _isSingleFilterMode;
1080
1122
  }
1081
1123
  /**
1082
1124
  * The editor used to inspect and modify column filters.
@@ -1168,5 +1210,12 @@ export declare class ColumnFilterEditor extends Control {
1168
1210
  private _getFilterType;
1169
1211
  private setConditionFilterChanged;
1170
1212
  private _btnClicked;
1213
+ /**
1214
+ * Disposes of the control and all its resources.
1215
+ *
1216
+ * Calling the {@link dispose} method is important in applications that create
1217
+ * and remove controls dynamically. Failing to dispose of the controls may
1218
+ * cause memory leaks.
1219
+ */
1171
1220
  dispose(): void;
1172
1221
  }