@adaptabletools/adaptable-cjs 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 +34 -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 +1 -7
  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 +120 -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 +1 -2
  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 +10 -5
  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 +36 -16
  31. package/src/components/Tree/TreeDropdown/index.js +1 -5
  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.cjs.tsbuildinfo +1 -1
  38. package/src/AdaptableState/Common/FilterActionOnDataChange.d.ts +0 -17
  39. package/src/AdaptableState/Common/FilterActionOnDataChange.js +0 -5
  40. package/src/View/AdaptableComputedCSSVarsContext.d.ts +0 -12
  41. package/src/View/AdaptableComputedCSSVarsContext.js +0 -36
  42. package/src/components/Select/CSSNumericVariableWatch.d.ts +0 -11
  43. package/src/components/Select/CSSNumericVariableWatch.js +0 -51
@@ -956,10 +956,7 @@ class AgGridColumnAdapter {
956
956
  // 1. evaluate EditOptions.isCellEditable if provided
957
957
  if (this.adaptableApi.gridApi.internalApi.hasCellEditableAccordingToEditOptions()) {
958
958
  const gridCell = this.adaptableApi.gridApi.getGridCellFromRowNode(params.node, params.column.getColId());
959
- const editOptionsEditability = this.adaptableApi.gridApi.internalApi.isCellEditableAccordingToEditOptions(gridCell, getOriginalColDefEditable());
960
- if (editOptionsEditability) {
961
- return editOptionsEditability;
962
- }
959
+ return this.adaptableApi.gridApi.internalApi.isCellEditableAccordingToEditOptions(gridCell, getOriginalColDefEditable());
963
960
  }
964
961
  // 2. otherwise, fallback to colDef.editable
965
962
  return getOriginalColDefEditable();
@@ -209,10 +209,12 @@ function AdaptableFormComponent({ formDef, data, onChange, onButtonClick, displa
209
209
  break;
210
210
  }
211
211
  case 'select': {
212
- const items = resolveOptions(field).map((item) => ({
212
+ const optionItems = resolveOptions(field);
213
+ const items = optionItems.map((item) => ({
213
214
  value: item.value,
214
215
  label: item.label,
215
216
  }));
217
+ const selectPlaceholder = (0, AdaptableForm_1.resolveSelectPlaceholder)(field, optionItems);
216
218
  // The underlying SingleCombobox / MultiCombobox manage their own
217
219
  // popup-based focus; we wrap them in a labelled `role="group"` so
218
220
  // assistive tech announces "<label> group" when focus enters and
@@ -230,10 +232,10 @@ function AdaptableFormComponent({ formDef, data, onChange, onButtonClick, displa
230
232
  // anything else (e.g. legacy string defaults) to [] so the
231
233
  // underlying combobox never receives a non-array value.
232
234
  const selected = Array.isArray(value) ? value : [];
233
- control = ((0, jsx_runtime_1.jsx)(Flex_1.Box, { ...groupProps, children: (0, jsx_runtime_1.jsx)(Combobox_1.MultiCombobox, { items: items, onValueChange: (newValues) => setFieldValue(field.name, newValues), value: selected, disabled: isDisabled, placeholder: field.placeholder }) }));
235
+ control = ((0, jsx_runtime_1.jsx)(Flex_1.Box, { ...groupProps, children: (0, jsx_runtime_1.jsx)(Combobox_1.MultiCombobox, { items: items, onValueChange: (newValues) => setFieldValue(field.name, newValues), value: selected, disabled: isDisabled, placeholder: selectPlaceholder }) }));
234
236
  }
235
237
  else {
236
- control = ((0, jsx_runtime_1.jsx)(Flex_1.Box, { ...groupProps, children: (0, jsx_runtime_1.jsx)(Combobox_1.SingleCombobox, { items: items, onValueChange: (newValue) => setFieldValue(field.name, newValue), value: value, disabled: isDisabled, placeholder: field.placeholder }) }));
238
+ control = ((0, jsx_runtime_1.jsx)(Flex_1.Box, { ...groupProps, children: (0, jsx_runtime_1.jsx)(Combobox_1.SingleCombobox, { items: items, onValueChange: (newValue) => setFieldValue(field.name, (0, AdaptableForm_1.resolveSelectValueAfterClear)(field, newValue)), value: value, disabled: isDisabled, placeholder: selectPlaceholder }) }));
237
239
  }
238
240
  break;
239
241
  }
@@ -359,10 +361,13 @@ function AdaptableFormComponent({ formDef, data, onChange, onButtonClick, displa
359
361
  }
360
362
  return items
361
363
  .filter((field) => !(0, AdaptableForm_1.isAdaptableFormFieldHidden)(field, data, context))
362
- .map((field) => {
364
+ .map((field, index) => {
363
365
  const useFor = field.fieldType !== 'radio' && field.fieldType !== 'textOutput';
364
366
  const requiredMarker = field.required ? ((0, jsx_runtime_1.jsx)("span", { className: "ab-Form_required-marker", "aria-hidden": "true", children: ' *' })) : null;
365
- return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "row", alignItems: "center", style: { columnGap: 'var(--ab-base-space)' }, children: [field.label ? (useFor ? ((0, jsx_runtime_1.jsxs)("label", { id: fieldLabelId(field), htmlFor: fieldDomId(field), className: "ab-FormLayout--inline_field-label", title: field.tooltip, children: [field.label, requiredMarker] })) : ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { id: fieldLabelId(field), className: "ab-FormLayout--inline_field-label", title: field.tooltip, children: [field.label, requiredMarker] }))) : null, renderField(field)] }, field.name));
367
+ return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "row", alignItems: "center", style: {
368
+ columnGap: 'var(--ab-base-space)',
369
+ marginLeft: index > 0 ? 'var(--ab-base-space)' : undefined,
370
+ }, children: [field.label ? (useFor ? ((0, jsx_runtime_1.jsxs)("label", { id: fieldLabelId(field), htmlFor: fieldDomId(field), className: "ab-FormLayout--inline_field-label", title: field.tooltip, children: [field.label, requiredMarker] })) : ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { id: fieldLabelId(field), className: "ab-FormLayout--inline_field-label", title: field.tooltip, children: [field.label, requiredMarker] }))) : null, renderField(field)] }, field.name));
366
371
  });
