@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/es2015-commonjs.js +2 -2
- package/es2015-esm.js +2 -2
- package/es5-esm.js +2 -2
- package/index.d.ts +334 -237
- package/index.js +2 -2
- package/package.json +5 -5
package/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
*
|
|
3
|
-
* Wijmo Library 5.
|
|
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
|
|
437
|
+
* Defines a filter for a column on a {@link FlexGrid} control.
|
|
408
438
|
*
|
|
409
|
-
*
|
|
410
|
-
*
|
|
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
|
|
442
|
+
* This class is used by the {@link FlexGridFilter} class; you
|
|
413
443
|
* rarely use it directly.
|
|
414
444
|
*/
|
|
415
|
-
export declare class
|
|
445
|
+
export declare class ColumnFilter implements IColumnFilter {
|
|
446
|
+
_owner: FlexGridFilter;
|
|
416
447
|
private _col;
|
|
417
|
-
private
|
|
418
|
-
|
|
419
|
-
private
|
|
420
|
-
private
|
|
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
|
|
454
|
+
* Initializes a new instance of the {@link ColumnFilter} class.
|
|
423
455
|
*
|
|
424
|
-
* @param
|
|
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
|
-
|
|
459
|
+
constructor(owner: FlexGridFilter, column: Column);
|
|
431
460
|
/**
|
|
432
|
-
* Gets the
|
|
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
|
-
|
|
467
|
+
filterType: FilterType;
|
|
435
468
|
/**
|
|
436
|
-
* Gets
|
|
437
|
-
* with an AND or an OR operator.
|
|
469
|
+
* Gets or sets the mode of filtering provided by this filter.
|
|
438
470
|
*
|
|
439
|
-
*
|
|
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
|
-
|
|
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
|
|
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
|
|
512
|
+
* Gets or sets the aria-label attribute of {@link ColumnFilterEditor} host element.
|
|
454
513
|
*
|
|
455
|
-
* The
|
|
456
|
-
|
|
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
|
-
*
|
|
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
|
-
|
|
757
|
+
_filter: ValueFilter;
|
|
841
758
|
private _toFilter;
|
|
842
759
|
private _filterText;
|
|
843
760
|
private _rxFilter;
|
|
844
|
-
|
|
761
|
+
_view: CollectionView;
|
|
845
762
|
private _initialItems;
|
|
846
763
|
private _canApply;
|
|
847
764
|
_isFiltering: boolean;
|
|
848
765
|
private _divFilter;
|
|
849
766
|
private _cmbFilter;
|
|
850
|
-
|
|
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
|
-
|
|
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
|
-
*
|
|
935
|
-
*
|
|
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
|
|
941
|
-
private _owner;
|
|
871
|
+
export declare class ConditionFilter implements IColumnFilter {
|
|
942
872
|
private _col;
|
|
943
|
-
private
|
|
944
|
-
private
|
|
945
|
-
private
|
|
946
|
-
|
|
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
|
|
879
|
+
* Initializes a new instance of the {@link ConditionFilter} class.
|
|
949
880
|
*
|
|
950
|
-
* @param
|
|
951
|
-
* @param column The {@link Column} to filter.
|
|
881
|
+
* @param column The column to filter.
|
|
952
882
|
*/
|
|
953
|
-
constructor(
|
|
883
|
+
constructor(column: Column);
|
|
954
884
|
/**
|
|
955
|
-
* Gets
|
|
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
|
-
|
|
887
|
+
readonly condition1: FilterCondition;
|
|
962
888
|
/**
|
|
963
|
-
* Gets
|
|
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 < 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
|
-
|
|
891
|
+
readonly condition2: FilterCondition;
|
|
984
892
|
/**
|
|
985
|
-
* Gets
|
|
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
|
-
|
|
898
|
+
and: boolean;
|
|
988
899
|
/**
|
|
989
|
-
* Gets the {@link
|
|
900
|
+
* Gets or sets the {@link DataMap} used to convert raw values into display
|
|
901
|
+
* values shown when editing this filter.
|
|
990
902
|
*/
|
|
991
|
-
|
|
903
|
+
dataMap: DataMap;
|
|
992
904
|
/**
|
|
993
|
-
* Gets the {@link Column}
|
|
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
|
-
*
|
|
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
|
|
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
|
}
|