@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/README.md +17 -0
- package/es2015-commonjs.js +2 -2
- package/es2015-esm.js +2 -2
- package/es5-esm.js +2 -2
- package/index.d.ts +81 -32
- package/index.js +2 -2
- package/package.json +5 -5
package/es5-esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
*
|
|
3
|
-
* Wijmo Library 5.
|
|
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> <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> \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> \n <button wj-part="btn-cancel" class="'+InputFormElementsClsNames.btn+'"></button> \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> \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> <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.
|
|
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 {
|
|
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
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
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 **
|
|
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
|
-
|
|
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(
|
|
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(
|
|
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
|
}
|