367
372
  };
368
373
  const renderRowsEntry = (entry, index) => {
@@ -40,16 +40,16 @@ function VirtualizedList({ open, virtualizerRef, showItemTooltip, renderCheckbox
40
40
  return null;
41
41
  }
42
42
  const isUncreatedCreatable = item.creatable && !item.created;
43
- const textLabel = showItemTooltip ? (0, comboboxUtils_1.getItemTextLabel)(item) : undefined;
44
- const tooltipText = textLabel != null
43
+ const itemText = (0, comboboxUtils_1.getItemTextLabel)(item);
44
+ const tooltipText = showItemTooltip && itemText != null
45
45
  ? isUncreatedCreatable
46
- ? `Create "${textLabel}"`
47
- : textLabel
46
+ ? `Create "${itemText}"`
47
+ : itemText
48
48
  : undefined;
49
49
  const label = isUncreatedCreatable ? `Create "${item.label}"` : item.label;
50
50
  const itemLabel = renderItemLabel ? (renderItemLabel(label, item)) : ((0, jsx_runtime_1.jsx)("span", { className: "twa:min-w-0 twa:flex-1 twa:truncate", children: label }));
51
51
  const itemContent = isUncreatedCreatable ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(lucide_react_1.PlusIcon, {}), itemLabel] })) : (itemLabel);
