@adaptabletools/adaptable-cjs 18.1.0-canary.0 → 18.1.0-canary.1

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.
Files changed (35) hide show
  1. package/base.css +5 -0
  2. package/base.css.map +1 -1
  3. package/index.css +7 -0
  4. package/index.css.map +1 -1
  5. package/package.json +1 -1
  6. package/src/AdaptableInterfaces/IAdaptable.d.ts +4 -4
  7. package/src/AdaptableOptions/ColumnFilterOptions.d.ts +39 -24
  8. package/src/Api/ColumnApi.d.ts +5 -0
  9. package/src/Api/Implementation/ColumnApiImpl.d.ts +1 -0
  10. package/src/Api/Implementation/ColumnApiImpl.js +3 -0
  11. package/src/Api/Implementation/ConfigApiImpl.js +3 -1
  12. package/src/Api/Internal/ColumnFilterInternalApi.js +6 -6
  13. package/src/Api/Internal/GridInternalApi.d.ts +29 -13
  14. package/src/Api/Internal/GridInternalApi.js +129 -39
  15. package/src/PredefinedConfig/Common/AdaptableField.d.ts +1 -1
  16. package/src/PredefinedConfig/Common/AdaptablePredicate.js +5 -1
  17. package/src/Utilities/Constants/DocumentationLinkConstants.js +4 -4
  18. package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.js +5 -5
  19. package/src/View/Components/FilterForm/FilterForm.js +2 -2
  20. package/src/View/Components/FilterForm/ListBoxFilterForm.js +2 -1
  21. package/src/View/Components/FilterForm/QuickFilterValues.d.ts +1 -1
  22. package/src/View/Components/FilterForm/QuickFilterValues.js +20 -43
  23. package/src/View/Components/Selectors/PermittedValuesSelector.js +1 -1
  24. package/src/agGrid/AdaptableAgGrid.d.ts +4 -4
  25. package/src/agGrid/AdaptableAgGrid.js +20 -15
  26. package/src/agGrid/FilterWrapper.js +12 -7
  27. package/src/agGrid/defaultAdaptableOptions.js +2 -2
  28. package/src/components/ExpressionEditor/EditorInput.js +1 -1
  29. package/src/components/ExpressionEditor/index.js +1 -3
  30. package/src/env.js +2 -2
  31. package/src/metamodel/adaptable.metamodel.d.ts +45 -2
  32. package/src/metamodel/adaptable.metamodel.js +1 -1
  33. package/src/parser/src/predicate/mapExpressionToQlPredicate.js +1 -0
  34. package/src/types.d.ts +1 -1
  35. package/tsconfig.cjs.tsbuildinfo +1 -1
@@ -2,44 +2,20 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.QuickFilterValues = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ const date_fns_1 = require("date-fns");
6
+ const re_resizable_1 = require("re-resizable");
5
7
  const React = tslib_1.__importStar(require("react"));
6
8
  const react_1 = require("react");
9
+ const rebass_1 = require("rebass");
7
10
  const ArrayExtensions_1 = tslib_1.__importDefault(require("../../../Utilities/Extensions/ArrayExtensions"));
8
- const SimpleButton_1 = tslib_1.__importDefault(require("../../../components/SimpleButton"));
9
- const date_fns_1 = require("date-fns");
10
11
  const OverlayTrigger_1 = tslib_1.__importDefault(require("../../../components/OverlayTrigger"));
11
- const rebass_1 = require("rebass");
12
+ const SimpleButton_1 = tslib_1.__importDefault(require("../../../components/SimpleButton"));
12
13
  const ListBoxFilterForm_1 = require("./ListBoxFilterForm");
