@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adaptabletools/adaptable",
3
- "version": "20.3.0-canary.1",
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 }) => Helper.isInputNullOrEmpty(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 }) => Helper.isInputNotNullOrEmpty(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: 1752759816335 || Date.now(),
4
- VERSION: "20.3.0-canary.1" || '--current-version--',
3
+ PUBLISH_TIMESTAMP: 1752841742262 || Date.now(),
4
+ VERSION: "20.3.0-canary.2" || '--current-version--',
5
5
  };