52
- const itemElement = ((0, jsx_runtime_1.jsx)(combobox_1.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: {
52
+ const itemElement = ((0, jsx_runtime_1.jsx)(combobox_1.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: {
53
53
  position: 'absolute',
54
54
  left: `var(--ab-base-space)`,
55
55
  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
@@ -12,6 +12,8 @@ function getItemTextLabel(item) {
12
12
  return item.label;
13
13
  if (typeof item.label === 'number')
14
14
  return String(item.label);
15
+ if (typeof item.tooltip === 'string')
16
+ return String(item.tooltip);
15
17
  return String(item.value);
16
18
  }
17
19
  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;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GridFilterCombobox = exports.MultiCombobox = exports.SingleCombobox = void 0;
3
+ exports.GridFilterCombobox = exports.GRID_FILTER_COMBBOX_ADJUSTMENTS_CLASSNAME = exports.MultiCombobox = exports.SingleCombobox = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const jsx_runtime_1 = require("react/jsx-runtime");
6
6
  const React = tslib_1.__importStar(require("react"));
@@ -35,9 +35,13 @@ const AdaptableComboboxList = (props) => {
35
35
  const label = isUncreatedCreatable ? `Create "${item.label}"` : item.label;
36
36
  const itemLabel = props.renderItemLabel ? props.renderItemLabel(label, item) : label;
37
37
  const itemContent = isUncreatedCreatable ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(lucide_react_1.PlusIcon, {}), " ", itemLabel] })) : (itemLabel);
38
- const textLabel = props.showItemTooltip ? (0, comboboxUtils_1.getItemTextLabel)(item) : undefined;
39
- const tooltipText = textLabel != null ? (isUncreatedCreatable ? `Create "${textLabel}"` : textLabel) : undefined;
40
- const itemElement = ((0, jsx_runtime_1.jsx)(combobox_1.ComboboxItem, { value: item, className: 'ab-Combobox-Row', disabled: item.disabled, renderCheckboxIndicator: props.renderCheckboxIndicator, children: itemContent }, item.value));
38
+ const itemText = (0, comboboxUtils_1.getItemTextLabel)(item);
39
+ const tooltipText = props.showItemTooltip && itemText != null
40
+ ? isUncreatedCreatable
41
+ ? `Create "${itemText}"`
42
+ : itemText
43
+ : undefined;
44
+ const itemElement = ((0, jsx_runtime_1.jsx)(combobox_1.ComboboxItem, { value: item, "aria-label": itemText ?? undefined, className: 'ab-Combobox-Row', disabled: item.disabled, renderCheckboxIndicator: props.renderCheckboxIndicator, children: itemContent }, item.value));
41
45
  if (tooltipText != null) {
42
46
  return ((0, jsx_runtime_1.jsxs)(tooltip_1.Tooltip, { children: [(0, jsx_runtime_1.jsx)(tooltip_1.TooltipTrigger, { render: itemElement, children: itemContent }), (0, jsx_runtime_1.jsx)(tooltip_1.TooltipContent, { side: "right", children: tooltipText })] }, item.value));
43
47
  }
@@ -93,9 +97,15 @@ const AdaptableCombobox_Root = (props) => {
93
97
  const internalDefaultValue = props.multiple
94
98
  ? (0, comboboxUtils_1.valueToItems)(props.defaultValue, itemByValue)
95
99
  : (0, comboboxUtils_1.valueToItem)(props.defaultValue, itemByValue);
96
- const handleValueChange = (next) => {
100
+ const handleValueChange = (next, eventDetails) => {
97
101
  if (!props.onValueChange)
98
102
  return;
103
+ // base-ui clears the selected value when Escape is pressed
104
+ // we only want to allow this if the clearOnEscape prop is true
105
+ if (eventDetails?.reason === 'escape-key' && !props.clearOnEscape) {
106
+ eventDetails.cancel?.();
107
+ return;
108
+ }
99
109
  if (Array.isArray(next)) {
100
110
  props.onValueChange((0, comboboxUtils_1.toStringValues)(next), next);
101
111
  }
@@ -103,6 +113,15 @@ const AdaptableCombobox_Root = (props) => {
103
113
  props.onValueChange((0, comboboxUtils_1.toStringValue)(next), next);
104
114
  }
105
115
  };
116
+ const handleInputValueChange = (next, eventDetails) => {
117
+ // base-ui blanks the input text (and then the selected value) when Escape is pressed
118
+ // we only want to allow this if the clearOnEscape prop is true
119
+ if (eventDetails?.reason === 'escape-key' && !props.clearOnEscape) {
120
+ eventDetails.cancel?.();
121
+ return;
122
+ }
123
+ props.onInputValueChange?.(next);
124
+ };
106
125
  let comboboxItems = props.groups ?? props.items;
107
126
  if (props.isCreatable && allItems[allItems.length - 1]?.creatable) {
108
127
  // let's detect all "creatable" items and add them to the combobox items
@@ -118,7 +137,7 @@ const AdaptableCombobox_Root = (props) => {
118
137
  }
119
138
  comboboxItems = [...comboboxItems, ...creatableItems];
120
139
  }
121
- return ((0, jsx_runtime_1.jsx)(combobox_1.Combobox, { ...props, items: comboboxItems, isItemEqualToValue: isItemEqualToValue, itemToStringLabel: comboboxUtils_1.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 }));
140
+ return ((0, jsx_runtime_1.jsx)(combobox_1.Combobox, { ...props, items: comboboxItems, isItemEqualToValue: isItemEqualToValue, itemToStringLabel: comboboxUtils_1.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 }));
122
141
  };
123
142
  const useGetAllItems = (props) => {
124
143
  const allItems = props.groups
@@ -501,6 +520,16 @@ const MultiCombobox = (props) => {
501
520
  return searchable === 'menulist' ? ((0, jsx_runtime_1.jsx)(MultiCombobox_MenuListSearchable, { renderInput: false, ...props, multiple: true, open: open, onOpenChange: onOpenChange, searchable: searchable, showItemTooltip: showItemTooltip })) : ((0, jsx_runtime_1.jsx)(MultiCombobox_SimpleSearchable, { ...props, open: open, multiple: true, onOpenChange: onOpenChange, searchable: searchable, showItemTooltip: showItemTooltip }));
502
521
  };
503
522
  exports.MultiCombobox = MultiCombobox;
523
+ exports.GRID_FILTER_COMBBOX_ADJUSTMENTS_CLASSNAME = (0, utils_1.cn)(
524
+ // remove the border/shadow and position it properly
525
+ // to adjust for outline on the input
526
+ '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!',
527
+ // more adjustments for very compact ag grid themes
528
+ 'twa:[.ab-FloatingFilter_&]:[line-height:1]', 'twa:[.ab-FloatingFilter_[data-slot=combobox-trigger]]:py-0',
529
+ // also for very compact ag grid themes
530
+ // make the floating-filter combobox a size container so the toggle can
531
+ // shrink purely via CSS when the control is small in height (see ColumnFilter/base.css)
532
+ 'twa:[.ab-FloatingFilter_&]:[container-type:size]');
504
533
  const GridFilterCombobox = (props) => {
505
534
  const { showSelectedCount = false, placeholder = 'Select...', ...comboboxProps } = props;
506
535
  const sharedProps = {
@@ -520,16 +549,7 @@ const GridFilterCombobox = (props) => {
520
549
  return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.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 && ((0, jsx_runtime_1.jsxs)("span", { "data-name": "multiple-values-count", className: "twa:mr-0.5", children: ["(", items.length, ")"] })), children] }) }));
521
550
  },
522
551
  };
