@adaptabletools/adaptable 23.0.0-canary.3 → 23.0.0-canary.4

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 (43) hide show
  1. package/package.json +1 -1
  2. package/src/AdaptableOptions/DefaultAdaptableOptions.js +0 -4
  3. package/src/AdaptableOptions/FilterOptions.d.ts +0 -7
  4. package/src/AdaptableState/Common/AdaptableForm.d.ts +18 -1
  5. package/src/AdaptableState/Common/AdaptableForm.js +31 -0
  6. package/src/AdaptableState/Common/CellDataChangedInfo.d.ts +3 -2
  7. package/src/AdaptableState/Common/Enums.d.ts +0 -5
  8. package/src/AdaptableState/Common/Enums.js +0 -6
  9. package/src/Api/Implementation/LayoutHelpers.js +12 -0
  10. package/src/Strategy/CalculatedColumnModule.js +3 -1
  11. package/src/Utilities/Services/CalculatedColumnExpressionService.d.ts +1 -0
  12. package/src/Utilities/Services/CalculatedColumnExpressionService.js +7 -0
  13. package/src/Utilities/Services/CalculatedColumnSyntheticChange.d.ts +4 -0
  14. package/src/Utilities/Services/CalculatedColumnSyntheticChange.js +115 -0
  15. package/src/Utilities/Services/Interface/ICalculatedColumnExpressionService.d.ts +1 -0
  16. package/src/View/Charting/ChartingWizard/AgChargingWizard/SettingsSection.js +8 -16
  17. package/src/View/Components/ColumnFilter/ColumnFilterWindow.js +1 -1
  18. package/src/View/Components/Selectors/ColumnSelector.js +5 -0
  19. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +3 -1
  20. package/src/View/Layout/LayoutViewPanel.js +23 -21
  21. package/src/View/renderWithAdaptableContext.js +2 -3
  22. package/src/agGrid/AdaptableAgGrid.d.ts +0 -1
  23. package/src/agGrid/AdaptableAgGrid.js +3 -18
  24. package/src/agGrid/AgGridColumnAdapter.js +1 -4
  25. package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +11 -6
  26. package/src/components/Combobox/VirtualizedList.js +5 -5
  27. package/src/components/Combobox/comboboxUtils.d.ts +4 -1
  28. package/src/components/Combobox/comboboxUtils.js +2 -0
  29. package/src/components/Combobox/index.d.ts +1 -0
  30. package/src/components/Combobox/index.js +35 -15
  31. package/src/components/Tree/TreeDropdown/index.js +2 -6
  32. package/src/env.js +2 -2
  33. package/src/layout-manager/src/LayoutManagerModel.d.ts +5 -1
  34. package/src/metamodel/adaptable.metamodel.d.ts +0 -17
  35. package/src/metamodel/adaptable.metamodel.js +1 -1
  36. package/src/types.d.ts +0 -1
  37. package/tsconfig.esm.tsbuildinfo +1 -1
  38. package/src/AdaptableState/Common/FilterActionOnDataChange.d.ts +0 -17
  39. package/src/AdaptableState/Common/FilterActionOnDataChange.js +0 -4
  40. package/src/View/AdaptableComputedCSSVarsContext.d.ts +0 -12
  41. package/src/View/AdaptableComputedCSSVarsContext.js +0 -29
  42. package/src/components/Select/CSSNumericVariableWatch.d.ts +0 -11
  43. package/src/components/Select/CSSNumericVariableWatch.js +0 -45
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
- import { flattenAdaptableFormFields, isAdaptableFormFieldDisabled, isAdaptableFormFieldGroup, isAdaptableFormFieldGroupHidden, isAdaptableFormFieldHidden, validateAdaptableForm, } from '../../AdaptableState/Common/AdaptableForm';
3
+ import { flattenAdaptableFormFields, isAdaptableFormFieldDisabled, isAdaptableFormFieldGroup, isAdaptableFormFieldGroupHidden, isAdaptableFormFieldHidden, resolveSelectPlaceholder, resolveSelectValueAfterClear, validateAdaptableForm, } from '../../AdaptableState/Common/AdaptableForm';
4
4
  import FormLayout, { FormRow } from '../FormLayout';
5
5
  import Input from '../Input';
6
6
  import { AdaptableButtonView, } from '../../View/Components/AdaptableButton';
