@grapecity/wijmo.grid.filter 5.20251.40 → 5.20252.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * Wijmo Library 5.20251.40
3
+ * Wijmo Library 5.20252.44
4
4
  * https://developer.mescius.com/wijmo
5
5
  *
6
6
  * Copyright(c) MESCIUS inc. All rights reserved.
@@ -19,7 +19,8 @@
19
19
  */
20
20
  export declare var ___keepComment: any;
21
21
  import { Column, DataMap, FlexGrid, ColumnCollection, HitTestInfo, CellRangeEventArgs } from '@grapecity/wijmo.grid';
22
- import { Control, Event, EventArgs, NotifyCollectionChangedEventArgs } from '@grapecity/wijmo';
22
+ import { CollectionView, Control, Event, EventArgs, NotifyCollectionChangedEventArgs } from '@grapecity/wijmo';
23
+ import * as input from '@grapecity/wijmo.input';
23
24
  import * as selfModule from '@grapecity/wijmo.grid.filter';
24
25
  export declare const ColumnFilterEditorClsNames: {
25
26
  filterType: string;
@@ -57,6 +58,15 @@ export declare enum FilterType {
57
58
  /** A filter that combines condition and value filters. */
58
59
  Both = 3
59
60
  }
61
+ /**
62
+ * Specifies mode of column filter.
63
+ */
64
+ export declare enum FilterMode {
65
+ /** single filter mode that only one filter type can be selected from value filter type or condition filter type. */
66
+ SingleFilter = 0,
67
+ /** multiple filters mode that apply both value filter type and condition filter type. */
68
+ MultiFilter = 1
69
+ }
60
70
  /**
61
71
  * Implements an Excel-style filter for {@link FlexGrid} controls.
62
72
  *
@@ -94,6 +104,7 @@ export declare class FlexGridFilter {
94
104
  private _showIcons;
95
105
  private _showSort;
96
106
  private _defFilterType;
107
+ private _defFilterMode;
97
108
  private _xValueSearch;
98
109
  private _includeUpdatedRowsInFilter;
99
110
  private _showIncludeSelection;
@@ -206,6 +217,25 @@ export declare class FlexGridFilter {
206
217
  * The default value for this property is **FilterType.Both**.
207
218
  */
208
219
  defaultFilterType: FilterType;
220
+ /**
221
+ * Gets or sets the default filter mode to use.
222
+ *
223
+ * This value can be overridden in filter mode for specific columns.
224
+ * For example, the code below creates a filter that filter mode by
225
+ * single filter mode on all columns except the "ByMultiFilter" column:
226
+ *
227
+ * ```typescript
228
+ * import { FlexGridFilter, FilterMode } from '@grapecity/wijmo.grid.filter';
229
+ * let filter = new FlexGridFilter(flex);
230
+ * filter.defaultFilterMode = FilterMode.SingleFilter;
231
+ * let col = flex.getColumn('ByMultiFilter'),
232
+ * cf = filter.getColumnFilter(col);
233
+ * cf.filterMode = FilterMode.MultiFilter;
234
+ * ```
235
+ *
236
+ * The default value for this property is **FilterMode.SingleFilter**.
237
+ */
238
+ defaultFilterMode: FilterMode;
209
239
  /**
210
240
  * Gets or sets a value that determines whether the filter should
211
241
  * include only values selected by the {@link ValueFilter.filterText}
@@ -404,60 +434,92 @@ export interface IColumnFilter {
404
434
  }
405
435
  export declare const empty: {};
406
436
  /**
407
- * Defines a condition filter for a column on a {@link FlexGrid} control.
437
+ * Defines a filter for a column on a {@link FlexGrid} control.
408
438
  *
409
- * Condition filters contain two conditions that may be combined
410
- * using an 'and' or an 'or' operator.
439
+ * The {@link ColumnFilter} contains a {@link ConditionFilter} and a
440
+ * {@link ValueFilter}; only one of them may be active at a time.
411
441
  *
412
- * This class is used by the {@link FlexGridFilter} class; you will
442
+ * This class is used by the {@link FlexGridFilter} class; you
413
443
  * rarely use it directly.
414
444
  */
415
- export declare class ConditionFilter implements IColumnFilter {
445
+ export declare class ColumnFilter implements IColumnFilter {
446
+ _owner: FlexGridFilter;
416
447
  private _col;
417
- private _c1;
418
- private _c2;
419
- private _and;
420
- private _map;
448
+ private _valueFilter;
449
+ _conditionFilter: ConditionFilter;
450
+ private _filterType;
451
+ private _filterMode;
452
+ _ariaLabel: string;
421
453
  /**
422
- * Initializes a new instance of the {@link ConditionFilter} class.
454
+ * Initializes a new instance of the {@link ColumnFilter} class.
423
455
  *
424
- * @param column The column to filter.
425
- */
426
- constructor(column: Column);
427
- /**
428
- * Gets the first condition in the filter.
456
+ * @param owner The {@link FlexGridFilter} that owns this column filter.
457
+ * @param column The {@link Column} to filter.
429
458
  */
430
- readonly condition1: FilterCondition;
459
+ constructor(owner: FlexGridFilter, column: Column);
431
460
  /**
432
- * Gets the second condition in the filter.
461
+ * Gets or sets the types of filtering provided by this filter.
462
+ *
463
+ * Setting this property to null causes the filter to use the value
464
+ * defined by the owner filter's {@link FlexGridFilter.defaultFilterType}
465
+ * property.
433
466
  */
434
- readonly condition2: FilterCondition;
467
+ filterType: FilterType;
435
468
  /**
436
- * Gets a value that indicates whether to combine the two conditions
437
- * with an AND or an OR operator.
469
+ * Gets or sets the mode of filtering provided by this filter.
438
470
  *
439
- * The default value for this property is **true**.
471
+ * Setting this property to null causes the filter mode to use the value
472
+ * defined by the owner filter's {@link FlexGridFilter.defaultFilterMode}
473
+ * property.
440
474
  */
441
- and: boolean;
475
+ filterMode: FilterMode;
442
476
  /**
443
477
  * Gets or sets the {@link DataMap} used to convert raw values into display
444
478
  * values shown when editing this filter.
479
+ *
480
+ * The example below assigns a {@link DataMap} to Boolean column filters
481
+ * so the filter editor displays 'Yes' and 'No' instead of 'true' and 'false':
482
+ *
483
+ * ```typescript
484
+ * import { FlexGridFilter } from '@grapecity/wijmo.grid.filter';
485
+ * var filter = new FlexGridFilter(grid),
486
+ * map = new wijmo.grid.DataMap([
487
+ * { value: true, caption: 'Yes' },
488
+ * { value: false, caption: 'No' },
489
+ * ], 'value', 'caption');
490
+ * for (var c = 0; c < grid.columns.length; c++) {
491
+ * if (grid.columns[c].dataType == wijmo.DataType.Boolean) {
492
+ * filter.getColumnFilter(c).dataMap = map;
493
+ * }
494
+ * }
495
+ * ```
445
496
  */
446
497
  dataMap: DataMap;
447
498
  /**
448
- * Gets the {@link Column} to filter.
499
+ * Gets the {@link ValueFilter} in this {@link ColumnFilter}.
500
+ */
501
+ readonly valueFilter: ValueFilter;
502
+ /**
503
+ * Gets the {@link ConditionFilter} in this {@link ColumnFilter}.
504
+ */
505
+ readonly conditionFilter: ConditionFilter;
506
+ /**
507
+ * Gets the {@link Column} being filtered.
449
508
  */
450
509
  readonly column: Column;
451
510
  _setColumn(column: Column): void;
452
511
  /**
453
- * Gets a value that indicates whether the filter is active.
512
+ * Gets or sets the aria-label attribute of {@link ColumnFilterEditor} host element.
454
513
  *
455
- * The filter is active if at least one of the two conditions
456
- * has its operator and value set to a valid combination.
514
+ * The default value for this property is "Filter Editor for Column".
515
+ */
516
+ ariaLabel: string;
517
+ /**
518
+ * Gets a value that indicates whether the filter is active.
457
519
  */
458
520
  readonly isActive: boolean;
459
521
  /**
460
- * Returns a value indicating whether a value passes this filter.
522
+ * Gets a value that indicates whether a value passes the filter.
461
523
  *
462
524
  * @param value The value to test.
463
525
  */
@@ -466,8 +528,6 @@ export declare class ConditionFilter implements IColumnFilter {
466
528
  * Clears the filter.
467
529
  */
468
530
  clear(): void;
469
- _hasDatePart(): boolean;
470
- _hasTimePart(): boolean;
471
531
  /**
472
532
  * Returns true if this object supports a given interface.
473
533
  *
@@ -475,155 +535,6 @@ export declare class ConditionFilter implements IColumnFilter {
475
535
  */
476
536
  implementsInterface(interfaceName: string): boolean;
477
537
  }
478
- /**
479
- * The editor used to inspect and modify {@link ConditionFilter} objects.
480
- *
481
- * This class is used by the {@link FlexGridFilter} class; you
482
- * rarely use it directly.
483
- */
484
- export declare class ConditionFilterEditor extends Control {
485
- private _filter;
486
- private _cmb1;
487
- private _val1;
488
- private _cmb2;
489
- private _val2;
490
- private _canApply;
491
- private _divHdr;
492
- private _divCmb1;
493
- private _divVal1;
494
- private _divCmb2;
495
- private _divVal2;
496
- private _spAnd;
497
- private _spOr;
498
- private _btnAnd;
499
- private _btnOr;
500
- static _ctrlTemplate: string;
501
- /**
502
- * Gets or sets the template used to instantiate {@link ConditionFilterEditor} controls.
503
- */
504
- static controlTemplate: string;
505
- /**
506
- * Initializes a new instance of the {@link ConditionFilterEditor} class.
507
- *
508
- * @param element The DOM element that hosts the control, or a selector
509
- * for the host element (e.g. '#theCtrl').
510
- * @param filter The {@link ConditionFilter} to edit.
511
- */
512
- constructor(element: any, filter: ConditionFilter);
513
- /**
514
- * Gets a reference to the {@link ConditionFilter} being edited.
515
- */
516
- readonly filter: ConditionFilter;
517
- /**
518
- * Gets or sets a value that indicates whether the current edits
519
- * can be applied to make the filter active.
520
- */
521
- canApply: boolean;
522
- /**
523
- * Updates editor with current filter settings.
524
- */
525
- updateEditor(): void;
526
- /**
527
- * Clears the editor without applying changes to the filter.
528
- */
529
- clearEditor(): void;
530
- /**
531
- * Gets a value that determines whether the editor has been cleared.
532
- */
533
- readonly isEditorClear: boolean;
534
- /**
535
- * Updates filter to reflect the current editor values.
536
- */
537
- updateFilter(): void;
538
- /**
539
- * Occurs when the value of the {@linj canApply} property changes.
540
- */
541
- readonly canApplyChanged: Event<ConditionFilterEditor, EventArgs>;
542
- /**
543
- * Raises the {@link canApplyChanged} event.
544
- */
545
- onCanApplyChanged(e?: EventArgs): void;
546
- private _getComboValue;
547
- private _createOperatorCombo;
548
- private _createValueInput;
549
- private _btnAndOrChanged;
550
- private _checkRadio;
551
- private _keydown;
552
- }
553
- /**
554
- * Defines a filter condition.
555
- *
556
- * This class is used by the {@link FlexGridFilter} class;
557
- * you will rarely have to use it directly.
558
- */
559
- export declare class FilterCondition {
560
- private _op;
561
- private _val;
562
- private _strVal;
563
- private _filter;
564
- static _refDateTime: Date;
565
- /**
566
- * Initializes a new instance of the {@link FilterCondition} class.
567
- *
568
- * @param filter The {@link ConditionFilter} that owns this {@link FilterCondition}.
569
- */
570
- constructor(filter?: ConditionFilter);
571
- /**
572
- * Gets or sets the operator used by this {@link FilterCondition}.
573
- */
574
- operator: Operator;
575
- /**
576
- * Gets or sets the value used by this {@link FilterCondition}.
577
- */
578
- value: any;
579
- /**
580
- * Gets a value that indicates whether the condition is active.
581
- */
582
- readonly isActive: boolean;
583
- /**
584
- * Clears the condition.
585
- */
586
- clear(): void;
587
- /**
588
- * Returns a value that determines whether the given value passes this
589
- * {@link FilterCondition}.
590
- *
591
- * @param value The value to test.
592
- * @param dateOnly Whether to disregard the time part of **Date** values.
593
- * @param timeOnly Whether to disregard the date part of **Date** values.
594
- */
595
- apply(value: any, dateOnly?: boolean, timeOnly?: boolean): boolean;
596
- _getCaseString(value: string): string;
597
- }
598
- /**
599
- * Specifies filter condition operators.
600
- */
601
- export declare enum Operator {
602
- /** Equals. */
603
- EQ = 0,
604
- /** Does not equal. */
605
- NE = 1,
606
- /** Greater than. */
607
- GT = 2,
608
- /** Greater than or equal to. */
609
- GE = 3,
610
- /** Less than. */
611
- LT = 4,
612
- /** Less than or equal to. */
613
- LE = 5,
614
- /** Begins with. */
615
- BW = 6,
616
- /** Ends with. */
617
- EW = 7,
618
- /** Contains. */
619
- CT = 8,
620
- /** Does not contain. */
621
- NC = 9,
622
- /** Does not begin with */
623
- NBW = 10,
624
- /** Does not end with */
625
- NEW = 11
626
- }
627
538
  /**
628
539
  * Specifies type of Search to use inside ValueFilterEditor.
629
540
  */
@@ -652,6 +563,9 @@ export declare class ValueFilter implements IColumnFilter {
652
563
  private _map;
653
564
  private _searchType;
654
565
  private _showIncludeSelection;
566
+ _columnFilter: ColumnFilter;
567
+ _cancelFilter: boolean;
568
+ _allValues: any;
655
569
  /**
656
570
  * Initializes a new instance of the {@link ValueFilter} class.
657
571
  *
@@ -829,6 +743,9 @@ export declare class ValueFilter implements IColumnFilter {
829
743
  * @param interfaceName Name of the interface to look for.
830
744
  */
831
745
  implementsInterface(interfaceName: string): boolean;
746
+ setColumnFilter(columnFilter: ColumnFilter): void;
747
+ updateShowStatus(values: any): any;
748
+ setInitialAllValues(): void;
832
749
  }
833
750
  /**
834
751
  * The editor used to inspect and modify {@link ValueFilter} objects.
@@ -837,28 +754,32 @@ export declare class ValueFilter implements IColumnFilter {
837
754
  * rarely use it directly.
838
755
  */
839
756
  export declare class ValueFilterEditor extends Control {
840
- private _filter;
757
+ _filter: ValueFilter;
841
758
  private _toFilter;
842
759
  private _filterText;
843
760
  private _rxFilter;
844
- private _view;
761
+ _view: CollectionView;
845
762
  private _initialItems;
846
763
  private _canApply;
847
764
  _isFiltering: boolean;
848
765
  private _divFilter;
849
766
  private _cmbFilter;
850
- private _cbSelectAll;
767
+ _cbSelectAll: HTMLInputElement;
851
768
  private _spSelectAll;
852
769
  private _cbIncludeSel;
853
770
  private _spIncludeSel;
854
771
  protected _lblIncludeSel: HTMLLabelElement;
855
772
  private _divValues;
856
773
  protected _divOptions: HTMLElement;
857
- private _lbValues;
774
+ _lbValues: input.ListBox;
858
775
  private _aExceeds;
859
776
  private _divExceeds;
860
777
  private _popup;
861
778
  static _ctrlTemplate: string;
779
+ private _adjustWidthsTimer;
780
+ private _updateFilterTimer;
781
+ private _filterTextChangedBnd;
782
+ private _cbSelectAllClickedBnd;
862
783
  /**
863
784
  * Gets or sets the template used to instantiate {@link ValueFilterEditor} controls.
864
785
  */
@@ -921,91 +842,79 @@ export declare class ValueFilterEditor extends Control {
921
842
  private _getRegexSearchExp;
922
843
  private _getExcelSearchExp;
923
844
  private _filterValues;
845
+ private _getActualItems;
924
846
  private _cbSelectAllClicked;
925
847
  private _updateSelectAllCheck;
926
848
  private _adjustWidths;
927
849
  readonly exceedsMaxValues: boolean;
928
850
  _updateExceedsMaxValuesDisplay(): void;
929
851
  private _initPopup;
852
+ _isSingleFilterMode(): boolean;
853
+ /**
854
+ * Disposes of the control and all its resources.
855
+ *
856
+ * Calling the {@link dispose} method is important in applications that create
857
+ * and remove controls dynamically. Failing to dispose of the controls may
858
+ * cause memory leaks.
859
+ */
860
+ dispose(): void;
930
861
  }
931
862
  /**
932
- * Defines a filter for a column on a {@link FlexGrid} control.
863
+ * Defines a condition filter for a column on a {@link FlexGrid} control.
933
864
  *
934
- * The {@link ColumnFilter} contains a {@link ConditionFilter} and a
935
- * {@link ValueFilter}; only one of them may be active at a time.
865
+ * Condition filters contain two conditions that may be combined
866
+ * using an 'and' or an 'or' operator.
936
867
  *
937
- * This class is used by the {@link FlexGridFilter} class; you
868
+ * This class is used by the {@link FlexGridFilter} class; you will
938
869
  * rarely use it directly.
939
870
  */
940
- export declare class ColumnFilter implements IColumnFilter {
941
- private _owner;
871
+ export declare class ConditionFilter implements IColumnFilter {
942
872
  private _col;
943
- private _valueFilter;
944
- private _conditionFilter;
945
- private _filterType;
946
- _ariaLabel: string;
873
+ private _c1;
874
+ private _c2;
875
+ private _and;
876
+ private _map;
877
+ _columnFilter: ColumnFilter;
947
878
  /**
948
- * Initializes a new instance of the {@link ColumnFilter} class.
879
+ * Initializes a new instance of the {@link ConditionFilter} class.
949
880
  *
950
- * @param owner The {@link FlexGridFilter} that owns this column filter.
951
- * @param column The {@link Column} to filter.
881
+ * @param column The column to filter.
952
882
  */
953
- constructor(owner: FlexGridFilter, column: Column);
883
+ constructor(column: Column);
954
884
  /**
955
- * Gets or sets the types of filtering provided by this filter.
956
- *
957
- * Setting this property to null causes the filter to use the value
958
- * defined by the owner filter's {@link FlexGridFilter.defaultFilterType}
959
- * property.
885
+ * Gets the first condition in the filter.
960
886
  */
961
- filterType: FilterType;
887
+ readonly condition1: FilterCondition;
962
888
  /**
963
- * Gets or sets the {@link DataMap} used to convert raw values into display
964
- * values shown when editing this filter.
965
- *
966
- * The example below assigns a {@link DataMap} to Boolean column filters
967
- * so the filter editor displays 'Yes' and 'No' instead of 'true' and 'false':
968
- *
969
- * ```typescript
970
- * import { FlexGridFilter } from '@grapecity/wijmo.grid.filter';
971
- * var filter = new FlexGridFilter(grid),
972
- * map = new wijmo.grid.DataMap([
973
- * { value: true, caption: 'Yes' },
974
- * { value: false, caption: 'No' },
975
- * ], 'value', 'caption');
976
- * for (var c = 0; c &lt; grid.columns.length; c++) {
977
- * if (grid.columns[c].dataType == wijmo.DataType.Boolean) {
978
- * filter.getColumnFilter(c).dataMap = map;
979
- * }
980
- * }
981
- * ```
889
+ * Gets the second condition in the filter.
982
890
  */
983
- dataMap: DataMap;
891
+ readonly condition2: FilterCondition;
984
892
  /**
985
- * Gets the {@link ValueFilter} in this {@link ColumnFilter}.
893
+ * Gets a value that indicates whether to combine the two conditions
894
+ * with an AND or an OR operator.
895
+ *
896
+ * The default value for this property is **true**.
986
897
  */
987
- readonly valueFilter: ValueFilter;
898
+ and: boolean;
988
899
  /**
989
- * Gets the {@link ConditionFilter} in this {@link ColumnFilter}.
900
+ * Gets or sets the {@link DataMap} used to convert raw values into display
901
+ * values shown when editing this filter.
990
902
  */
991
- readonly conditionFilter: ConditionFilter;
903
+ dataMap: DataMap;
992
904
  /**
993
- * Gets the {@link Column} being filtered.
905
+ * Gets the {@link Column} to filter.
994
906
  */
995
907
  readonly column: Column;
996
908
  _setColumn(column: Column): void;
997
- /**
998
- * Gets or sets the aria-label attribute of {@link ColumnFilterEditor} host element.
999
- *
1000
- * The default value for this property is "Filter Editor for Column".
1001
- */
1002
- ariaLabel: string;
1003
909
  /**
1004
910
  * Gets a value that indicates whether the filter is active.
911
+ *
912
+ * The filter is active if at least one of the two conditions
913
+ * has its operator and value set to a valid combination.
1005
914
  */
1006
915
  readonly isActive: boolean;
1007
916
  /**
1008
- * Gets a value that indicates whether a value passes the filter.
917
+ * Returns a value indicating whether a value passes this filter.
1009
918
  *
1010
919
  * @param value The value to test.
1011
920
  */
@@ -1014,12 +923,173 @@ export declare class ColumnFilter implements IColumnFilter {
1014
923
  * Clears the filter.
1015
924
  */
1016
925
  clear(): void;
926
+ _hasDatePart(): boolean;
927
+ _hasTimePart(): boolean;
1017
928
  /**
1018
929
  * Returns true if this object supports a given interface.
1019
930
  *
1020
931
  * @param interfaceName Name of the interface to look for.
1021
932
  */
1022
933
  implementsInterface(interfaceName: string): boolean;
934
+ setColumnFilter(columnFilter: ColumnFilter): void;
935
+ }
936
+ /**
937
+ * Defines a filter condition.
938
+ *
939
+ * This class is used by the {@link FlexGridFilter} class;
940
+ * you will rarely have to use it directly.
941
+ */
942
+ export declare class FilterCondition {
943
+ private _op;
944
+ private _val;
945
+ private _strVal;
946
+ private _filter;
947
+ static _refDateTime: Date;
948
+ /**
949
+ * Initializes a new instance of the {@link FilterCondition} class.
950
+ *
951
+ * @param filter The {@link ConditionFilter} that owns this {@link FilterCondition}.
952
+ */
953
+ constructor(filter?: ConditionFilter);
954
+ /**
955
+ * Gets or sets the operator used by this {@link FilterCondition}.
956
+ */
957
+ operator: Operator;
958
+ /**
959
+ * Gets or sets the value used by this {@link FilterCondition}.
960
+ */
961
+ value: any;
962
+ /**
963
+ * Gets a value that indicates whether the condition is active.
964
+ */
965
+ readonly isActive: boolean;
966
+ /**
967
+ * Clears the condition.
968
+ */
969
+ clear(): void;
970
+ /**
971
+ * Returns a value that determines whether the given value passes this
972
+ * {@link FilterCondition}.
973
+ *
974
+ * @param value The value to test.
975
+ * @param dateOnly Whether to disregard the time part of **Date** values.
976
+ * @param timeOnly Whether to disregard the date part of **Date** values.
977
+ */
978
+ apply(value: any, dateOnly?: boolean, timeOnly?: boolean): boolean;
979
+ _getCaseString(value: string): string;
980
+ }
981
+ /**
982
+ * Specifies filter condition operators.
983
+ */
984
+ export declare enum Operator {
985
+ /** Equals. */
986
+ EQ = 0,
987
+ /** Does not equal. */
988
+ NE = 1,
989
+ /** Greater than. */
990
+ GT = 2,
991
+ /** Greater than or equal to. */
992
+ GE = 3,
993
+ /** Less than. */
994
+ LT = 4,
995
+ /** Less than or equal to. */
996
+ LE = 5,
997
+ /** Begins with. */
998
+ BW = 6,
999
+ /** Ends with. */
1000
+ EW = 7,
1001
+ /** Contains. */
1002
+ CT = 8,
1003
+ /** Does not contain. */
1004
+ NC = 9,
1005
+ /** Does not begin with */
1006
+ NBW = 10,
1007
+ /** Does not end with */
1008
+ NEW = 11,
1009
+ BLANK = 100,
1010
+ NOTBLANK = 101
1011
+ }
1012
+ /**
1013
+ * The editor used to inspect and modify {@link ConditionFilter} objects.
1014
+ *
1015
+ * This class is used by the {@link FlexGridFilter} class; you
1016
+ * rarely use it directly.
1017
+ */
1018
+ export declare class ConditionFilterEditor extends Control {
1019
+ private _filter;
1020
+ _cmb1: input.ComboBox;
1021
+ _val1: any;
1022
+ _cmb2: input.ComboBox;
1023
+ _val2: any;
1024
+ private _canApply;
1025
+ private _divHdr;
1026
+ private _divCmb1;
1027
+ private _divVal1;
1028
+ private _divCmb2;
1029
+ private _divVal2;
1030
+ private _spAnd;
1031
+ private _spOr;
1032
+ _btnAnd: HTMLInputElement;
1033
+ _btnOr: HTMLInputElement;
1034
+ private _lblVal;
1035
+ private _divHdr2;
1036
+ private _lblVal2;
1037
+ static _ctrlTemplate: string;
1038
+ /**
1039
+ * Gets or sets the template used to instantiate {@link ConditionFilterEditor} controls.
1040
+ */
1041
+ static controlTemplate: string;
1042
+ /**
1043
+ * Initializes a new instance of the {@link ConditionFilterEditor} class.
1044
+ *
1045
+ * @param element The DOM element that hosts the control, or a selector
1046
+ * for the host element (e.g. '#theCtrl').
1047
+ * @param filter The {@link ConditionFilter} to edit.
1048
+ */
1049
+ constructor(element: any, filter: ConditionFilter);
1050
+ private _isShowConditionValuePart;
1051
+ private _linkLabelToInput;
1052
+ /**
1053
+ * Gets a reference to the {@link ConditionFilter} being edited.
1054
+ */
1055
+ readonly filter: ConditionFilter;
1056
+ /**
1057
+ * Gets or sets a value that indicates whether the current edits
1058
+ * can be applied to make the filter active.
1059
+ */
1060
+ canApply: boolean;
1061
+ /**
1062
+ * Updates editor with current filter settings.
1063
+ */
1064
+ updateEditor(): void;
1065
+ /**
1066
+ * Clears the editor without applying changes to the filter.
1067
+ */
1068
+ clearEditor(): void;
1069
+ /**
1070
+ * Gets a value that determines whether the editor has been cleared.
1071
+ */
1072
+ readonly isEditorClear: boolean;
1073
+ /**
1074
+ * Updates filter to reflect the current editor values.
1075
+ */
1076
+ updateFilter(): void;
1077
+ /**
1078
+ * Occurs when the value of the {@linj canApply} property changes.
1079
+ */
1080
+ readonly canApplyChanged: Event<ConditionFilterEditor, EventArgs>;
1081
+ /**
1082
+ * Raises the {@link canApplyChanged} event.
1083
+ */
1084
+ onCanApplyChanged(e?: EventArgs): void;
1085
+ private _getComboValue;
1086
+ private _createOperatorCombo;
1087
+ private _createValueInput;
1088
+ private _btnAndOrChanged;
1089
+ private _checkRadio;
1090
+ private _keydown;
1091
+ private _onLabelClick;
1092
+ private _isSingleFilterMode;
1023
1093
  }
1024
1094
  /**
1025
1095
  * The editor used to inspect and modify column filters.
@@ -1046,10 +1116,23 @@ export declare class ColumnFilterEditor extends Control {
1046
1116
  private _tabPanel;
1047
1117
  static _ctrlTemplate: string;
1048
1118
  private _disallowedControls;
1119
+ private _btnClickedHandle;
1120
+ private _cbSelectAllClickedHandle;
1121
+ private _andOrChangedHandle;
1122
+ private _filterAppliedHandler;
1123
+ private _cmb1Timer;
1124
+ private _cmb2Timer;
1125
+ private _val1Timer;
1126
+ private _val2Timer;
1127
+ private _andOrTimer;
1128
+ private _isConditionFilterChanged;
1049
1129
  /**
1050
1130
  * Gets or sets the template used to instantiate {@link ColumnFilterEditor} controls.
1051
1131
  */
1052
1132
  static controlTemplate: string;
1133
+ static readonly _multiFilterTemplate: string;
1134
+ static readonly _singleFilterTemplate: string;
1135
+ static isCustomedTemplate(template: string): boolean;
1053
1136
  /**
1054
1137
  * Initializes a new instance of the {@link ColumnFilterEditor} class.
1055
1138
  *
@@ -1087,9 +1170,23 @@ export declare class ColumnFilterEditor extends Control {
1087
1170
  * Raises the {@link buttonClicked} event.
1088
1171
  */
1089
1172
  onButtonClicked(e?: EventArgs): void;
1090
- _showFilter(filterType: FilterType): void;
1173
+ _showFilter(filterType?: FilterType): void;
1091
1174
  private getActiveFilterType;
1175
+ private raiseFilterChangedHandler;
1176
+ private bindEventsForMultiFilter;
1177
+ private updateConditionEditorAndTirggerFilterChanged;
1178
+ private _cbSelectAllClicked;
1179
+ private _andOrChanged;
1092
1180
  private _updateSortButtonState;
1093
1181
  private _getFilterType;
1182
+ private setConditionFilterChanged;
1094
1183
  private _btnClicked;
1184
+ /**
1185
+ * Disposes of the control and all its resources.
1186
+ *
1187
+ * Calling the {@link dispose} method is important in applications that create
1188
+ * and remove controls dynamically. Failing to dispose of the controls may
1189
+ * cause memory leaks.
1190
+ */
1191
+ dispose(): void;
1095
1192
  }