@adaptabletools/adaptable 10.0.0-canary.3 → 10.0.3
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/base.css +77 -29
- package/index.css +89 -31
- package/package.json +1 -5
- package/publishTimestamp.d.ts +1 -1
- package/publishTimestamp.js +1 -1
- package/src/AdaptableInterfaces/IAdaptable.d.ts +12 -2
- package/src/AdaptableOptions/AdaptableOptions.d.ts +1 -1
- package/src/AdaptableOptions/FilterOptions.d.ts +14 -7
- package/src/AdaptableOptions/GeneralOptions.d.ts +0 -7
- package/src/AdaptableOptions/LayoutOptions.d.ts +1 -1
- package/src/AdaptableOptions/QueryLanguageOptions.d.ts +7 -0
- package/src/AdaptableOptions/UserInterfaceOptions.d.ts +89 -4
- package/src/Api/AlertApi.d.ts +1 -1
- package/src/Api/ColumnApi.d.ts +33 -0
- package/src/Api/ConfigApi.d.ts +8 -0
- package/src/Api/DataChangeHistoryApi.d.ts +10 -4
- package/src/Api/GridApi.d.ts +34 -8
- package/src/Api/Implementation/AlertApiImpl.d.ts +1 -1
- package/src/Api/Implementation/AlertApiImpl.js +11 -4
- package/src/Api/Implementation/ColumnApiImpl.d.ts +7 -0
- package/src/Api/Implementation/ColumnApiImpl.js +37 -1
- package/src/Api/Implementation/ConfigApiImpl.d.ts +1 -1
- package/src/Api/Implementation/ConfigApiImpl.js +28 -17
- package/src/Api/Implementation/DataChangeHistoryApiImpl.d.ts +1 -0
- package/src/Api/Implementation/DataChangeHistoryApiImpl.js +3 -0
- package/src/Api/Implementation/FreeTextColumnApiImpl.js +2 -1
- package/src/Api/Implementation/GridApiImpl.d.ts +9 -0
- package/src/Api/Implementation/GridApiImpl.js +17 -1
- package/src/Api/Implementation/InternalApiImpl.d.ts +2 -0
- package/src/Api/Implementation/InternalApiImpl.js +16 -0
- package/src/Api/Implementation/QueryLanguageApiImpl.d.ts +2 -0
- package/src/Api/Implementation/QueryLanguageApiImpl.js +3 -0
- package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +11 -8
- package/src/Api/Implementation/UserInterfaceApiImpl.js +57 -80
- package/src/Api/InternalApi.d.ts +2 -0
- package/src/Api/QueryLanguageApi.d.ts +5 -0
- package/src/Api/UserInterfaceApi.d.ts +14 -5
- package/src/PredefinedConfig/AlertState.d.ts +10 -0
- package/src/PredefinedConfig/CalculatedColumnState.d.ts +4 -37
- package/src/PredefinedConfig/Common/AdaptablePredicate.js +16 -15
- package/src/PredefinedConfig/Common/DataUpdateConfig.d.ts +5 -1
- package/src/PredefinedConfig/Common/SpecialColumnSettings.d.ts +49 -0
- package/src/{AdaptableOptions/DataChangeTrackingOptions.js → PredefinedConfig/Common/SpecialColumnSettings.js} +0 -0
- package/src/PredefinedConfig/FilterState.d.ts +1 -1
- package/src/PredefinedConfig/FreeTextColumnState.d.ts +10 -0
- package/src/PredefinedConfig/Selection/GridRow.d.ts +12 -4
- package/src/PredefinedConfig/SystemState.d.ts +4 -1
- package/src/Redux/ActionsReducers/SystemRedux.d.ts +6 -6
- package/src/Redux/ActionsReducers/SystemRedux.js +11 -11
- package/src/Redux/Store/AdaptableReduxMerger.js +7 -1
- package/src/Redux/Store/AdaptableStore.js +12 -0
- package/src/Strategy/AlertModule.js +1 -1
- package/src/Strategy/DataChangeHistoryModule.js +1 -1
- package/src/Strategy/ExportModule.d.ts +0 -2
- package/src/Strategy/ExportModule.js +58 -61
- package/src/Utilities/Defaults/DefaultAdaptableOptions.js +2 -4
- package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +11 -5
- package/src/Utilities/Helpers/DateHelper.d.ts +8 -2
- package/src/Utilities/Helpers/DateHelper.js +42 -20
- package/src/Utilities/ObjectFactory.d.ts +1 -1
- package/src/Utilities/ObjectFactory.js +13 -1
- package/src/Utilities/Services/AlertService.d.ts +1 -0
- package/src/Utilities/Services/AlertService.js +5 -0
- package/src/Utilities/Services/DataService.d.ts +0 -4
- package/src/Utilities/Services/DataService.js +2 -18
- package/src/Utilities/Services/Interface/IAlertService.d.ts +2 -1
- package/src/Utilities/Services/Interface/IDataService.d.ts +0 -2
- package/src/Utilities/Services/Interface/ILicenseService.d.ts +2 -1
- package/src/Utilities/Services/LicenseService.d.ts +2 -2
- package/src/Utilities/Services/MetamodelService.js +1 -0
- package/src/Utilities/Services/ModuleService.js +31 -24
- package/src/Utilities/Services/ReportService.js +1 -1
- package/src/Utilities/Services/TeamSharingService.d.ts +1 -0
- package/src/Utilities/Services/TeamSharingService.js +4 -2
- package/src/Utilities/runIfNotResolvedIn.d.ts +8 -0
- package/src/Utilities/runIfNotResolvedIn.js +23 -0
- package/src/View/AdaptableView.js +1 -1
- package/src/View/Alert/Wizard/AlertDisplayWizardSection.js +19 -5
- package/src/View/BulkUpdate/BulkUpdatePopup.d.ts +2 -0
- package/src/View/BulkUpdate/BulkUpdatePopup.js +4 -2
- package/src/View/BulkUpdate/BulkUpdateViewPanel.d.ts +2 -0
- package/src/View/BulkUpdate/BulkUpdateViewPanel.js +3 -1
- package/src/View/Components/FilterForm/FilterForm.d.ts +3 -51
- package/src/View/Components/FilterForm/FilterForm.js +44 -23
- package/src/View/Components/FilterForm/ListBoxFilterForm.d.ts +3 -0
- package/src/View/Components/FilterForm/ListBoxFilterForm.js +14 -5
- package/src/View/Components/FilterForm/QuickFilterForm.d.ts +3 -43
- package/src/View/Components/FilterForm/QuickFilterForm.js +64 -23
- package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.d.ts +3 -0
- package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.js +8 -0
- package/src/View/Components/Popups/AdaptablePopup.d.ts +1 -1
- package/src/View/Components/Selectors/ColumnValueSelector.d.ts +10 -2
- package/src/View/Components/Selectors/ColumnValueSelector.js +45 -13
- package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +24 -6
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +42 -32
- package/src/View/DataChangeHistory/DataChangeHistoryPopup.d.ts +5 -1
- package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +8 -5
- package/src/View/FreeTextColumn/FreeTextColumnPopup.js +3 -1
- package/src/View/FreeTextColumn/FreeTextColumnSummary.js +3 -1
- package/src/View/GridInfo/GridInfoPopup.js +4 -1
- package/src/View/Query/QueryViewPanel.js +1 -1
- package/src/View/Schedule/Wizard/ScheduleScheduleWizard.d.ts +1 -1
- package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +6 -8
- package/src/View/UIHelper.d.ts +2 -0
- package/src/View/UIHelper.js +10 -1
- package/src/agGrid/ActionColumnRenderer.d.ts +2 -1
- package/src/agGrid/ActionColumnRenderer.js +20 -3
- package/src/agGrid/Adaptable.d.ts +20 -4
- package/src/agGrid/Adaptable.js +186 -55
- package/src/components/Dashboard/Dashboard.js +1 -1
- package/src/components/DropdownButton/index.js +1 -1
- package/src/components/ExpressionEditor/index.js +2 -1
- package/src/components/Loader/Loader.d.ts +7 -0
- package/src/components/Loader/Loader.js +13 -0
- package/src/components/Loader/index.d.ts +2 -0
- package/src/components/Loader/index.js +7 -0
- package/src/components/ProgressIndicator/ProgressIndicator.d.ts +2 -0
- package/src/components/ProgressIndicator/ProgressIndicator.js +54 -0
- package/src/metamodel/adaptable.metamodel.d.ts +74 -34
- package/src/metamodel/adaptable.metamodel.js +346 -116
- package/src/parser/src/types.d.ts +11 -11
- package/src/types.d.ts +4 -4
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/src/AdaptableOptions/DataChangeTrackingOptions.d.ts +0 -16
- package/src/Utilities/Interface/ProgressIndicator.d.ts +0 -4
- package/src/Utilities/Interface/ProgressIndicator.js +0 -2
- package/src/View/Export/ProgressIndicator.d.ts +0 -6
- package/src/View/Export/ProgressIndicator.js +0 -25
|
@@ -22,51 +22,32 @@ class UserInterfaceApiImpl extends ApiBase_1.ApiBase {
|
|
|
22
22
|
return this.getUserInterfaceOptions().styleClassNames;
|
|
23
23
|
}
|
|
24
24
|
getAllPermittedValuesItems() {
|
|
25
|
-
|
|
25
|
+
var _a, _b;
|
|
26
|
+
return (_b = (_a = this.getUserInterfaceOptions()) === null || _a === void 0 ? void 0 : _a.permittedValues) !== null && _b !== void 0 ? _b : [];
|
|
26
27
|
}
|
|
27
|
-
|
|
28
|
-
return this.getAllPermittedValuesItems().filter((pv) => {
|
|
29
|
-
return 'ColumnIds' in pv.scope == true;
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
getPermittedValuesItemsWithDataTypeScope() {
|
|
33
|
-
return this.getAllPermittedValuesItems().filter((pv) => {
|
|
34
|
-
return 'DataTypes' in pv.scope == true;
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
getPermittedValuesItemsWithAllScope() {
|
|
38
|
-
return this.getAllPermittedValuesItems().filter((pv) => {
|
|
39
|
-
return 'All' in pv.scope == true;
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
getPermittedValuesForScope(column) {
|
|
28
|
+
getPermittedValuesForScope(column, permittedValues) {
|
|
43
29
|
let permittedValuesItem;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
30
|
+
/**
|
|
31
|
+
* The previous implementation prioritized column-id, data-types and all
|
|
32
|
+
*/
|
|
33
|
+
// columns id
|
|
34
|
+
permittedValuesItem = permittedValues.find((permittedValue) => {
|
|
35
|
+
return ('ColumnIds' in permittedValue.scope &&
|
|
36
|
+
this.adaptable.api.scopeApi.isColumnInScope(column, permittedValue.scope));
|
|
50
37
|
});
|
|
51
38
|
if (permittedValuesItem) {
|
|
52
39
|
return permittedValuesItem;
|
|
53
40
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
permittedValuesItem = pv;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
41
|
+
permittedValuesItem = permittedValues.find((permittedValue) => {
|
|
42
|
+
return ('DataTypes' in permittedValue.scope &&
|
|
43
|
+
this.adaptable.api.scopeApi.isColumnInScope(column, permittedValue.scope));
|
|
60
44
|
});
|
|
61
45
|
if (permittedValuesItem) {
|
|
62
46
|
return permittedValuesItem;
|
|
63
47
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
permittedValuesItem = pv;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
48
|
+
permittedValuesItem = permittedValues.find((permittedValue) => {
|
|
49
|
+
return ('All' in permittedValue.scope &&
|
|
50
|
+
this.adaptable.api.scopeApi.isColumnInScope(column, permittedValue.scope));
|
|
70
51
|
});
|
|
71
52
|
if (permittedValuesItem) {
|
|
72
53
|
return permittedValuesItem;
|
|
@@ -77,7 +58,8 @@ class UserInterfaceApiImpl extends ApiBase_1.ApiBase {
|
|
|
77
58
|
if (ArrayExtensions_1.ArrayExtensions.IsNullOrEmpty(this.getAllPermittedValuesItems())) {
|
|
78
59
|
return undefined;
|
|
79
60
|
}
|
|
80
|
-
|
|
61
|
+
const allPermittedValues = this.getAllPermittedValuesItems();
|
|
62
|
+
let permittedValuesColumn = this.getPermittedValuesForScope(column, allPermittedValues);
|
|
81
63
|
if (!permittedValuesColumn) {
|
|
82
64
|
return undefined;
|
|
83
65
|
}
|
|
@@ -96,58 +78,53 @@ class UserInterfaceApiImpl extends ApiBase_1.ApiBase {
|
|
|
96
78
|
}
|
|
97
79
|
return undefined;
|
|
98
80
|
}
|
|
99
|
-
|
|
100
|
-
|
|
81
|
+
getAllFilterPermittedValuesItems() {
|
|
82
|
+
var _a, _b;
|
|
83
|
+
return (_b = (_a = this.getUserInterfaceOptions()) === null || _a === void 0 ? void 0 : _a.filterPermittedValues) !== null && _b !== void 0 ? _b : [];
|
|
101
84
|
}
|
|
102
|
-
|
|
103
|
-
const
|
|
104
|
-
if (
|
|
85
|
+
getFilterPermittedValuesForColumn(column) {
|
|
86
|
+
const allFilterPermittedValuesItems = this.getAllFilterPermittedValuesItems();
|
|
87
|
+
if (ArrayExtensions_1.ArrayExtensions.IsNullOrEmpty(allFilterPermittedValuesItems)) {
|
|
105
88
|
return undefined;
|
|
106
89
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
90
|
+
return this.getPermittedValuesForScope(column, allFilterPermittedValuesItems);
|
|
91
|
+
}
|
|
92
|
+
getAllCustomSortPermittedValuesItems() {
|
|
93
|
+
var _a, _b;
|
|
94
|
+
return (_b = (_a = this.getUserInterfaceOptions()) === null || _a === void 0 ? void 0 : _a.customSortPermittedValues) !== null && _b !== void 0 ? _b : [];
|
|
95
|
+
}
|
|
96
|
+
getCustomSortPermittedValuesForColumn(column) {
|
|
97
|
+
const allFilterPermittedValuesItems = this.getAllCustomSortPermittedValuesItems();
|
|
98
|
+
if (ArrayExtensions_1.ArrayExtensions.IsNullOrEmpty(allFilterPermittedValuesItems)) {
|
|
110
99
|
return undefined;
|
|
111
100
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
return editLookUpItem;
|
|
101
|
+
return this.getPermittedValuesForScope(column, allFilterPermittedValuesItems);
|
|
102
|
+
}
|
|
103
|
+
getAllBulkUpdatePermittedValuesItems() {
|
|
104
|
+
var _a, _b;
|
|
105
|
+
return (_b = (_a = this.getUserInterfaceOptions()) === null || _a === void 0 ? void 0 : _a.bulkUpdatePermittedValues) !== null && _b !== void 0 ? _b : [];
|
|
106
|
+
}
|
|
107
|
+
getBulkUpdatePermittedValuesForColumn(column) {
|
|
108
|
+
const allFilterPermittedValuesItems = this.getAllBulkUpdatePermittedValuesItems();
|
|
109
|
+
if (ArrayExtensions_1.ArrayExtensions.IsNullOrEmpty(allFilterPermittedValuesItems)) {
|
|
110
|
+
return undefined;
|
|
123
111
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
});
|
|
133
|
-
if (editLookUpItem) {
|
|
134
|
-
return editLookUpItem;
|
|
112
|
+
return this.getPermittedValuesForScope(column, allFilterPermittedValuesItems);
|
|
113
|
+
}
|
|
114
|
+
getAllEditLookUpItems() {
|
|
115
|
+
return this.getUserInterfaceOptions().editLookUpItems || [];
|
|
116
|
+
}
|
|
117
|
+
getEditLookUpItemForColumn(column) {
|
|
118
|
+
if (!column) {
|
|
119
|
+
return undefined;
|
|
135
120
|
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
return
|
|
139
|
-
});
|
|
140
|
-
allTypeEditLookItems.forEach((eli) => {
|
|
141
|
-
if (this.adaptable.api.scopeApi.isColumnInScope(abColumn, eli.scope)) {
|
|
142
|
-
editLookUpItem = eli;
|
|
143
|
-
}
|
|
144
|
-
});
|
|
145
|
-
if (editLookUpItem) {
|
|
146
|
-
return editLookUpItem;
|
|
121
|
+
let editLookUpItems = this.getAllEditLookUpItems();
|
|
122
|
+
if (!editLookUpItems) {
|
|
123
|
+
return undefined;
|
|
147
124
|
}
|
|
148
|
-
return
|
|
125
|
+
return this.getPermittedValuesForScope(column, editLookUpItems);
|
|
149
126
|
}
|
|
150
|
-
getEditLookUpValuesForEditLookUpItem(editLookUpItem, columnId) {
|
|
127
|
+
getEditLookUpValuesForEditLookUpItem(editLookUpItem, columnId, data) {
|
|
151
128
|
if (!editLookUpItem) {
|
|
152
129
|
return undefined;
|
|
153
130
|
}
|
|
@@ -158,7 +135,7 @@ class UserInterfaceApiImpl extends ApiBase_1.ApiBase {
|
|
|
158
135
|
let editLookUpValues = editLookUpItem.values;
|
|
159
136
|
// first do the function then get hardcoded items
|
|
160
137
|
if (editLookUpValues != null && typeof editLookUpValues === 'function') {
|
|
161
|
-
return editLookUpValues(column);
|
|
138
|
+
return editLookUpValues(column, data);
|
|
162
139
|
}
|
|
163
140
|
else {
|
|
164
141
|
let arr = editLookUpValues;
|
package/src/Api/InternalApi.d.ts
CHANGED
|
@@ -116,4 +116,6 @@ export interface InternalApi {
|
|
|
116
116
|
destroyFrameworkComponent(containerDomNode: HTMLElement, frameworkComponent: AdaptableFrameworkComponent, componentType: 'toolPanel' | 'toolbar'): void;
|
|
117
117
|
initializeDataChangeHistory(): void;
|
|
118
118
|
isTextComparisonCaseSensitive(): boolean;
|
|
119
|
+
executeWithProgressIndicator(label: string, executeFn: () => unknown): void;
|
|
120
|
+
hideProgressIndicator(): void;
|
|
119
121
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AdaptableModule } from '../PredefinedConfig/Common/Types';
|
|
2
|
+
import { ExpressionFunctionMap } from '../types';
|
|
2
3
|
/**
|
|
3
4
|
* Manages AdapTableQL (Query Language)
|
|
4
5
|
*/
|
|
@@ -33,6 +34,10 @@ export interface QueryLanguageApi {
|
|
|
33
34
|
* Returns all columns that can be used in an Expression
|
|
34
35
|
*/
|
|
35
36
|
getQueryableColumnIds(): string[];
|
|
37
|
+
/**
|
|
38
|
+
* Returns the current Module Expression Map
|
|
39
|
+
*/
|
|
40
|
+
getModuleExpressionFunctionMap(): ExpressionFunctionMap;
|
|
36
41
|
/**
|
|
37
42
|
* Runs the AST that AdapTableQL creates for a expression - useful when evaluating remotely
|
|
38
43
|
* @param expression expression to be run
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
|
|
2
2
|
import { AdaptableStyle } from '../PredefinedConfig/Common/AdaptableStyle';
|
|
3
3
|
import { UserMenuItem } from '../PredefinedConfig/Common/Menu';
|
|
4
|
-
import { ActionColumn,
|
|
4
|
+
import { ActionColumn, BulkUpdatePermittedValues, CustomSortPermittedValues, EditLookUpPermittedValues, FilterPermittedValues, PermittedValues } from '../AdaptableOptions/UserInterfaceOptions';
|
|
5
5
|
/**
|
|
6
6
|
* Functions relating to User Interface section of Adaptable State
|
|
7
7
|
*/
|
|
@@ -17,27 +17,36 @@ export interface UserInterfaceApi {
|
|
|
17
17
|
/**
|
|
18
18
|
* Retrieves `permittedValues` property from User Interface Options
|
|
19
19
|
*/
|
|
20
|
-
getAllPermittedValuesItems():
|
|
20
|
+
getAllPermittedValuesItems(): PermittedValues[];
|
|
21
21
|
/**
|
|
22
22
|
* Retrieves Permitted Values for a given Column
|
|
23
23
|
* @param column column for which to retrieve Permitted Values
|
|
24
24
|
*/
|
|
25
25
|
getPermittedValuesForColumn(column: AdaptableColumn): any[];
|
|
26
|
+
/**
|
|
27
|
+
* Retrieves Permitted values for filtering by column values in Floating Filter and dropdown Filter.
|
|
28
|
+
*/
|
|
29
|
+
getFilterPermittedValuesForColumn(column: AdaptableColumn): FilterPermittedValues | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Retrieves Permitted values for Custom sort.
|
|
32
|
+
*/
|
|
33
|
+
getCustomSortPermittedValuesForColumn(column: AdaptableColumn): CustomSortPermittedValues | undefined;
|
|
34
|
+
getBulkUpdatePermittedValuesForColumn(column: AdaptableColumn): BulkUpdatePermittedValues | undefined;
|
|
26
35
|
/**
|
|
27
36
|
* Retrieves `editLookUpItems` property from User Interface Options
|
|
28
37
|
*/
|
|
29
|
-
getAllEditLookUpItems():
|
|
38
|
+
getAllEditLookUpItems(): EditLookUpPermittedValues[];
|
|
30
39
|
/**
|
|
31
40
|
* Retrieves EditLookUpItems for a given Column
|
|
32
41
|
* @param columnId Column for which to retrieve EditLookUpItems
|
|
33
42
|
*/
|
|
34
|
-
getEditLookUpItemForColumn(
|
|
43
|
+
getEditLookUpItemForColumn(column: AdaptableColumn): EditLookUpPermittedValues | undefined;
|
|
35
44
|
/**
|
|
36
45
|
* Retrieves actual Look Up Values from an EditLookUpItem
|
|
37
46
|
* @param editLookUpItem editLookUpItem to check
|
|
38
47
|
* @param columnId Column to check
|
|
39
48
|
*/
|
|
40
|
-
getEditLookUpValuesForEditLookUpItem(editLookUpItem:
|
|
49
|
+
getEditLookUpValuesForEditLookUpItem(editLookUpItem: EditLookUpPermittedValues, columnId: string, rowData: any): any[] | undefined;
|
|
41
50
|
/**
|
|
42
51
|
* Adds menu item to Column Menu
|
|
43
52
|
* @param userMenuItem Menu Item to add
|
|
@@ -11,6 +11,7 @@ import { XOR } from '../Utilities/Extensions/TypeExtensions';
|
|
|
11
11
|
import { AdaptableAggregationQuery, AdaptableBooleanQuery, AdaptableObservableQuery } from './Common/AdaptableQuery';
|
|
12
12
|
import { ButtonStyle } from './Common/ButtonStyle';
|
|
13
13
|
import { AlertButtonContext } from '../AdaptableOptions/NotificationsOptions';
|
|
14
|
+
import { DataChangedInfo } from './Common/DataChangedInfo';
|
|
14
15
|
/**
|
|
15
16
|
* Predefined Configuration for Alert function
|
|
16
17
|
*/
|
|
@@ -45,22 +46,27 @@ export interface BaseAlertDefinition extends SuspendableObject {
|
|
|
45
46
|
export interface FlashingAlertProperties {
|
|
46
47
|
/**
|
|
47
48
|
* Should a cell or whole row flash
|
|
49
|
+
* @defaultValue 'cell'
|
|
48
50
|
*/
|
|
49
51
|
FlashTarget?: 'row' | 'cell';
|
|
50
52
|
/**
|
|
51
53
|
* Style for 'Down' value changes
|
|
54
|
+
* @defaultValue Red BackColour
|
|
52
55
|
*/
|
|
53
56
|
DownChangeStyle?: AdaptableStyle;
|
|
54
57
|
/**
|
|
55
58
|
* Style for 'Up' value changes
|
|
59
|
+
* @defaultValue Green BackColour
|
|
56
60
|
*/
|
|
57
61
|
UpChangeStyle?: AdaptableStyle;
|
|
58
62
|
/**
|
|
59
63
|
* Style for 'Neutral' value changes
|
|
64
|
+
* @defaultValue Gray BackColour
|
|
60
65
|
*/
|
|
61
66
|
NeutralChangeStyle?: AdaptableStyle;
|
|
62
67
|
/**
|
|
63
68
|
* Duration of Flash - can be number (in ms) or 'always'
|
|
69
|
+
* @defaultValue 500ms
|
|
64
70
|
*/
|
|
65
71
|
FlashDuration?: number | 'always';
|
|
66
72
|
}
|
|
@@ -77,6 +83,10 @@ export interface AlertDefinition extends BaseAlertDefinition {
|
|
|
77
83
|
* Type of Alert: 'Info', 'Success', 'Warning', 'Error'; influences Alert colour, icon and logging
|
|
78
84
|
*/
|
|
79
85
|
MessageType: AdaptableMessageType;
|
|
86
|
+
/**
|
|
87
|
+
* Alert Message - can be string or function; if not provided AdapTable creates dynamically using Rule & Scope
|
|
88
|
+
*/
|
|
89
|
+
MessageText?: string | ((scope: AdaptableScope, rule: AlertRule, dataChangedInfo?: DataChangedInfo) => string);
|
|
80
90
|
/**
|
|
81
91
|
* Series of properties which set what happens when Alert is triggered
|
|
82
92
|
*/
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ConfigState } from './ConfigState';
|
|
2
2
|
import { AdaptableObject } from './Common/AdaptableObject';
|
|
3
3
|
import { AdaptableScalarQuery } from './Common/AdaptableQuery';
|
|
4
|
+
import { SpecialColumnSettings } from './Common/SpecialColumnSettings';
|
|
4
5
|
/**
|
|
5
6
|
* Predefined Configuration for Calculated Column function
|
|
6
7
|
**/
|
|
@@ -24,7 +25,7 @@ export interface CalculatedColumn extends AdaptableObject {
|
|
|
24
25
|
*/
|
|
25
26
|
FriendlyName?: string;
|
|
26
27
|
/**
|
|
27
|
-
*
|
|
28
|
+
* Additional optional properties for Column (e.g. filterable, resizable)
|
|
28
29
|
*/
|
|
29
30
|
CalculatedColumnSettings?: CalculatedColumnSettings;
|
|
30
31
|
/**
|
|
@@ -35,9 +36,9 @@ export interface CalculatedColumn extends AdaptableObject {
|
|
|
35
36
|
/**
|
|
36
37
|
* Set of optional properties that define a Calculated Column's behaviour
|
|
37
38
|
*/
|
|
38
|
-
export interface CalculatedColumnSettings {
|
|
39
|
+
export interface CalculatedColumnSettings extends SpecialColumnSettings {
|
|
39
40
|
/**
|
|
40
|
-
* Expression's return value DataType; inferred by AdapTable but
|
|
41
|
+
* Expression's return value DataType; inferred by AdapTable but settable by User
|
|
41
42
|
*/
|
|
42
43
|
DataType?: 'String' | 'Number' | 'Boolean' | 'Date';
|
|
43
44
|
/**
|
|
@@ -45,38 +46,4 @@ export interface CalculatedColumnSettings {
|
|
|
45
46
|
* @defaultValue false
|
|
46
47
|
*/
|
|
47
48
|
ShowToolTip?: boolean;
|
|
48
|
-
/**
|
|
49
|
-
* Preferred width (in pixels) for Column; if unset, calculated dynamically by underlying Grid
|
|
50
|
-
*/
|
|
51
|
-
Width?: number;
|
|
52
|
-
/**
|
|
53
|
-
* Whether Column is filterable
|
|
54
|
-
* @defaultValue true
|
|
55
|
-
*/
|
|
56
|
-
Filterable?: boolean;
|
|
57
|
-
/**
|
|
58
|
-
* Whether Column can be resized (by dragging column header edges)
|
|
59
|
-
* @defaultValue true
|
|
60
|
-
*/
|
|
61
|
-
Resizable?: boolean;
|
|
62
|
-
/**
|
|
63
|
-
* Whether Column can be grouped
|
|
64
|
-
* @defaultValue true
|
|
65
|
-
*/
|
|
66
|
-
Groupable?: boolean;
|
|
67
|
-
/**
|
|
68
|
-
* Whether Column is sortable
|
|
69
|
-
* @defaultValue true
|
|
70
|
-
*/
|
|
71
|
-
Sortable?: boolean;
|
|
72
|
-
/**
|
|
73
|
-
* Whether Column can be used when grid is in pivot mode
|
|
74
|
-
* @defaultValue true
|
|
75
|
-
*/
|
|
76
|
-
Pivotable?: boolean;
|
|
77
|
-
/**
|
|
78
|
-
* Whether Column can be used in an aggregation when grouping
|
|
79
|
-
* @defaultValue true
|
|
80
|
-
*/
|
|
81
|
-
Aggregatable?: boolean;
|
|
82
49
|
}
|
|
@@ -16,6 +16,7 @@ const isAfter_1 = tslib_1.__importDefault(require("date-fns/isAfter"));
|
|
|
16
16
|
const isBefore_1 = tslib_1.__importDefault(require("date-fns/isBefore"));
|
|
17
17
|
const isSameDay_1 = tslib_1.__importDefault(require("date-fns/isSameDay"));
|
|
18
18
|
const CalendarHelper_1 = tslib_1.__importDefault(require("../../Utilities/Helpers/CalendarHelper"));
|
|
19
|
+
const DateHelper_1 = require("../../Utilities/Helpers/DateHelper");
|
|
19
20
|
/**
|
|
20
21
|
* Array of Predicate Defs which are shipped by AdapTable
|
|
21
22
|
*/
|
|
@@ -273,7 +274,7 @@ exports.SystemPredicateDefs = [
|
|
|
273
274
|
icon: { path: 'calendar' },
|
|
274
275
|
columnScope: { DataTypes: ['Date'] },
|
|
275
276
|
moduleScope: ['filter', 'alert', 'conditionalstyle'],
|
|
276
|
-
handler: ({ value }) => isToday_1.default(value),
|
|
277
|
+
handler: ({ value }) => isToday_1.default(DateHelper_1.parseDateValue(value)),
|
|
277
278
|
},
|
|
278
279
|
{
|
|
279
280
|
id: 'Yesterday',
|
|
@@ -281,7 +282,7 @@ exports.SystemPredicateDefs = [
|
|
|
281
282
|
icon: { path: 'calendar' },
|
|
282
283
|
columnScope: { DataTypes: ['Date'] },
|
|
283
284
|
moduleScope: ['filter', 'alert', 'conditionalstyle'],
|
|
284
|
-
handler: ({ value }) => isYesterday_1.default(value),
|
|
285
|
+
handler: ({ value }) => isYesterday_1.default(DateHelper_1.parseDateValue(value)),
|
|
285
286
|
},
|
|
286
287
|
{
|
|
287
288
|
id: 'Tomorrow',
|
|
@@ -289,7 +290,7 @@ exports.SystemPredicateDefs = [
|
|
|
289
290
|
icon: { path: 'calendar' },
|
|
290
291
|
columnScope: { DataTypes: ['Date'] },
|
|
291
292
|
moduleScope: ['filter', 'alert', 'conditionalstyle'],
|
|
292
|
-
handler: ({ value }) => isTomorrow_1.default(value),
|
|
293
|
+
handler: ({ value }) => isTomorrow_1.default(DateHelper_1.parseDateValue(value)),
|
|
293
294
|
},
|
|
294
295
|
{
|
|
295
296
|
id: 'ThisWeek',
|
|
@@ -297,7 +298,7 @@ exports.SystemPredicateDefs = [
|
|
|
297
298
|
icon: { path: 'calendar' },
|
|
298
299
|
columnScope: { DataTypes: ['Date'] },
|
|
299
300
|
moduleScope: ['filter', 'alert', 'conditionalstyle'],
|
|
300
|
-
handler: ({ value }) => isThisWeek_1.default(value),
|
|
301
|
+
handler: ({ value }) => isThisWeek_1.default(DateHelper_1.parseDateValue(value)),
|
|
301
302
|
},
|
|
302
303
|
{
|
|
303
304
|
id: 'ThisMonth',
|
|
@@ -305,7 +306,7 @@ exports.SystemPredicateDefs = [
|
|
|
305
306
|
icon: { path: 'calendar' },
|
|
306
307
|
columnScope: { DataTypes: ['Date'] },
|
|
307
308
|
moduleScope: ['filter', 'alert', 'conditionalstyle'],
|
|
308
|
-
handler: ({ value }) => isThisMonth_1.default(value),
|
|
309
|
+
handler: ({ value }) => isThisMonth_1.default(DateHelper_1.parseDateValue(value)),
|
|
309
310
|
},
|
|
310
311
|
{
|
|
311
312
|
id: 'ThisQuarter',
|
|
@@ -313,7 +314,7 @@ exports.SystemPredicateDefs = [
|
|
|
313
314
|
icon: { path: 'calendar' },
|
|
314
315
|
columnScope: { DataTypes: ['Date'] },
|
|
315
316
|
moduleScope: ['filter', 'alert', 'conditionalstyle'],
|
|
316
|
-
handler: ({ value }) => isThisQuarter_1.default(value),
|
|
317
|
+
handler: ({ value }) => isThisQuarter_1.default(DateHelper_1.parseDateValue(value)),
|
|
317
318
|
},
|
|
318
319
|
{
|
|
319
320
|
id: 'ThisYear',
|
|
@@ -321,7 +322,7 @@ exports.SystemPredicateDefs = [
|
|
|
321
322
|
icon: { path: 'calendar' },
|
|
322
323
|
columnScope: { DataTypes: ['Date'] },
|
|
323
324
|
moduleScope: ['filter', 'alert', 'conditionalstyle'],
|
|
324
|
-
handler: ({ value }) => isThisYear_1.default(value),
|
|
325
|
+
handler: ({ value }) => isThisYear_1.default(DateHelper_1.parseDateValue(value)),
|
|
325
326
|
},
|
|
326
327
|
{
|
|
327
328
|
id: 'InPast',
|
|
@@ -329,7 +330,7 @@ exports.SystemPredicateDefs = [
|
|
|
329
330
|
icon: { path: 'calendar' },
|
|
330
331
|
columnScope: { DataTypes: ['Date'] },
|
|
331
332
|
moduleScope: ['filter', 'alert', 'conditionalstyle'],
|
|
332
|
-
handler: ({ value }) => isPast_1.default(value),
|
|
333
|
+
handler: ({ value }) => isPast_1.default(DateHelper_1.parseDateValue(value)),
|
|
333
334
|
},
|
|
334
335
|
{
|
|
335
336
|
id: 'InFuture',
|
|
@@ -337,7 +338,7 @@ exports.SystemPredicateDefs = [
|
|
|
337
338
|
icon: { path: 'calendar' },
|
|
338
339
|
columnScope: { DataTypes: ['Date'] },
|
|
339
340
|
moduleScope: ['filter', 'alert', 'conditionalstyle'],
|
|
340
|
-
handler: ({ value }) => isFuture_1.default(value),
|
|
341
|
+
handler: ({ value }) => isFuture_1.default(DateHelper_1.parseDateValue(value)),
|
|
341
342
|
},
|
|
342
343
|
{
|
|
343
344
|
id: 'After',
|
|
@@ -346,7 +347,7 @@ exports.SystemPredicateDefs = [
|
|
|
346
347
|
columnScope: { DataTypes: ['Date'] },
|
|
347
348
|
moduleScope: ['filter', 'alert', 'conditionalstyle'],
|
|
348
349
|
inputs: [{ type: 'date' }],
|
|
349
|
-
handler: ({ value, inputs }) => isAfter_1.default(value, new Date(inputs[0])),
|
|
350
|
+
handler: ({ value, inputs }) => isAfter_1.default(DateHelper_1.parseDateValue(value), new Date(inputs[0])),
|
|
350
351
|
toString: ({ inputs }) => `> ${inputs[0]}`,
|
|
351
352
|
},
|
|
352
353
|
{
|
|
@@ -356,7 +357,7 @@ exports.SystemPredicateDefs = [
|
|
|
356
357
|
columnScope: { DataTypes: ['Date'] },
|
|
357
358
|
moduleScope: ['filter', 'alert', 'conditionalstyle'],
|
|
358
359
|
inputs: [{ type: 'date' }],
|
|
359
|
-
handler: ({ value, inputs }) => isBefore_1.default(value, new Date(inputs[0])),
|
|
360
|
+
handler: ({ value, inputs }) => isBefore_1.default(DateHelper_1.parseDateValue(value), new Date(inputs[0])),
|
|
360
361
|
toString: ({ inputs }) => `< ${inputs[0]}`,
|
|
361
362
|
},
|
|
362
363
|
{
|
|
@@ -366,7 +367,7 @@ exports.SystemPredicateDefs = [
|
|
|
366
367
|
columnScope: { DataTypes: ['Date'] },
|
|
367
368
|
moduleScope: ['filter', 'alert', 'conditionalstyle'],
|
|
368
369
|
inputs: [{ type: 'date' }],
|
|
369
|
-
handler: ({ value, inputs }) => isSameDay_1.default(value, new Date(inputs[0])),
|
|
370
|
+
handler: ({ value, inputs }) => isSameDay_1.default(DateHelper_1.parseDateValue(value), new Date(inputs[0])),
|
|
370
371
|
toString: ({ inputs }) => `= ${inputs[0]}`,
|
|
371
372
|
},
|
|
372
373
|
{
|
|
@@ -376,7 +377,7 @@ exports.SystemPredicateDefs = [
|
|
|
376
377
|
columnScope: { DataTypes: ['Date'] },
|
|
377
378
|
moduleScope: ['filter', 'alert', 'conditionalstyle'],
|
|
378
379
|
inputs: [{ type: 'date' }],
|
|
379
|
-
handler: ({ value, inputs }) => !isSameDay_1.default(value, new Date(inputs[0])),
|
|
380
|
+
handler: ({ value, inputs }) => !isSameDay_1.default(DateHelper_1.parseDateValue(value), new Date(inputs[0])),
|
|
380
381
|
toString: ({ inputs }) => `!= ${inputs[0]}`,
|
|
381
382
|
},
|
|
382
383
|
{
|
|
@@ -385,7 +386,7 @@ exports.SystemPredicateDefs = [
|
|
|
385
386
|
icon: { path: 'calendar' },
|
|
386
387
|
columnScope: { DataTypes: ['Date'] },
|
|
387
388
|
moduleScope: ['filter', 'alert', 'conditionalstyle'],
|
|
388
|
-
handler: ({ value, api }) => isSameDay_1.default(value, CalendarHelper_1.default.getNextWorkingDay()),
|
|
389
|
+
handler: ({ value, api }) => isSameDay_1.default(DateHelper_1.parseDateValue(value), CalendarHelper_1.default.getNextWorkingDay()),
|
|
389
390
|
},
|
|
390
391
|
{
|
|
391
392
|
id: 'LastWorkDay',
|
|
@@ -393,7 +394,7 @@ exports.SystemPredicateDefs = [
|
|
|
393
394
|
icon: { path: 'calendar' },
|
|
394
395
|
columnScope: { DataTypes: ['Date'] },
|
|
395
396
|
moduleScope: ['filter', 'alert', 'conditionalstyle'],
|
|
396
|
-
handler: ({ value, api }) => isSameDay_1.default(value, CalendarHelper_1.default.getPreviousWorkingDay()),
|
|
397
|
+
handler: ({ value, api }) => isSameDay_1.default(DateHelper_1.parseDateValue(value), CalendarHelper_1.default.getPreviousWorkingDay()),
|
|
397
398
|
},
|
|
398
399
|
{
|
|
399
400
|
id: 'InRange',
|
|
@@ -3,11 +3,15 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export interface DataUpdateConfig {
|
|
5
5
|
/**
|
|
6
|
-
* Whether data should be updated
|
|
6
|
+
* Whether data should be updated asynchronously
|
|
7
7
|
*/
|
|
8
8
|
runAsync?: boolean;
|
|
9
9
|
/**
|
|
10
10
|
* Callback function invoked when a batch successfully updates
|
|
11
11
|
*/
|
|
12
12
|
callback?: (res: any) => void;
|
|
13
|
+
/**
|
|
14
|
+
* Index where to add new rows
|
|
15
|
+
*/
|
|
16
|
+
addIndex?: number;
|
|
13
17
|
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base Settings for SpecialColumns
|
|
3
|
+
*/
|
|
4
|
+
export interface SpecialColumnSettings {
|
|
5
|
+
/**
|
|
6
|
+
* Preferred width (in pixels) for Column; if unset, calculated dynamically by underlying Grid
|
|
7
|
+
*/
|
|
8
|
+
Width?: number;
|
|
9
|
+
/**
|
|
10
|
+
* Whether Column is filterable
|
|
11
|
+
* @defaultValue true
|
|
12
|
+
*/
|
|
13
|
+
Filterable?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Whether Column can be resized (by dragging column header edges)
|
|
16
|
+
* @defaultValue true
|
|
17
|
+
*/
|
|
18
|
+
Resizable?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Whether Column can be grouped
|
|
21
|
+
* @defaultValue true
|
|
22
|
+
*/
|
|
23
|
+
Groupable?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Whether Column is sortable
|
|
26
|
+
* @defaultValue true
|
|
27
|
+
*/
|
|
28
|
+
Sortable?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Whether Column can be used when grid is in pivot mode
|
|
31
|
+
* @defaultValue true
|
|
32
|
+
*/
|
|
33
|
+
Pivotable?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Whether Column can be used in an aggregation when grouping
|
|
36
|
+
* @defaultValue true
|
|
37
|
+
*/
|
|
38
|
+
Aggregatable?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Whether if no menu should be shown for this Column header.
|
|
41
|
+
* @defaultValue false
|
|
42
|
+
*/
|
|
43
|
+
SuppressMenu?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Whether if this Column should be movable via dragging
|
|
46
|
+
* @defaultValue false
|
|
47
|
+
*/
|
|
48
|
+
SuppressMovable?: boolean;
|
|
49
|
+
}
|
|
File without changes
|
|
@@ -48,4 +48,4 @@ export interface ColumnFilterPredicate extends AdaptablePredicate {
|
|
|
48
48
|
PredicateId: TypeHint<string, SystemFilterPredicateId>;
|
|
49
49
|
}
|
|
50
50
|
export declare type SystemFilterPredicateIds = SystemFilterPredicateId[];
|
|
51
|
-
export declare type SystemFilterPredicateId = 'Values' | 'Blanks' | 'NonBlanks' | 'Equals' | 'NotEquals' | 'GreaterThan' | 'LessThan' | 'Positive' | 'Negative' | 'Zero' | 'Between' | 'NotBetween' | 'Is' | 'IsNot' | 'Contains' | 'NotContains' | 'StartsWith' | 'EndsWith' | 'Regex' | 'Today' | 'Yesterday' | 'Tomorrow' | 'ThisWeek' | 'ThisMonth' | 'ThisQuarter' | 'ThisYear' | 'InPast' | 'InFuture' | 'Before' | 'After' | 'InRange' | 'On' | 'NotOn' | 'NextWorkDay' | 'LastWorkDay' | 'True' | 'False';
|
|
51
|
+
export declare type SystemFilterPredicateId = 'Values' | 'Blanks' | 'NonBlanks' | 'Equals' | 'NotEquals' | 'GreaterThan' | 'LessThan' | 'Positive' | 'Negative' | 'Zero' | 'Between' | 'NotBetween' | 'Is' | 'IsNot' | 'Contains' | 'NotContains' | 'StartsWith' | 'EndsWith' | 'Regex' | 'Today' | 'Yesterday' | 'Tomorrow' | 'ThisWeek' | 'ThisMonth' | 'ThisQuarter' | 'ThisYear' | 'InPast' | 'InFuture' | 'Before' | 'After' | 'InRange' | 'On' | 'NotOn' | 'NextWorkDay' | 'LastWorkDay' | 'True' | 'False' | 'BooleanToggle';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ConfigState } from './ConfigState';
|
|
2
2
|
import { AdaptableObject } from './Common/AdaptableObject';
|
|
3
|
+
import { SpecialColumnSettings } from './Common/SpecialColumnSettings';
|
|
3
4
|
/**
|
|
4
5
|
* Predefined Configuration for the Free Text Column function
|
|
5
6
|
*/
|
|
@@ -39,6 +40,10 @@ export interface FreeTextColumn extends AdaptableObject {
|
|
|
39
40
|
* @defaultValue 'String'
|
|
40
41
|
*/
|
|
41
42
|
DataType?: 'String' | 'Number' | 'Boolean' | 'Date';
|
|
43
|
+
/**
|
|
44
|
+
* Additional optional properties for Column (e.g. filterable, resizable)
|
|
45
|
+
*/
|
|
46
|
+
FreeTextColumnSettings?: FreeTextColumnSettings;
|
|
42
47
|
}
|
|
43
48
|
/**
|
|
44
49
|
* Defines a cell value stored in a Free Text Column
|
|
@@ -53,3 +58,8 @@ export interface FreeTextStoredValue {
|
|
|
53
58
|
*/
|
|
54
59
|
FreeText: any;
|
|
55
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Set of optional properties that define a FreeText Columns behaviour
|
|
63
|
+
*/
|
|
64
|
+
export interface FreeTextColumnSettings extends SpecialColumnSettings {
|
|
65
|
+
}
|
|
@@ -25,19 +25,27 @@ export interface GridRow {
|
|
|
25
25
|
*/
|
|
26
26
|
export interface RowInfo {
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
28
|
+
* Is Row a Master Row (in a Master-Detail grid)
|
|
29
29
|
*/
|
|
30
30
|
isMaster?: boolean;
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
32
|
+
* Is Row expanded (if a group row)
|
|
33
33
|
*/
|
|
34
34
|
isExpanded?: boolean;
|
|
35
35
|
/**
|
|
36
|
-
*
|
|
36
|
+
* Is Row grouped
|
|
37
37
|
*/
|
|
38
38
|
isGroup?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Is Row selected
|
|
41
|
+
*/
|
|
42
|
+
isSelected?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Is Row displayed (ie. filtered, not necessarily in viewport)
|
|
45
|
+
*/
|
|
46
|
+
isDisplayed?: boolean;
|
|
39
47
|
/**
|
|
40
48
|
* What level the Row is (if Row Grouping is active)
|
|
41
49
|
*/
|
|
42
|
-
|
|
50
|
+
rowGroupLevel?: number;
|
|
43
51
|
}
|