@@ -204,10 +204,12 @@ export function AdaptableFormComponent({ formDef, data, onChange, onButtonClick,
204
204
  break;
205
205
  }
206
206
  case 'select': {
207
- const items = resolveOptions(field).map((item) => ({
207
+ const optionItems = resolveOptions(field);
208
+ const items = optionItems.map((item) => ({
208
209
  value: item.value,
209
210
  label: item.label,
210
211
  }));
212
+ const selectPlaceholder = resolveSelectPlaceholder(field, optionItems);
211
213
  // The underlying SingleCombobox / MultiCombobox manage their own
212
214
  // popup-based focus; we wrap them in a labelled `role="group"` so
213
215
  // assistive tech announces "<label> group" when focus enters and
@@ -225,10 +227,10 @@ export function AdaptableFormComponent({ formDef, data, onChange, onButtonClick,
225
227
  // anything else (e.g. legacy string defaults) to [] so the
226
228
  // underlying combobox never receives a non-array value.
227
229
  const selected = Array.isArray(value) ? value : [];
228
- control = (_jsx(Box, { ...groupProps, children: _jsx(MultiCombobox, { items: items, onValueChange: (newValues) => setFieldValue(field.name, newValues), value: selected, disabled: isDisabled, placeholder: field.placeholder }) }));
230
+ control = (_jsx(Box, { ...groupProps, children: _jsx(MultiCombobox, { items: items, onValueChange: (newValues) => setFieldValue(field.name, newValues), value: selected, disabled: isDisabled, placeholder: selectPlaceholder }) }));
229
231
  }
230
232
  else {
231
- control = (_jsx(Box, { ...groupProps, children: _jsx(SingleCombobox, { items: items, onValueChange: (newValue) => setFieldValue(field.name, newValue), value: value, disabled: isDisabled, placeholder: field.placeholder }) }));
233
+ control = (_jsx(Box, { ...groupProps, children: _jsx(SingleCombobox, { items: items, onValueChange: (newValue) => setFieldValue(field.name, resolveSelectValueAfterClear(field, newValue)), value: value, disabled: isDisabled, placeholder: selectPlaceholder }) }));
232
234
  }
233
235
  break;
234
236
  }
@@ -354,10 +356,13 @@ export function AdaptableFormComponent({ formDef, data, onChange, onButtonClick,
354
356
  }
355
357
  return items
356
358
  .filter((field) => !isAdaptableFormFieldHidden(field, data, context))
357
- .map((field) => {
359
+ .map((field, index) => {
358
360
  const useFor = field.fieldType !== 'radio' && field.fieldType !== 'textOutput';
359
361
  const requiredMarker = field.required ? (_jsx("span", { className: "ab-Form_required-marker", "aria-hidden": "true", children: ' *' })) : null;
360
- return (_jsxs(Flex, { flexDirection: "row", alignItems: "center", style: { columnGap: 'var(--ab-base-space)' }, children: [field.label ? (useFor ? (_jsxs("label", { id: fieldLabelId(field), htmlFor: fieldDomId(field), className: "ab-FormLayout--inline_field-label", title: field.tooltip, children: [field.label, requiredMarker] })) : (_jsxs(Box, { id: fieldLabelId(field), className: "ab-FormLayout--inline_field-label", title: field.tooltip, children: [field.label, requiredMarker] }))) : null, renderField(field)] }, field.name));
362
+ return (_jsxs(Flex, { flexDirection: "row", alignItems: "center", style: {
363
+ columnGap: 'var(--ab-base-space)',
364
+ marginLeft: index > 0 ? 'var(--ab-base-space)' : undefined,
365
+ }, children: [field.label ? (useFor ? (_jsxs("label", { id: fieldLabelId(field), htmlFor: fieldDomId(field), className: "ab-FormLayout--inline_field-label", title: field.tooltip, children: [field.label, requiredMarker] })) : (_jsxs(Box, { id: fieldLabelId(field), className: "ab-FormLayout--inline_field-label", title: field.tooltip, children: [field.label, requiredMarker] }))) : null, renderField(field)] }, field.name));
361
366
  });
362
367
  };
363
368
  const renderRowsEntry = (entry, index) => {
@@ -36,16 +36,16 @@ export function VirtualizedList({ open, virtualizerRef, showItemTooltip, renderC
36
36
  return null;
37
37
  }
38
38
  const isUncreatedCreatable = item.creatable && !item.created;
39
- const textLabel = showItemTooltip ? getItemTextLabel(item) : undefined;
40
- const tooltipText = textLabel != null
39
+ const itemText = getItemTextLabel(item);
40
+ const tooltipText = showItemTooltip && itemText != null
41
41
  ? isUncreatedCreatable
42
- ? `Create "${textLabel}"`
43
- : textLabel
42
+ ? `Create "${itemText}"`
43
+ : itemText
44
44
  : undefined;
45
45
  const label = isUncreatedCreatable ? `Create "${item.label}"` : item.label;
46
46
  const itemLabel = renderItemLabel ? (renderItemLabel(label, item)) : (_jsx("span", { className: "twa:min-w-0 twa:flex-1 twa:truncate", children: label }));
47
47
  const itemContent = isUncreatedCreatable ? (_jsxs(_Fragment, { children: [_jsx(PlusIcon, {}), itemLabel] })) : (itemLabel);
48
- const itemElement = (_jsx(ComboboxItem, { index: virtualItem.index, "data-index": virtualItem.index, ref: virtualizer.measureElement, value: item, renderCheckboxIndicator: renderCheckboxIndicator, "aria-setsize": filteredItems.length, "aria-posinset": virtualItem.index + 1, style: {
48
+ const itemElement = (_jsx(ComboboxItem, { index: virtualItem.index, "data-index": virtualItem.index, ref: virtualizer.measureElement, value: item, renderCheckboxIndicator: renderCheckboxIndicator, "aria-setsize": filteredItems.length, "aria-posinset": virtualItem.index + 1, "aria-label": itemText ?? undefined, style: {
49
49
  position: 'absolute',
50
50
  left: `var(--ab-base-space)`,
51
51
  right: `var(--ab-base-space)`,
@@ -9,7 +9,9 @@ export type ComboboxItemType = {
9
9
  value: any;
10
10
  disabled?: boolean;
11
11
  };
12
- export declare function getItemTextLabel<T extends ComboboxItemType>(item: T): string;
12
+ export declare function getItemTextLabel<T extends ComboboxItemType>(item: T & {
13
+ tooltip?: string;
14
+ }): string;
13
15
  export type ComboboxGroupType<T extends ComboboxItemType> = {
14
16
  label: React.ReactNode;
15
17
  items: T[];
@@ -45,6 +47,7 @@ export type ComboboxCommonProps<T extends ComboboxItemType> = {
45
47
  renderItemLabel?: (defaultLabel: React.ReactNode, item: T) => React.ReactNode;
46
48
  multiple?: boolean;
47
49
  showClear?: boolean;
50
+ clearOnEscape?: boolean;
48
51
  searchable?: boolean | 'inline' | 'menulist';
49
52
  /**
50
53
  * Custom filter function, or `null` to disable built-in filtering
@@ -5,6 +5,8 @@ export function getItemTextLabel(item) {
5
5
  return item.label;
6
6
  if (typeof item.label === 'number')
7
7
  return String(item.label);
8
+ if (typeof item.tooltip === 'string')
9
+ return String(item.tooltip);
8
10
  return String(item.value);
9
11
  }
10
12
  export function valueToItem(stringValue, lookup) {
@@ -35,4 +35,5 @@ export declare const MultiCombobox: <T extends ComboboxItemType>(props: MultiCom
35
35
  export type GridFilterComboboxProps<T extends ComboboxItemType> = Omit<MultiComboboxProps<T>, 'showSelectAllCheckbox' | 'searchable' | 'renderInput' | 'renderInputValues'> & {
36
36
  showSelectedCount?: boolean;
37
37
  };
38
+ export declare const GRID_FILTER_COMBBOX_ADJUSTMENTS_CLASSNAME: string;
38
39
  export declare const GridFilterCombobox: <T extends ComboboxItemType>(props: GridFilterComboboxProps<T>) => React.JSX.Element;
@@ -31,9 +31,13 @@ const AdaptableComboboxList = (props) => {
31
31
  const label = isUncreatedCreatable ? `Create "${item.label}"` : item.label;
32
32
  const itemLabel = props.renderItemLabel ? props.renderItemLabel(label, item) : label;
33
33
  const itemContent = isUncreatedCreatable ? (_jsxs(_Fragment, { children: [_jsx(PlusIcon, {}), " ", itemLabel] })) : (itemLabel);
34
- const textLabel = props.showItemTooltip ? getItemTextLabel(item) : undefined;
35
- const tooltipText = textLabel != null ? (isUncreatedCreatable ? `Create "${textLabel}"` : textLabel) : undefined;
36
- const itemElement = (_jsx(ComboboxItem, { value: item, className: 'ab-Combobox-Row', disabled: item.disabled, renderCheckboxIndicator: props.renderCheckboxIndicator, children: itemContent }, item.value));
34
+ const itemText = getItemTextLabel(item);
35
+ const tooltipText = props.showItemTooltip && itemText != null
36
+ ? isUncreatedCreatable
37
+ ? `Create "${itemText}"`
38
+ : itemText
39
+ : undefined;
40
+ const itemElement = (_jsx(ComboboxItem, { value: item, "aria-label": itemText ?? undefined, className: 'ab-Combobox-Row', disabled: item.disabled, renderCheckboxIndicator: props.renderCheckboxIndicator, children: itemContent }, item.value));
37
41
  if (tooltipText != null) {
38
42
  return (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { render: itemElement, children: itemContent }), _jsx(TooltipContent, { side: "right", children: tooltipText })] }, item.value));
39
43
  }
@@ -88,9 +92,15 @@ const AdaptableCombobox_Root = (props) => {
88
92
  const internalDefaultValue = props.multiple
89
93
  ? valueToItems(props.defaultValue, itemByValue)
90
94
  : valueToItem(props.defaultValue, itemByValue);
91
- const handleValueChange = (next) => {
95
+ const handleValueChange = (next, eventDetails) => {
92
96
  if (!props.onValueChange)
93
97
  return;
98
+ // base-ui clears the selected value when Escape is pressed
99
+ // we only want to allow this if the clearOnEscape prop is true
100
+ if (eventDetails?.reason === 'escape-key' && !props.clearOnEscape) {
101
+ eventDetails.cancel?.();
102
+ return;
103
+ }
94
104
  if (Array.isArray(next)) {
95
105
  props.onValueChange(toStringValues(next), next);
96
106
  }
@@ -98,6 +108,15 @@ const AdaptableCombobox_Root = (props) => {
98
108
  props.onValueChange(toStringValue(next), next);
99
109
  }
100
110
  };
111
+ const handleInputValueChange = (next, eventDetails) => {
112
+ // base-ui blanks the input text (and then the selected value) when Escape is pressed
113
+ // we only want to allow this if the clearOnEscape prop is true
114
+ if (eventDetails?.reason === 'escape-key' && !props.clearOnEscape) {
115
+ eventDetails.cancel?.();
116
+ return;
117
+ }
118
+ props.onInputValueChange?.(next);
119
+ };
101
120
  let comboboxItems = props.groups ?? props.items;
102
121
  if (props.isCreatable && allItems[allItems.length - 1]?.creatable) {
103
122
  // let's detect all "creatable" items and add them to the combobox items
@@ -113,7 +132,7 @@ const AdaptableCombobox_Root = (props) => {
113
132
  }
114
133
  comboboxItems = [...comboboxItems, ...creatableItems];
115
134
  }
116
- return (_jsx(Combobox, { ...props, items: comboboxItems, isItemEqualToValue: isItemEqualToValue, itemToStringLabel: getItemTextLabel, value: internalValue, defaultValue: internalDefaultValue, onValueChange: handleValueChange, "aria-label": props.ariaLabel || props['aria-label'], "data-name": props['data-name'], disabled: props.disabled, open: props.open, onOpenChange: props.onOpenChange, multiple: props.multiple, filter: props.filter, autoHighlight: true, children: props.children }));
135
+ return (_jsx(Combobox, { ...props, items: comboboxItems, isItemEqualToValue: isItemEqualToValue, itemToStringLabel: getItemTextLabel, value: internalValue, defaultValue: internalDefaultValue, onValueChange: handleValueChange, onInputValueChange: handleInputValueChange, "aria-label": props.ariaLabel || props['aria-label'], "data-name": props['data-name'], disabled: props.disabled, open: props.open, onOpenChange: props.onOpenChange, multiple: props.multiple, filter: props.filter, autoHighlight: true, children: props.children }));
117
136
  };
118
137
  const useGetAllItems = (props) => {
119
138
  const allItems = props.groups
@@ -495,6 +514,16 @@ export const MultiCombobox = (props) => {
495
514
  const showItemTooltip = props.showItemTooltip ?? !!props.virtualized;
496
515
  return searchable === 'menulist' ? (_jsx(MultiCombobox_MenuListSearchable, { renderInput: false, ...props, multiple: true, open: open, onOpenChange: onOpenChange, searchable: searchable, showItemTooltip: showItemTooltip })) : (_jsx(MultiCombobox_SimpleSearchable, { ...props, open: open, multiple: true, onOpenChange: onOpenChange, searchable: searchable, showItemTooltip: showItemTooltip }));
497
516
  };
517
+ export const GRID_FILTER_COMBBOX_ADJUSTMENTS_CLASSNAME = cn(
518
+ // remove the border/shadow and position it properly
519
+ // to adjust for outline on the input
520
+ 'twa:[.ab-FloatingFilter_&]:border-none twa:[.ab-FloatingFilter_&]:inset-y-0.5 twa:[.ab-FloatingFilter_&]:inset-x-0 twa:[.ab-FloatingFilter_&]:absolute twa:[.ab-FloatingFilter_&]:shadow-none twa:[.ab-FloatingFilter_&]:min-h-auto!',
521
+ // more adjustments for very compact ag grid themes
522
+ 'twa:[.ab-FloatingFilter_&]:[line-height:1]', 'twa:[.ab-FloatingFilter_[data-slot=combobox-trigger]]:py-0',
523
+ // also for very compact ag grid themes
524
+ // make the floating-filter combobox a size container so the toggle can
525
+ // shrink purely via CSS when the control is small in height (see ColumnFilter/base.css)
526
+ 'twa:[.ab-FloatingFilter_&]:[container-type:size]');
498
527
  export const GridFilterCombobox = (props) => {
499
528
  const { showSelectedCount = false, placeholder = 'Select...', ...comboboxProps } = props;
500
529
  const sharedProps = {
@@ -514,16 +543,7 @@ export const GridFilterCombobox = (props) => {
514
543
  return (_jsx(_Fragment, { children: _jsxs("div", { className: "twa:text-ellipsis twa:overflow-hidden twa:whitespace-nowrap twa:flex-1000", "data-slot": "combobox-selected-values", children: [showSelectedCount && items.length > 0 && (_jsxs("span", { "data-name": "multiple-values-count", className: "twa:mr-0.5", children: ["(", items.length, ")"] })), children] }) }));
515
544
  },
516
545
  };
517
- const className = cn(
518
- // remove the border/shadow and position it properly
519
- // to adjust for outline on the input
520
- 'twa:[.ab-FloatingFilter_&]:border-none twa:[.ab-FloatingFilter_&]:inset-y-0.5 twa:[.ab-FloatingFilter_&]:inset-x-0 twa:[.ab-FloatingFilter_&]:absolute twa:[.ab-FloatingFilter_&]:shadow-none twa:[.ab-FloatingFilter_&]:min-h-auto!',
521
- // more adjustments for very compact ag grid themes
522
- 'twa:[.ab-FloatingFilter_&]:[line-height:1]', 'twa:[.ab-FloatingFilter_[data-slot=combobox-trigger]]:py-0',
523
- // also for very compact ag grid themes
524
- // make the floating-filter combobox a size container so the toggle can
525
- // shrink purely via CSS when the control is small in height (see ColumnFilter/base.css)
526
- 'twa:[.ab-FloatingFilter_&]:[container-type:size]', comboboxProps.className);
546
+ const className = cn(GRID_FILTER_COMBBOX_ADJUSTMENTS_CLASSNAME, comboboxProps.className);
527
547
  const mergedProps = {
528
548
  ...sharedProps,
529
549
  ...comboboxProps,
@@ -3,7 +3,7 @@ import { useCallback, useMemo, useState } from 'react';
3
3
  import clsx from 'clsx';
4
4
  import { ChevronRightIcon, ChevronDownIcon, ChevronsDownUpIcon, ChevronsUpDownIcon, } from 'lucide-react';
5
5
  import { TreeExpandState, TreeSelectionState } from '../../InfiniteTable';
6
- import { MultiCombobox } from '../../Combobox';
6
+ import { GRID_FILTER_COMBBOX_ADJUSTMENTS_CLASSNAME, MultiCombobox, } from '../../Combobox';
7
7
  import { ComboboxChip } from '../../ui/combobox';
8
8
  import { toDisplayValueDefault, toDisplayValueFromOptionTree } from '../treeUtils';
9
9
  import { cn } from '../../../lib/utils';
@@ -516,10 +516,6 @@ export function GridFilterTreeDropdown(props) {
516
516
  }
517
517
  return (_jsxs("div", { className: "twa:text-ellipsis twa:overflow-hidden twa:whitespace-nowrap twa:flex-1000", "data-slot": "combobox-selected-values", children: [showSelectedCount && selectedLeafPaths.length > 0 && (_jsxs("span", { "data-name": "multiple-values-count", className: "twa:mr-0.5", children: ["(", selectedLeafPaths.length, ")"] })), children] }));
518
518
  }, [placeholder, showSelectedCount]);
519
- const mergedClassName = cn(
520
- // Match the restyling GridFilterCombobox uses: remove the field border,
521
- // flatten the shadow and absolutely position so the component fits the
522
- // grid's floating-filter input box.
523
- 'twa:[.ab-FloatingFilter_&]:border-none twa:[.ab-FloatingFilter_&]:inset-y-0.5 twa:[.ab-FloatingFilter_&]:inset-x-0 twa:[.ab-FloatingFilter_&]:absolute twa:[.ab-FloatingFilter_&]:shadow-none twa:[.ab-FloatingFilter_&]:min-h-auto!', className);
519
+ const mergedClassName = cn(GRID_FILTER_COMBBOX_ADJUSTMENTS_CLASSNAME, className);
524
520
  return (_jsx(TreeDropdown, { ...rest, placeholder: placeholder, className: mergedClassName, showClear: rest.showClear ?? false, resizable: rest.resizable ?? true, renderSelectedValues: renderSelectedValues }));
525
521
  }
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: 1780656122892 || Date.now(),
4
- VERSION: "23.0.0-canary.3" || '--current-version--',
3
+ PUBLISH_TIMESTAMP: 1780948198125 || Date.now(),
4
+ VERSION: "23.0.0-canary.4" || '--current-version--',
5
5
  };
@@ -1,4 +1,4 @@
1
- import { ColumnSizingMap, LayoutRowSelection, RowGroupDisplayType } from '../../AdaptableState/LayoutState';
1
+ import { ColumnSizingMap, LayoutOpenChart, LayoutRowSelection, RowGroupDisplayType } from '../../AdaptableState/LayoutState';
2
2
  import { XOR } from '../../Utilities/Extensions/TypeExtensions';
3
3
  /**
4
4
  * Defines how a Column is sorted
@@ -53,6 +53,10 @@ export interface BaseLayoutModel {
53
53
  Ignore_AdaptableVersion?: string;
54
54
  Ignore_Uuid?: string;
55
55
  Ignore_Metadata?: any;
56
+ /**
57
+ * AG Grid charts to open when this layout is selected (not used by LayoutManager)
58
+ */
59
+ Ignore_OpenCharts?: LayoutOpenChart[];
56
60
  /**
57
61
  * The Layout Name
58
62
  */
@@ -1113,9 +1113,6 @@ export declare const ADAPTABLE_METAMODEL: {
1113
1113
  o: boolean;
1114
1114
  }[];
1115
1115
  };
1116
- ApplyFilterAction: {
1117
- k: string;
1118
- };
1119
1116
  AutoGenerateTagsForLayoutsContext: {
1120
1117
  k: string;
1121
1118
  p: {
@@ -2965,20 +2962,6 @@ export declare const ADAPTABLE_METAMODEL: {
2965
2962
  r?: undefined;
2966
2963
  })[];
2967
2964
  };
2968
- FilterActionOnDataChange: {
2969
- k: string;
2970
- p: ({
2971
- n: string;
2972
- k: string;
2973
- r: string;
2974
- o?: undefined;
2975
- } | {
2976
- n: string;
2977
- k: string;
2978
- o: boolean;
2979
- r?: undefined;
2980
- })[];
2981
- };
2982
2965
  FilterApi: {
2983
2966
  k: string;
2984
2967
  p: ({