@adaptabletools/adaptable 20.3.0-canary.1 → 20.3.0-canary.2
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/package.json +1 -1
- package/src/AdaptableOptions/DefaultAdaptableOptions.js +1 -0
- package/src/AdaptableOptions/FilterOptions.d.ts +7 -0
- package/src/AdaptableState/Common/AdaptablePredicate.js +12 -2
- package/src/View/Components/ColumnFilter/utils.js +20 -0
- package/src/env.js +2 -2
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/tsconfig.esm.tsbuildinfo +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adaptabletools/adaptable",
|
|
3
|
-
"version": "20.3.0-canary.
|
|
3
|
+
"version": "20.3.0-canary.2",
|
|
4
4
|
"description": "Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"web-components",
|
|
@@ -153,6 +153,7 @@ const DefaultAdaptableOptions = {
|
|
|
153
153
|
defaultNumericColumnFilter: 'Equals',
|
|
154
154
|
defaultTextColumnFilter: 'Contains',
|
|
155
155
|
defaultDateColumnFilter: 'On',
|
|
156
|
+
defaultArrayColumnFilter: 'In',
|
|
156
157
|
hideQuickFilterDropdown: undefined,
|
|
157
158
|
hideQuickFilterInput: undefined,
|
|
158
159
|
quickFilterDebounce: 250,
|
|
@@ -106,6 +106,13 @@ export interface ColumnFilterOptions<TData = any> {
|
|
|
106
106
|
* @gridInfoItem
|
|
107
107
|
*/
|
|
108
108
|
defaultDateColumnFilter?: StrictExtract<SystemFilterPredicateId, 'After' | 'Before' | 'On' | 'NotOn' | 'In'> | ((adaptableColumnContext: AdaptableColumnContext<TData>) => StrictExtract<SystemFilterPredicateId, 'After' | 'Before' | 'On' | 'NotOn' | 'In'>);
|
|
109
|
+
/**
|
|
110
|
+
* Default filter type for array Columns ('textArray', 'numberArray', etc.)
|
|
111
|
+
*
|
|
112
|
+
* @defaultValue In
|
|
113
|
+
* @gridInfoItem
|
|
114
|
+
*/
|
|
115
|
+
defaultArrayColumnFilter?: StrictExtract<SystemFilterPredicateId, 'In' | 'NotIn' | 'Blanks' | 'NonBlanks'> | ((adaptableColumnContext: AdaptableColumnContext<TData>) => StrictExtract<SystemFilterPredicateId, 'In' | 'NotIn' | 'Blanks' | 'NonBlanks'>);
|
|
109
116
|
/**
|
|
110
117
|
* Hides Dropdown in Quick Filter Bar for a given Column
|
|
111
118
|
*
|
|
@@ -172,7 +172,12 @@ export const SystemPredicateDefs = [
|
|
|
172
172
|
icon: { name: 'unfilled-circle' },
|
|
173
173
|
columnScope: { All: true },
|
|
174
174
|
moduleScope: ['columnFilter', 'alert', 'flashingcell', 'formatColumn', 'badgeStyle'],
|
|
175
|
-
handler: ({ value }) =>
|
|
175
|
+
handler: ({ value, column, adaptableApi }) => {
|
|
176
|
+
if (adaptableApi.columnApi.internalApi.hasArrayDataType(column)) {
|
|
177
|
+
return value == undefined || value.length === 0;
|
|
178
|
+
}
|
|
179
|
+
return Helper.isInputNullOrEmpty(value);
|
|
180
|
+
},
|
|
176
181
|
},
|
|
177
182
|
{
|
|
178
183
|
id: 'NonBlanks',
|
|
@@ -180,7 +185,12 @@ export const SystemPredicateDefs = [
|
|
|
180
185
|
icon: { name: 'filled-circle' },
|
|
181
186
|
columnScope: { All: true },
|
|
182
187
|
moduleScope: ['columnFilter', 'alert', 'flashingcell', 'formatColumn', 'badgeStyle'],
|
|
183
|
-
handler: ({ value }) =>
|
|
188
|
+
handler: ({ value, column, adaptableApi }) => {
|
|
189
|
+
if (adaptableApi.columnApi.internalApi.hasArrayDataType(column)) {
|
|
190
|
+
return value == undefined || value.length === 0;
|
|
191
|
+
}
|
|
192
|
+
return Helper.isInputNotNullOrEmpty(value);
|
|
193
|
+
},
|
|
184
194
|
},
|
|
185
195
|
// Numeric System Filters
|
|
186
196
|
{
|
|
@@ -152,6 +152,26 @@ export const mapColumnFilterToQlPredicate = (columnFilter, abColumn, qlPredicate
|
|
|
152
152
|
case 'boolean':
|
|
153
153
|
defaultQlPredicate = { operator: 'BooleanToggle', args: [] };
|
|
154
154
|
break;
|
|
155
|
+
case 'textArray':
|
|
156
|
+
case 'numberArray':
|
|
157
|
+
let defaultQlArrayPredicate;
|
|
158
|
+
const defaultArrayColumnFilter = columnFilterOptions.defaultArrayColumnFilter;
|
|
159
|
+
if (defaultArrayColumnFilter) {
|
|
160
|
+
if (typeof defaultArrayColumnFilter === 'function') {
|
|
161
|
+
const context = {
|
|
162
|
+
column: abColumn,
|
|
163
|
+
...api.internalApi.buildBaseContext(),
|
|
164
|
+
};
|
|
165
|
+
defaultQlArrayPredicate = defaultArrayColumnFilter(context);
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
defaultQlArrayPredicate = defaultArrayColumnFilter;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
defaultQlPredicate = defaultQlArrayPredicate
|
|
172
|
+
? { operator: defaultQlArrayPredicate, args: [] }
|
|
173
|
+
: { operator: 'In', args: [] };
|
|
174
|
+
break;
|
|
155
175
|
}
|
|
156
176
|
if (defaultQlPredicate === null) {
|
|
157
177
|
// take the firstavailable one
|
package/src/env.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export default {
|
|
2
2
|
NEXT_PUBLIC_INFINITE_TABLE_LICENSE_KEY: "StartDate=2021-06-29|EndDate=2030-01-01|Owner=Adaptable|Type=distribution|TS=1624971462479|C=137829811,1004007071,2756196225,1839832928,3994409405,636616862" || '',
|
|
3
|
-
PUBLISH_TIMESTAMP:
|
|
4
|
-
VERSION: "20.3.0-canary.
|
|
3
|
+
PUBLISH_TIMESTAMP: 1752841742262 || Date.now(),
|
|
4
|
+
VERSION: "20.3.0-canary.2" || '--current-version--',
|
|
5
5
|
};
|