523
- const className = (0, utils_1.cn)(
524
- // remove the border/shadow and position it properly
525
- // to adjust for outline on the input
526
- '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!',
527
- // more adjustments for very compact ag grid themes
528
- 'twa:[.ab-FloatingFilter_&]:[line-height:1]', 'twa:[.ab-FloatingFilter_[data-slot=combobox-trigger]]:py-0',
529
- // also for very compact ag grid themes
530
- // make the floating-filter combobox a size container so the toggle can
531
- // shrink purely via CSS when the control is small in height (see ColumnFilter/base.css)
532
- 'twa:[.ab-FloatingFilter_&]:[container-type:size]', comboboxProps.className);
552
+ const className = (0, utils_1.cn)(exports.GRID_FILTER_COMBBOX_ADJUSTMENTS_CLASSNAME, comboboxProps.className);
533
553
  const mergedProps = {
534
554
  ...sharedProps,
535
555
  ...comboboxProps,
@@ -523,10 +523,6 @@ function GridFilterTreeDropdown(props) {
523
523
  }
524
524
  return ((0, jsx_runtime_1.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 && ((0, jsx_runtime_1.jsxs)("span", { "data-name": "multiple-values-count", className: "twa:mr-0.5", children: ["(", selectedLeafPaths.length, ")"] })), children] }));
525
525
  }, [placeholder, showSelectedCount]);
526
- const mergedClassName = (0, utils_1.cn)(
527
- // Match the restyling GridFilterCombobox uses: remove the field border,
528
- // flatten the shadow and absolutely position so the component fits the
529
- // grid's floating-filter input box.
530
- '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);
526
+ const mergedClassName = (0, utils_1.cn)(Combobox_1.GRID_FILTER_COMBBOX_ADJUSTMENTS_CLASSNAME, className);
531
527
  return ((0, jsx_runtime_1.jsx)(TreeDropdown, { ...rest, placeholder: placeholder, className: mergedClassName, showClear: rest.showClear ?? false, resizable: rest.resizable ?? true, renderSelectedValues: renderSelectedValues }));
532
528
  }
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: 1780656149577 || Date.now(),
6
- VERSION: "23.0.0-canary.3" || '--current-version--',
5
+ PUBLISH_TIMESTAMP: 1780948225860 || Date.now(),
6
+ VERSION: "23.0.0-canary.4" || '--current-version--',
7
7
  };
@@ -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: ({