13
- const re_resizable_1 = require("re-resizable");
14
14
  const QuickFilterValues = (props) => {
15
15
  const { api } = props;
16
16
  const currentOverlayVisible = (0, react_1.useRef)(false);
17
17
  const valuesDropdownRef = React.useRef(null);
18
18
  const [quickFilterValues, setQuickFilterValues] = React.useState({ values: [], suppressClientSideFilter: false, dataLoadIsComplete: false });
19
- const quickFilterValuesWithPredicates = React.useMemo(() => {
20
- var _a, _b, _c;
21
- let values = quickFilterValues.values;
22
- const predicateIds = api.columnFilterApi.internalApi.getValuesFitlerPredicateIds(props.currentColumn);
23
- if (ArrayExtensions_1.default.IsNullOrEmpty(predicateIds)) {
24
- return values;
25
- }
26
- const predicatesPosition = (_c = (_b = (_a = api.optionsApi.getColumnFilterOptions()) === null || _a === void 0 ? void 0 : _a.valuesFilterOptions) === null || _b === void 0 ? void 0 : _b.predicatesPosition) !== null && _c !== void 0 ? _c : 'End';
27
- const predicateValues = predicateIds.map(predicateId => {
28
- var _a;
29
- const predicateDef = api.predicateApi.getPredicateDefById(predicateId);
30
- return {
31
- value: predicateId,
32
- label: ((_a = predicateDef.label) !== null && _a !== void 0 ? _a : predicateId),
33
- };
34
- });
35
- if (predicatesPosition === 'End') {
36
- values = [...values, ...predicateValues];
37
- }
38
- else {
39
- values = [...predicateValues, ...values];
40
- }
41
- return values;
42
- }, [quickFilterValues.values]);
43
19
  const [isDistinctColumnValuesLoading, setIsDistinctColumnValuesLoading] = React.useState(false);
44
20
  const [textFilterValue, setTextFilterValue] = React.useState('');
45
21
  const [valuesLoadTrigger, setValuesLoadTrigger] = React.useState({
@@ -76,7 +52,7 @@ const QuickFilterValues = (props) => {
76
52
  let ignore = false;
77
53
  setIsDistinctColumnValuesLoading(true);
78
54
  api.gridApi.internalApi
79
- .getDistinctFilterDisplayValuesForColumn(props.columnFilter.ColumnId, textFilterValue, api.optionsApi.getColumnFilterOptions().valuesFilterOptions.showDistinctFilteredValuesOnly)
55
+ .getDistinctFilterDisplayValuesForColumnForFiltersUI(props.columnFilter.ColumnId, textFilterValue, api.optionsApi.getColumnFilterOptions().valuesFilterOptions.showCurrentlyFilteredValuesOnly)
80
56
  .then((distinctFilterDisplayValues) => {
81
57
  if (ignore) {
82
58
  return;
@@ -130,13 +106,13 @@ const QuickFilterValues = (props) => {
130
106
  let selectedValues = props.columnFilter.Predicate.PredicateId === 'Values' ? 'Select Values' : 'Exclude Values';
131
107
  if (props.columnFilter.Predicate.Inputs.length) {
132
108
  selectedValues = props.columnFilter.Predicate.Inputs.map((input) => {
133
- var _a;
134
- const label = (_a = quickFilterValuesWithPredicates === null || quickFilterValuesWithPredicates === void 0 ? void 0 : quickFilterValuesWithPredicates.find((distinctValue) => {
109
+ var _a, _b;
110
+ const label = (_b = (_a = quickFilterValues.values) === null || _a === void 0 ? void 0 : _a.find((distinctValue) => {
135
111
  if (input instanceof Date) {
136
112
  return (0, date_fns_1.isSameDay)(input, distinctValue.value);
137
113
  }
138
114
  return distinctValue.value === input;
139
- })) === null || _a === void 0 ? void 0 : _a.label;
115
+ })) === null || _b === void 0 ? void 0 : _b.label;
140
116
  return label !== null && label !== void 0 ? label : input;
141
117
  }).join(', ');
142
118
  }
@@ -151,6 +127,7 @@ const QuickFilterValues = (props) => {
151
127
  }
152
128
  return null;
153
129
  };
130
+ const [defaultSize, setDefaultSize] = React.useState(undefined);
154
131
  return (React.createElement(OverlayTrigger_1.default, { showEvent: showEvent,
155
132
  // cannot hide on blur, because the form input receives the input when this is opened
156
133
  hideEvent: "mouseleave", hideDelay: 50, ref: (api) => {
@@ -164,18 +141,24 @@ const QuickFilterValues = (props) => {
164
141
  }
165
142
  }, render: ({ targetWidth }) => {
166
143
  var _a;
167
- return (React.createElement(re_resizable_1.Resizable, { style: {
144
+ return (React.createElement(re_resizable_1.Resizable, { onResizeStop: (_e, _direction, element, _delta) => {
145
+ const { width, height } = element.getBoundingClientRect();
146
+ setDefaultSize({ width, height });
147
+ }, defaultSize: defaultSize, style: {
168
148
  fontSize: 'var(--ab-font-size-2)',
169
149
  border: '1px solid var(--ab-color-primarydark)',
170
150
  background: 'var(--ab-color-defaultbackground)',
171
151
  zIndex: 1000,
152
+ display: 'flex',
153
+ flexFlow: 'column',
154
+ flexWrap: 'nowrap',
172
155
  }, enable: {
173
156
  top: false,
174
157
  right: true,
175
- bottom: false,
158
+ bottom: true,
176
159
  left: false,
177
160
  topRight: false,
178
- bottomRight: false,
161
+ bottomRight: true,
179
162
  bottomLeft: false,
180
163
  topLeft: false,
181
164
  }, minWidth: getPopoverWidth(targetWidth) },
@@ -191,13 +174,7 @@ const QuickFilterValues = (props) => {
191
174
  (_a = valuesDropdownRef.current) === null || _a === void 0 ? void 0 : _a.show();
192
175
  });
193
176
  }
194
- }, "data-name": "quick-filter-form", flexDirection: "column", style: {
195
- // fontSize: 'var(--ab-font-size-2)',
196
- // border: '1px solid var(--ab-color-primarydark)',
197
- // background: 'var(--ab-color-defaultbackground)',
198
- // zIndex: 1000,
199
- // width: getPopoverWidth(targetWidth),
200
- } },
177
+ }, "data-name": "quick-filter-form", flexDirection: "column", flex: 1, display: 'flex' },
201
178
  React.createElement(rebass_1.Flex, { m: 2 },
202
179
  React.createElement(SimpleButton_1.default, { onClick: () => clearColumnFilter() }, "Clear Filter"),
203
180
  ((_a = api.optionsApi.getColumnFilterOptions()) === null || _a === void 0 ? void 0 : _a.autoApplyFilter) == false && (React.createElement(SimpleButton_1.default, { ml: 2, onClick: () => {
@@ -205,7 +182,7 @@ const QuickFilterValues = (props) => {
205
182
  props.updateColumnFilter(transientColumnFilter);
206
183
  }
207
184
  } }, "Apply Filter"))),
208
- React.createElement(ListBoxFilterForm_1.ListBoxFilterForm, { disabled: props.isFilterDisabled, suppressClientSideFilter: quickFilterValues.suppressClientSideFilter, isLoading: isDistinctColumnValuesLoading, onFilterChange: handleFilterChange, currentColumn: props.currentColumn, columns: [], columnDistinctValues: quickFilterValuesWithPredicates, dataType: props.currentColumn.dataType, uiSelectedColumnValues: props.columnFilter.Predicate.Inputs.filter((input) => input !== ''), useAgGridStyle: true, onColumnValueSelectedChange: (list) => onColumnValueSelectedChange(list) }))));
185
+ React.createElement(ListBoxFilterForm_1.ListBoxFilterForm, { disabled: props.isFilterDisabled, suppressClientSideFilter: quickFilterValues.suppressClientSideFilter, isLoading: isDistinctColumnValuesLoading, onFilterChange: handleFilterChange, currentColumn: props.currentColumn, columns: [], columnDistinctValues: quickFilterValues.values, dataType: props.currentColumn.dataType, uiSelectedColumnValues: props.columnFilter.Predicate.Inputs.filter((input) => input !== ''), useAgGridStyle: true, onColumnValueSelectedChange: (list) => onColumnValueSelectedChange(list) }))));
209
186
  } },
210
187
  React.createElement(SimpleButton_1.default, { "data-name": 'Select Values', style: {
211
188
  flex: 1,
@@ -22,7 +22,7 @@ const PermittedValuesSelector = function (props) {
22
22
  setIsLoading(true);
23
23
  (async () => {
24
24
  const { values: distinctColumnValues } = await (0, runIfNotResolvedIn_1.runIfNotResolvedIn)(adaptable.api.gridApi.internalApi.getDistinctFilterDisplayValuesForColumn(props.columnId, filter, adaptable.api.optionsApi.getColumnFilterOptions().valuesFilterOptions
25
- .showDistinctFilteredValuesOnly), () => {
25
+ .showCurrentlyFilteredValuesOnly), () => {
26
26
  setIsLoading(true);
27
27
  });
28
28
  setIsLoading(false);
@@ -2,7 +2,7 @@ import { AdaptableOptions } from '../AdaptableOptions/AdaptableOptions';
2
2
  import { ChartRef, Column, GridApi, GridOptions, IRowNode, Module, RowModelType } from '@ag-grid-community/core';
3
3
  import { AdaptableLogger } from './AdaptableLogger';
4
4
  import { AdaptableApi } from '../Api/AdaptableApi';
5
- import { DistinctValuesParams, IAdaptable } from '../AdaptableInterfaces/IAdaptable';
5
+ import { DistinctColumnValuesParams, IAdaptable } from '../AdaptableInterfaces/IAdaptable';
6
6
  import { EmitterCallback } from '../Utilities/Emitter';
7
7
  import { AdaptablePlugin } from '../AdaptableOptions/AdaptablePlugin';
8
8
  import { AgGridAdapter } from './AgGridAdapter';
@@ -195,6 +195,7 @@ export declare class AdaptableAgGrid implements IAdaptable {
195
195
  getNormalisedValueFromRawValue(rawValue: any, column: AdaptableColumn): string | number | boolean | Date | unknown;
196
196
  updateColumnModelAndRefreshGrid(config?: {
197
197
  skipColDefsRefresh?: boolean;
198
+ preemptiveColumnStateRefresh?: boolean;
198
199
  }): void;
199
200
  redrawBody(): void;
200
201
  refreshHeader(): void;
@@ -237,13 +238,12 @@ export declare class AdaptableAgGrid implements IAdaptable {
237
238
  autoSizeAllColumns(): void;
238
239
  setColumnOrder(VisibleColumnList: string[]): void;
239
240
  private getSortedColumnStateForVisibleColumns;
240
- getDistinctValuesForColumn(column: AdaptableColumn, distinctValuesParams: DistinctValuesParams): GridCell[];
241
+ getDistinctValuesForColumn(column: AdaptableColumn, distinctValuesParams: DistinctColumnValuesParams): GridCell[];
241
242
  private getGridCellsForPermittedValues;
242
243
  private getDistinctGridCellsForColumn;
243
- addBlankValueToGridCell(gridCell: GridCell): void;
244
244
  private addDistinctColumnValue;
245
245
  private getUniqueGridCells;
246
- getGridCellsForColumn(columnId: string, includeBlanks?: boolean): GridCell[] | undefined;
246
+ getGridCellsForColumn(columnId: string, includeBlanks?: boolean, onlyVisibleRows?: boolean): GridCell[] | undefined;
247
247
  getRowNodesForPrimaryKeys(primaryKeyValues: any[]): any[];
248
248
  getRowNodeByIndex(index: number): IRowNode;
249
249
  getAgGridStatusPanels(): import("@ag-grid-community/core").StatusPanelDef[];
@@ -1819,6 +1819,12 @@ class AdaptableAgGrid {
1819
1819
  if (result == undefined && rowNode.data) {
1820
1820
  result = rowNode.data[this.adaptableOptions.primaryKey];
1821
1821
  }
1822
+ if (result == undefined && rowNode.id != undefined) {
1823
+ // when getPrimaryKeyValueFromRowNode is called for group rows,
1824
+ // which don't have a rowNode.data object, the result is undefined
1825
+ // but we do have an id property on the rowNode object, so we'll use that
1826
+ result = rowNode.id;
1827
+ }
1822
1828
  return result;
1823
1829
  }
1824
1830
  getRawValueFromRowNode(rowNode, columnId) {
@@ -1896,6 +1902,9 @@ class AdaptableAgGrid {
1896
1902
  return rawValue;
1897
1903
  }
1898
1904
  updateColumnModelAndRefreshGrid(config) {
1905
+ if (config === null || config === void 0 ? void 0 : config.preemptiveColumnStateRefresh) {
1906
+ this.deriveAdaptableColumnStateFromAgGrid();
1907
+ }
1899
1908
  if (!(config === null || config === void 0 ? void 0 : config.skipColDefsRefresh)) {
1900
1909
  this.refreshColDefs();
1901
1910
  }
@@ -2304,13 +2313,10 @@ class AdaptableAgGrid {
2304
2313
  }
2305
2314
  getDistinctGridCellsForColumn(column, distinctValuesParams) {
2306
2315
  let gridCells = [];
2307
- if (distinctValuesParams.visibleRowsOnly) {
2316
+ if (distinctValuesParams.visibleRowsOnly === true) {
2308
2317
  this.agGridAdapter.getAgGridApi().forEachNodeAfterFilter((rowNode) => {
2309
2318
  const gridCell = this.addDistinctColumnValue(rowNode, column.columnId);
2310
2319
  if (gridCell && gridCell.rowNode !== distinctValuesParams.skipRowNode) {
2311
- if (gridCell.rawValue == undefined && distinctValuesParams.addBlankValue) {
2312
- this.addBlankValueToGridCell(gridCell);
2313
- }
2314
2320
  gridCells.push(gridCell);
2315
2321
  }
2316
2322
  });
@@ -2319,20 +2325,12 @@ class AdaptableAgGrid {
2319
2325
  this.agGridAdapter.getAgGridApi().forEachNode((rowNode) => {
2320
2326
  const gridCell = this.addDistinctColumnValue(rowNode, column.columnId);
2321
2327
  if (gridCell && gridCell.rowNode !== distinctValuesParams.skipRowNode) {
2322
- if (gridCell.rawValue == undefined && distinctValuesParams.addBlankValue) {
2323
- this.addBlankValueToGridCell(gridCell);
2324
- }
2325
2328
  gridCells.push(gridCell);
2326
2329
  }
2327
2330
  });
2328
2331
  }
2329
2332
  return gridCells;
2330
2333
  }
2331
- addBlankValueToGridCell(gridCell) {
2332
- gridCell.rawValue = GeneralConstants_1.BLANK_DISTINCT_COLUMN_VALUE;
2333
- gridCell.displayValue = GeneralConstants_1.BLANK_DISTINCT_COLUMN_VALUE;
2334
- gridCell.normalisedValue = GeneralConstants_1.BLANK_DISTINCT_COLUMN_VALUE;
2335
- }
2336
2334
  addDistinctColumnValue(rowNode, columnId) {
2337
2335
  // we do not return the values of the aggregates when in grouping mode
2338
2336
  // otherwise they would appear in the filter dropdown etc....
@@ -2359,9 +2357,9 @@ class AdaptableAgGrid {
2359
2357
  }
2360
2358
  return uniqueVals.slice(0, this.api.columnFilterApi.internalApi.getFilterValuesMaxNumberOfItems(column));
2361
2359
  }
2362
- getGridCellsForColumn(columnId, includeBlanks = false) {
2360
+ getGridCellsForColumn(columnId, includeBlanks = false, onlyVisibleRows = false) {
2363
2361
  let returnValues = [];
2364
- this.agGridAdapter.getAgGridApi().forEachNode((rowNode) => {
2362
+ const handler = (rowNode) => {
2365
2363
  const gridCell = this.getGridCellFromRowNode(rowNode, columnId);
2366
2364
  if (gridCell) {
2367
2365
  if (gridCell.rawValue == undefined || gridCell.rawValue == null) {
@@ -2373,7 +2371,13 @@ class AdaptableAgGrid {
2373
2371
  returnValues.push(gridCell);
2374
2372
  }
2375
2373
  }
2376
- });
2374
+ };
2375
+ if (onlyVisibleRows) {
2376
+ this.agGridAdapter.getAgGridApi().forEachNodeAfterFilter(handler);
2377
+ }
2378
+ else {
2379
+ this.agGridAdapter.getAgGridApi().forEachNode(handler);
2380
+ }
2377
2381
  return returnValues;
2378
2382
  }
2379
2383
  getRowNodesForPrimaryKeys(primaryKeyValues) {
@@ -3743,6 +3747,7 @@ class AdaptableAgGrid {
3743
3747
  */
3744
3748
  updateLayoutFromGrid() {
3745
3749
  var _a, _b;
3750
+ this.logger.info('updateLayoutFromGrid()');
3746
3751
  const agGridApi = this.agGridAdapter.getAgGridApi();
3747
3752
  const columnState = agGridApi.getColumnState();
3748
3753
  const expandedState = agGridApi.getState().rowGroupExpansion || { expandedRowGroupIds: [] };
@@ -31,16 +31,21 @@ const FilterWrapperFactory = (adaptable) => {
31
31
  const [filterProps, setFilterProps] = (0, react_1.useState)(null);
32
32
  const colId = props.column.getId();
33
33
  const column = adaptable.api.columnApi.getColumnWithColumnId(colId);
34
+ const afterGuidAttached = React.useCallback((params) => {
35
+ var _a;
36
+ const hidePopup = (_a = params === null || params === void 0 ? void 0 : params.hidePopup) !== null && _a !== void 0 ? _a : null;
37
+ const filterProps = getFilterProps(colId, !!hidePopup);
38
+ adaptable.hideFilterFormPopup = hidePopup;
39
+ setFilterProps(filterProps);
40
+ }, [colId]);
41
+ React.useEffect(() => {
42
+ afterGuidAttached();
43
+ }, []);
34
44
  (0, react_1.useImperativeHandle)(ref, () => {
35
45
  return {
36
46
  isFilterActive: () => isFilterActive(colId),
37
- afterGuiAttached: (params) => {
38
- var _a;
39
- const hidePopup = (_a = params === null || params === void 0 ? void 0 : params.hidePopup) !== null && _a !== void 0 ? _a : null;
40
- const filterProps = getFilterProps(colId, !!hidePopup);
41
- adaptable.hideFilterFormPopup = hidePopup;
42
- setFilterProps(filterProps);
43
- },
47
+ // left here for backward compatibility
48
+ afterGuidAttached,
44
49
  getModel: () => { },
45
50
  setModel: () => { },
46
51
  //we do not filter here.... we filter using the doesExternalFilterPass. Not sure there is a difference....
@@ -193,10 +193,10 @@ const DefaultAdaptableOptions = {
193
193
  valuesFilterTrigger: 'mouseenter',
194
194
  sortValuesFilter: false,
195
195
  filterValuesUsingTime: false,
196
- showDistinctFilteredValuesOnly: false,
196
+ showCurrentlyFilteredValuesOnly: false,
197
197
  maxFilterValuesToDisplay: undefined,
198
- includeBlankFilterValues: false,
199
198
  showValuesCount: undefined,
199
+ valuesFilterPredicateOptions: undefined,
200
200
  },
201
201
  indicateFilteredColumns: true,
202
202
  useAdaptableColumnFiltering: true,
@@ -20,7 +20,7 @@ function EditorInput(props) {
20
20
  if (type === 'aggregatedScalar') {
21
21
  const excludeSet = new Set([
22
22
  // we cannot have a hardcodede set of functions,
23
- // we need to allow custom expresions
23
+ // we need to allow custom expressions
24
24
  ...aggregatedScalarExpressionFunctions_1.cumulativeAggregatedExpressionFunctions,
25
25
  ...aggregatedScalarExpressionFunctions_1.quantileAggregatedExpressionFunctions,
26
26
  ]);
@@ -91,9 +91,7 @@ function ExpressionEditor(props) {
91
91
  StringExtensions_1.default.IsNullOrEmpty(expressionText === null || expressionText === void 0 ? void 0 : expressionText.trim()) && renderQueryHints(type),
92
92
  showDocumentationLinks && (React.createElement(HelpBlock_1.default, { "data-name": "query-documentation", mt: 2, mb: 2, fontSize: 3 },
93
93
  React.createElement(ButtonInfo_1.ButtonInfo, { mr: 2, onClick: () => window.open(queryDocumentationLink, '_blank') }),
94
- "See ",
95
- StringExtensions_1.default.CapitaliseFirstLetter(type),
96
- " Query documentation for more details and examples")),
94
+ "See documentation for more details and examples")),
97
95
  React.createElement(rebass_1.Box, { flex: 1 }),
98
96
  showNamedQueryStuff && saveAsNamedQueryElement),
99
97
  React.createElement(rebass_1.Box, { className: `${exports.baseClassName}__sidebar`, "data-name": "expression-sidebar", pb: 2, paddingLeft: 2, pr: 2 },
package/src/env.js CHANGED
@@ -2,6 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = {
4
4
  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: 1716641902456 || Date.now(),
6
- VERSION: "18.1.0-canary.0" || '--current-version--',
5
+ PUBLISH_TIMESTAMP: 1717151629525 || Date.now(),
6
+ VERSION: "18.1.0-canary.1" || '--current-version--',
7
7
  };
@@ -3787,6 +3787,11 @@ export declare const ADAPTABLE_METAMODEL: {
3787
3787
  kind: string;
3788
3788
  desc: string;
3789
3789
  };
3790
+ IsRowFilterableContext: {
3791
+ name: string;
3792
+ kind: string;
3793
+ desc: string;
3794
+ };
3790
3795
  Layout: {
3791
3796
  name: string;
3792
3797
  kind: string;
@@ -5475,6 +5480,7 @@ export declare const ADAPTABLE_METAMODEL: {
5475
5480
  noCode: string;
5476
5481
  defVal: string;
5477
5482
  gridInfo?: undefined;
5483
+ ref?: undefined;
5478
5484
  } | {
5479
5485
  name: string;
5480
5486
  kind: string;
@@ -5483,22 +5489,59 @@ export declare const ADAPTABLE_METAMODEL: {
5483
5489
  gridInfo: string;
5484
5490
  noCode: string;
5485
5491
  defVal: string;
5492
+ ref?: undefined;
5493
+ } | {
5494
+ name: string;
5495
+ kind: string;
5496
+ desc: string;
5497
+ isOpt: boolean;
5498
+ gridInfo: string;
5499
+ defVal: string;
5500
+ noCode?: undefined;
5501
+ ref?: undefined;
5486
5502
  } | {
5487
5503
  name: string;
5488
5504
  kind: string;
5489
5505
  desc: string;
5490
5506
  isOpt: boolean;
5507
+ ref: string;
5491
5508
  noCode?: undefined;
5492
5509
  defVal?: undefined;
5493
5510
  gridInfo?: undefined;
5511
+ })[];
5512
+ };
5513
+ ValuesFilterPredicateContext: {
5514
+ name: string;
5515
+ kind: string;
5516
+ desc: string;
5517
+ props: ({
5518
+ name: string;
5519
+ kind: string;
5520
+ desc: string;
5521
+ ref?: undefined;
5522
+ } | {
5523
+ name: string;
5524
+ kind: string;
5525
+ desc: string;
5526
+ ref: string;
5527
+ })[];
5528
+ };
5529
+ ValuesFilterPredicateOptions: {
5530
+ name: string;
5531
+ kind: string;
5532
+ desc: string;
5533
+ props: ({
5534
+ name: string;
5535
+ kind: string;
5536
+ desc: string;
5537
+ isOpt?: undefined;
5538
+ defVal?: undefined;
5494
5539
  } | {
5495
5540
  name: string;
5496
5541
  kind: string;
5497
5542
  desc: string;
5498
5543
  isOpt: boolean;
5499
- gridInfo: string;
5500
5544
  defVal: string;
5501
- noCode?: undefined;
5502
5545
  })[];
5503
5546
  };
5504
5547
  WeightedAverageAggregation: {