@adaptabletools/adaptable-cjs 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.cjs.tsbuildinfo +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adaptabletools/adaptable-cjs",
|
|
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",
|
|
@@ -157,6 +157,7 @@ const DefaultAdaptableOptions = {
|
|
|
157
157
|
defaultNumericColumnFilter: 'Equals',
|
|
158
158
|
defaultTextColumnFilter: 'Contains',
|
|
159
159
|
defaultDateColumnFilter: 'On',
|
|
160
|
+
defaultArrayColumnFilter: 'In',
|
|
160
161
|
hideQuickFilterDropdown: undefined,
|
|
161
162
|
hideQuickFilterInput: undefined,
|
|
162
163
|
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
|
*
|
|
@@ -176,7 +176,12 @@ exports.SystemPredicateDefs = [
|
|
|
176
176
|
icon: { name: 'unfilled-circle' },
|
|
177
177
|
columnScope: { All: true },
|
|
178
178
|
moduleScope: ['columnFilter', 'alert', 'flashingcell', 'formatColumn', 'badgeStyle'],
|
|
179
|
-
handler: ({ value }) =>
|
|
179
|
+
handler: ({ value, column, adaptableApi }) => {
|
|
180
|
+
if (adaptableApi.columnApi.internalApi.hasArrayDataType(column)) {
|
|
181
|
+
return value == undefined || value.length === 0;
|
|
182
|
+
}
|
|
183
|
+
return Helper_1.default.isInputNullOrEmpty(value);
|
|
184
|
+
},
|
|
180
185
|
},
|
|
181
186
|
{
|
|
182
187
|
id: 'NonBlanks',
|
|
@@ -184,7 +189,12 @@ exports.SystemPredicateDefs = [
|
|
|
184
189
|
icon: { name: 'filled-circle' },
|
|
185
190
|
columnScope: { All: true },
|
|
186
191
|
moduleScope: ['columnFilter', 'alert', 'flashingcell', 'formatColumn', 'badgeStyle'],
|
|
187
|
-
handler: ({ value }) =>
|
|
192
|
+
handler: ({ value, column, adaptableApi }) => {
|
|
193
|
+
if (adaptableApi.columnApi.internalApi.hasArrayDataType(column)) {
|
|
194
|
+
return value == undefined || value.length === 0;
|
|
195
|
+
}
|
|
196
|
+
return Helper_1.default.isInputNotNullOrEmpty(value);
|
|
197
|
+
},
|
|
188
198
|
},
|
|
189
199
|
// Numeric System Filters
|
|
190
200
|
{
|
|
@@ -161,6 +161,26 @@ const mapColumnFilterToQlPredicate = (columnFilter, abColumn, qlPredicateDefs, c
|
|
|
161
161
|
case 'boolean':
|
|
162
162
|
defaultQlPredicate = { operator: 'BooleanToggle', args: [] };
|
|
163
163
|
break;
|
|
164
|
+
case 'textArray':
|
|
165
|
+
case 'numberArray':
|
|
166
|
+
let defaultQlArrayPredicate;
|
|
167
|
+
const defaultArrayColumnFilter = columnFilterOptions.defaultArrayColumnFilter;
|
|
168
|
+
if (defaultArrayColumnFilter) {
|
|
169
|
+
if (typeof defaultArrayColumnFilter === 'function') {
|
|
170
|
+
const context = {
|
|
171
|
+
column: abColumn,
|
|
172
|
+
...api.internalApi.buildBaseContext(),
|
|
173
|
+
};
|
|
174
|
+
defaultQlArrayPredicate = defaultArrayColumnFilter(context);
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
defaultQlArrayPredicate = defaultArrayColumnFilter;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
defaultQlPredicate = defaultQlArrayPredicate
|
|
181
|
+
? { operator: defaultQlArrayPredicate, args: [] }
|
|
182
|
+
: { operator: 'In', args: [] };
|
|
183
|
+
break;
|
|
164
184
|
}
|
|
165
185
|
if (defaultQlPredicate === null) {
|
|
166
186
|
// take the firstavailable one
|
package/src/env.js
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.default = {
|
|
4
4
|
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" || '',
|
|
5
|
-
PUBLISH_TIMESTAMP:
|
|
6
|
-
VERSION: "20.3.0-canary.
|
|
5
|
+
PUBLISH_TIMESTAMP: 1752841771489 || Date.now(),
|
|
6
|
+
VERSION: "20.3.0-canary.2" || '--current-version--',
|
|
7
7
|
};
|