@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.
- package/package.json +1 -1
- package/src/AdaptableOptions/DefaultAdaptableOptions.js +0 -4
- package/src/AdaptableOptions/FilterOptions.d.ts +0 -7
- package/src/AdaptableState/Common/AdaptableForm.d.ts +18 -1
- package/src/AdaptableState/Common/AdaptableForm.js +34 -0
- package/src/AdaptableState/Common/CellDataChangedInfo.d.ts +3 -2
- package/src/AdaptableState/Common/Enums.d.ts +0 -5
- package/src/AdaptableState/Common/Enums.js +1 -7
- package/src/Api/Implementation/LayoutHelpers.js +12 -0
- package/src/Strategy/CalculatedColumnModule.js +3 -1
- package/src/Utilities/Services/CalculatedColumnExpressionService.d.ts +1 -0
- package/src/Utilities/Services/CalculatedColumnExpressionService.js +7 -0
- package/src/Utilities/Services/CalculatedColumnSyntheticChange.d.ts +4 -0
- package/src/Utilities/Services/CalculatedColumnSyntheticChange.js +120 -0
- package/src/Utilities/Services/Interface/ICalculatedColumnExpressionService.d.ts +1 -0
- package/src/View/Charting/ChartingWizard/AgChargingWizard/SettingsSection.js +8 -16
- package/src/View/Components/ColumnFilter/ColumnFilterWindow.js +1 -1
- package/src/View/Components/Selectors/ColumnSelector.js +5 -0
- package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +3 -1
- package/src/View/Layout/LayoutViewPanel.js +23 -21
- package/src/View/renderWithAdaptableContext.js +1 -2
- package/src/agGrid/AdaptableAgGrid.d.ts +0 -1
- package/src/agGrid/AdaptableAgGrid.js +3 -18
- package/src/agGrid/AgGridColumnAdapter.js +1 -4
- package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +10 -5
- package/src/components/Combobox/VirtualizedList.js +5 -5
- package/src/components/Combobox/comboboxUtils.d.ts +4 -1
- package/src/components/Combobox/comboboxUtils.js +2 -0
- package/src/components/Combobox/index.d.ts +1 -0
- package/src/components/Combobox/index.js +36 -16
- package/src/components/Tree/TreeDropdown/index.js +1 -5
- package/src/env.js +2 -2
- package/src/layout-manager/src/LayoutManagerModel.d.ts +5 -1
- package/src/metamodel/adaptable.metamodel.d.ts +0 -17
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/types.d.ts +0 -1
- package/tsconfig.cjs.tsbuildinfo +1 -1
- package/src/AdaptableState/Common/FilterActionOnDataChange.d.ts +0 -17
- package/src/AdaptableState/Common/FilterActionOnDataChange.js +0 -5
- package/src/View/AdaptableComputedCSSVarsContext.d.ts +0 -12
- package/src/View/AdaptableComputedCSSVarsContext.js +0 -36
- package/src/components/Select/CSSNumericVariableWatch.d.ts +0 -11
- 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
|
-
|
|
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
|
|
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:
|
|
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:
|
|
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: {
|
|
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
|
|
44
|
-
const tooltipText =
|
|
43
|
+
const itemText = (0, comboboxUtils_1.getItemTextLabel)(item);
|
|
44
|
+
const tooltipText = showItemTooltip && itemText != null
|
|
45
45
|
? isUncreatedCreatable
|
|
46
|
-
? `Create "${
|
|
47
|
-
:
|
|
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
|
|
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
|
|
39
|
-
const tooltipText =
|
|
40
|
-
|
|
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:
|
|
6
|
-
VERSION: "23.0.0-canary.
|
|
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: ({
|