@adaptabletools/adaptable 20.0.0 → 20.0.2-canary.0

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 (59) hide show
  1. package/README.md +1 -1
  2. package/agGrid.d.ts +1 -0
  3. package/agGrid.js +2 -1
  4. package/base.css +50 -33
  5. package/base.css.map +1 -1
  6. package/index.css +47 -32
  7. package/index.css.map +1 -1
  8. package/package.json +1 -1
  9. package/src/AdaptableOptions/ColumnMenuOptions.d.ts +3 -0
  10. package/src/AdaptableOptions/ContextMenuOptions.d.ts +9 -0
  11. package/src/AdaptableOptions/ExportOptions.d.ts +6 -0
  12. package/src/AdaptableOptions/FilterOptions.d.ts +5 -5
  13. package/src/AdaptableOptions/RowFormOptions.d.ts +7 -1
  14. package/src/AdaptableState/Common/AdaptableColumn.d.ts +3 -0
  15. package/src/AdaptableState/Common/AdaptableObject.d.ts +6 -0
  16. package/src/AdaptableState/Common/AggregationColumns.d.ts +6 -0
  17. package/src/AdaptableState/Common/Menu.d.ts +6 -0
  18. package/src/AdaptableState/ExportState.d.ts +9 -0
  19. package/src/AdaptableState/FlashingCellState.d.ts +5 -2
  20. package/src/AdaptableState/InitialState.d.ts +4 -3
  21. package/src/AdaptableState/LayoutState.d.ts +2 -2
  22. package/src/AdaptableState/ThemeState.d.ts +14 -2
  23. package/src/Api/ColumnFilterApi.d.ts +1 -1
  24. package/src/Api/StateApi.d.ts +2 -2
  25. package/src/Redux/ActionsReducers/PluginsRedux.d.ts +0 -93
  26. package/src/Redux/ActionsReducers/PluginsRedux.js +0 -93
  27. package/src/Redux/ActionsReducers/ScheduleRedux.d.ts +0 -42
  28. package/src/Redux/ActionsReducers/ScheduleRedux.js +0 -42
  29. package/src/Utilities/Defaults/DefaultSettingsPanel.js +1 -1
  30. package/src/Utilities/Services/ThemeService.js +3 -3
  31. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +1 -2
  32. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/EntitlementsForm.js +11 -9
  33. package/src/View/ColumnInfo/ColumnInfo.js +12 -10
  34. package/src/View/Comments/CommentsPopup.js +11 -9
  35. package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +7 -0
  36. package/src/View/Components/FilterForm/ListBoxFilterForm.js +1 -1
  37. package/src/View/Layout/PivotDetailsPopoup.js +6 -5
  38. package/src/View/Layout/Wizard/sections/ColumnsSection.js +6 -5
  39. package/src/View/Note/NotePopup.js +12 -10
  40. package/src/View/StateManagement/StateManagementViewPanel.d.ts +2 -2
  41. package/src/View/Theme/ThemeEditor.js +9 -7
  42. package/src/View/Theme/VariantSelector.d.ts +1 -0
  43. package/src/View/Theme/VariantSelector.js +6 -3
  44. package/src/agGrid/AdaptableAgGrid.js +6 -2
  45. package/src/agGrid/AgGridAdapter.js +5 -0
  46. package/src/agGrid/AgGridColumnAdapter.js +0 -7
  47. package/src/agGrid/AgGridThemeAdapter.js +2 -2
  48. package/src/agGrid/FloatingFilterWrapper.js +1 -0
  49. package/src/agGrid/index.d.ts +2 -0
  50. package/src/agGrid/index.js +2 -1
  51. package/src/components/ExpressionEditor/BaseEditorInput.js +1 -1
  52. package/src/components/Select/Select.js +2 -3
  53. package/src/env.js +2 -2
  54. package/src/layout-manager/src/LayoutManagerModel.d.ts +1 -1
  55. package/src/metamodel/adaptable.metamodel.d.ts +104 -2
  56. package/src/metamodel/adaptable.metamodel.js +1 -1
  57. package/src/migration/AdaptableUpgradeHelper.d.ts +3 -3
  58. package/src/types.d.ts +1 -0
  59. package/tsconfig.esm.tsbuildinfo +1 -1
@@ -23,6 +23,11 @@ import { AdaptableFormControlTextClear } from '../../../Components/Forms/Adaptab
23
23
  import { sortColumnIdsByOrder } from '../../../../layout-manager/src/sortColumnIdsByOrder';
24
24
  import HelpBlock from '../../../../components/HelpBlock';
25
25
  const PropertyOrderText = (props) => (React.createElement(Text, { fontWeight: 600, fontSize: 2 }, props.children));
26
+ const columnTypes = {
27
+ default: {
28
+ defaultFlex: 1,
29
+ },
30
+ };
26
31
  export const ColumnsSectionSummary = () => {
27
32
  const adaptable = useAdaptable();
28
33
  const { data: layout } = useOnePageAdaptableWizardContext();
@@ -124,11 +129,7 @@ export const ColumnsSectionSummary = () => {
124
129
  },
125
130
  };
126
131
  return (React.createElement(DataSource, { data: data, primaryKey: "columnId" },
127
- React.createElement(InfiniteTable, { columnTypes: {
128
- default: {
129
- defaultFlex: 1,
130
- },
131
- }, rowHeight: rowHeight, domProps: tableDOMProps, columns: columns })));
132
+ React.createElement(InfiniteTable, { columnTypes: columnTypes, rowHeight: rowHeight, columnHeaderHeight: headerHeight, domProps: tableDOMProps, columns: columns })));
132
133
  };
133
134
  const ColumnRow = (props) => {
134
135
  const [isExpanded, setIsExpanded] = React.useState(false);
@@ -14,6 +14,17 @@ const tableDOMProps = {
14
14
  // minHeight: 600,
15
15
  },
16
16
  };
17
+ const columnTypes = {
18
+ default: {
19
+ align: 'start',
20
+ defaultFlex: 1,
21
+ defaultSortable: false,
22
+ style: { fontSize: 'var(--ab-font-size-3)' },
23
+ },
24
+ };
25
+ const headerOptions = {
26
+ alwaysReserveSpaceForSortIcon: false,
27
+ };
17
28
  export const NotePopup = (props) => {
18
29
  const adaptable = useAdaptable();
19
30
  const primaryKeyHeader = adaptable.api.columnApi.getPrimaryKeyColumn()
@@ -76,14 +87,5 @@ export const NotePopup = (props) => {
76
87
  }
77
88
  }
78
89
  } },
79
- React.createElement(InfiniteTable, { columnTypes: {
80
- default: {
81
- align: 'start',
82
- defaultFlex: 1,
83
- defaultSortable: false,
84
- style: { fontSize: 'var(--ab-font-size-3)' },
85
- },
86
- }, headerOptions: {
87
- alwaysReserveSpaceForSortIcon: false,
88
- }, rowHeight: 40, columnHeaderHeight: 65, domProps: tableDOMProps, columns: columnsMap }))));
90
+ React.createElement(InfiniteTable, { columnTypes: columnTypes, headerOptions: headerOptions, domProps: tableDOMProps, columns: columnsMap }))));
89
91
  };
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import { ViewPanelProps } from '../Components/SharedProps/ViewPanelProps';
3
- export interface ThemeViewPanelComponentProps extends ViewPanelProps {
3
+ export interface StateManagementViewPanelComponentProps extends ViewPanelProps {
4
4
  }
5
- export declare const StateManagementViewPanel: React.FunctionComponent<ThemeViewPanelComponentProps>;
5
+ export declare const StateManagementViewPanel: React.FunctionComponent<StateManagementViewPanelComponentProps>;
@@ -8,6 +8,7 @@ import { Box, Flex, Text } from 'rebass';
8
8
  import Panel from '../../components/Panel';
9
9
  import { Field } from './ThemeField';
10
10
  import { VariantSelector } from './VariantSelector';
11
+ import { getAccessLevelForObject } from '../../Utilities/Helpers/AdaptableHelper';
11
12
  const fields = [
12
13
  {
13
14
  name: 'Primary Color',
@@ -73,10 +74,11 @@ const fields = [
73
74
  export const ThemeEditor = (props) => {
74
75
  const adaptable = useAdaptable();
75
76
  const allThemes = adaptable.api.themeApi.getUserThemes();
76
- const disabled = props.accessLevel === 'ReadOnly';
77
77
  const [currentThemeObject, setCurrentThemeObject] = React.useState(() => {
78
78
  return adaptable.api.themeApi.getCurrentThemeObject();
79
79
  });
80
+ const currentThemeAccessLevel = getAccessLevelForObject(currentThemeObject, props.accessLevel);
81
+ const currentThemeIsReadOnly = currentThemeAccessLevel !== 'Full';
80
82
  // THEME variables
81
83
  const themeVariables = currentThemeObject?.CSSVariables;
82
84
  const valuesFromTheme = fields.reduce((acc, field) => {
@@ -138,22 +140,22 @@ export const ThemeEditor = (props) => {
138
140
  const saveNameDisabled = !nameHasChanged || nameIsNotUnique || currentThemeObject.Name === '';
139
141
  return (React.createElement(Panel, { header: React.createElement(Flex, { alignItems: "center", width: "100%" },
140
142
  React.createElement(Box, { flex: 1 }, " Edit Custom Theme"),
141
- React.createElement(SimpleButton, { "data-name": "delete", disabled: props.accessLevel !== 'Full', icon: "delete", onClick: handleDeleteTheme, variant: "text" })) },
143
+ React.createElement(SimpleButton, { "data-name": "delete", accessLevel: currentThemeAccessLevel, icon: "delete", onClick: handleDeleteTheme, variant: "text" })) },
142
144
  React.createElement(FormLayout, null,
143
145
  React.createElement(FormRow, { label: "Theme Name" },
144
- React.createElement(AdaptableInput, { mr: 2, onChange: (event) => setCurrentThemeObject({
146
+ React.createElement(AdaptableInput, { disabled: currentThemeIsReadOnly, mr: 2, onChange: (event) => setCurrentThemeObject({
145
147
  ...currentThemeObject,
146
148
  Name: event.target.value.replace(/ /g, '-'),
147
149
  }), value: currentThemeObject.Name ?? '' }),
148
- React.createElement(SimpleButton, { onClick: handleSaveName, disabled: saveNameDisabled, icon: "save" }),
150
+ React.createElement(SimpleButton, { onClick: handleSaveName, disabled: saveNameDisabled || currentThemeIsReadOnly, icon: "save", hidden: currentThemeIsReadOnly }),
149
151
  React.createElement(Text, { fontSize: 2, marginTop: 1 }, "The name cannot contain spaces."),
150
152
  nameIsNotUnique && (React.createElement(Text, { fontSize: 2, color: "var(--ab-color-error)" }, "Name must be unique."))),
151
153
  React.createElement(FormRow, { label: "Description" },
152
- React.createElement(AdaptableInput, { onChange: (event) => handleDescriptionChange('Description', event.target.value), value: currentThemeObject?.Description ?? '' })),
154
+ React.createElement(AdaptableInput, { disabled: currentThemeIsReadOnly, onChange: (event) => handleDescriptionChange('Description', event.target.value), value: currentThemeObject?.Description ?? '' })),
153
155
  React.createElement(FormRow, { label: "Variant" },
154
- React.createElement(VariantSelector, { onChange: handleVariantChange, theme: currentThemeObject })),
156
+ React.createElement(VariantSelector, { onChange: handleVariantChange, theme: currentThemeObject, disabled: currentThemeIsReadOnly })),
155
157
  fields.map((field) => {
156
- return (React.createElement(Field, { disabled: disabled, key: field.name, type: field.type, name: field.name, value: valuesFromTheme[field.variable], variable: field.variable, onChange: (val) => {
158
+ return (React.createElement(Field, { disabled: currentThemeIsReadOnly, key: field.name, type: field.type, name: field.name, value: valuesFromTheme[field.variable], variable: field.variable, onChange: (val) => {
157
159
  // needs a fresh copy
158
160
  const currentThemeObject = adaptable.api.themeApi.getCurrentThemeObject();
159
161
  let newTheme = null;
@@ -3,5 +3,6 @@ import { AdaptableTheme } from '../../types';
3
3
  export interface VariantSelectorProps {
4
4
  theme: AdaptableTheme;
5
5
  onChange: (variant: AdaptableTheme['Variant'] | null) => void;
6
+ disabled?: boolean;
6
7
  }
7
8
  export declare const VariantSelector: React.FunctionComponent<VariantSelectorProps>;
@@ -2,9 +2,12 @@ import * as React from 'react';
2
2
  import DropdownButton from '../../components/DropdownButton';
3
3
  import SimpleButton from '../../components/SimpleButton';
4
4
  import { useAdaptable } from '../AdaptableContext';
5
+ import { OS_THEME } from '../../Utilities/Constants/GeneralConstants';
5
6
  export const VariantSelector = (props) => {
6
7
  const adaptable = useAdaptable();
7
- const systemTemes = adaptable.api.themeApi.getSystemThemes();
8
+ const systemTemes = adaptable.api.themeApi
9
+ .getSystemThemes()
10
+ .filter((theme) => theme.Name !== OS_THEME);
8
11
  const options = systemTemes.map((theme) => ({
9
12
  label: theme.Description,
10
13
  value: theme.Name,
@@ -14,6 +17,6 @@ export const VariantSelector = (props) => {
14
17
  ? options.find((theme) => theme.value === props.theme.Variant)?.label
15
18
  : 'Select a theme';
16
19
  return (React.createElement(React.Fragment, null,
17
- React.createElement(DropdownButton, { mr: 2, columns: ['label'], items: options }, label),
18
- React.createElement(SimpleButton, { onClick: () => props.onChange(null), disabled: !props.theme.Variant, icon: "delete" })));
20
+ React.createElement(DropdownButton, { mr: 2, columns: ['label'], items: options, disabled: props.disabled }, label),
21
+ React.createElement(SimpleButton, { onClick: () => props.onChange(null), disabled: !props.theme.Variant || props.disabled, hidden: props.disabled, icon: "delete" })));
19
22
  };
@@ -319,11 +319,13 @@ export class AdaptableAgGrid {
319
319
  */
320
320
  postLoadHook: (state) => {
321
321
  if (this.adaptableOptions.stateOptions.autoMigrateState) {
322
- state = AdaptableUpgradeHelper.migrateAdaptableState(state, {
322
+ this.api.logError;
323
+ const config = {
323
324
  // version 16 actually includes all versions up until 16
324
325
  fromVersion: 16,
325
326
  logger: this.logger,
326
- });
327
+ };
328
+ state = AdaptableUpgradeHelper.migrateAdaptableState(state, config);
327
329
  }
328
330
  state = this.normalizeAdaptableState(state, config.gridOptions);
329
331
  return state;
@@ -2635,6 +2637,7 @@ You need to define at least one Layout!`);
2635
2637
  themesToRemove.forEach((theme) => {
2636
2638
  el.classList.remove(`infinite-theme-mode--${theme.Name}`);
2637
2639
  });
2640
+ el.classList.remove(`infinite-theme-name--default`);
2638
2641
  // VARIANT
2639
2642
  let variantTheme = '';
2640
2643
  if (!isSystemTheme && themeObject.Variant) {
@@ -2654,6 +2657,7 @@ You need to define at least one Layout!`);
2654
2657
  else if (variantTheme) {
2655
2658
  el.classList.add(`infinite-theme-mode--${variantTheme}`);
2656
2659
  }
2660
+ el.classList.add(`infinite-theme-name--default`);
2657
2661
  // Update AG THEME
2658
2662
  this.agGridThemeAdapter.applyAgGridThemeOnAdaptableThemeChange(newTheme, variantTheme, container, themesToRemove);
2659
2663
  // MAC LIKE SCROLLBARS
@@ -448,6 +448,11 @@ export class AgGridAdapter {
448
448
  this.logger.warn(`Column is undefined, returning 'text' for Type`);
449
449
  return 'text';
450
450
  }
451
+ const colDefType = [].concat(agColumn.getColDef()?.type || []).filter(Boolean);
452
+ const skippedSpecialCols = ['actionColumn', 'fdc3Column'];
453
+ if (skippedSpecialCols.some((specialColType) => colDefType.includes(specialColType))) {
454
+ return 'unknown';
455
+ }
451
456
  let dataType = 'unknown';
452
457
  // get the column type if already in store (and not unknown)
453
458
  const existingColumn = this.adaptableApi.columnApi.getColumnWithColumnId(agColumn.getId(), logWarning);
@@ -238,13 +238,6 @@ export class AgGridColumnAdapter {
238
238
  return cellDataTypeEditor;
239
239
  }
240
240
  });
241
- this.setColDefProperty(col, 'cellEditorPopup', () => {
242
- // as specified in https://www.ag-grid.com/react-data-grid/provided-cell-editors/#rich-select-cell-editor
243
- // agRichSelectCellEditor should always set cellEditorPopup=true. Otherwise the editor will be clipped to the cell contents
244
- if (shouldShowSelectCellEditor && hasRichSelectCellEditor) {
245
- return true;
246
- }
247
- });
248
241
  this.setColDefProperty(col, 'cellEditorParams', (params) => {
249
242
  if (shouldShowSelectCellEditor) {
250
243
  return (params) => {
@@ -24,10 +24,10 @@ export class AgGridThemeAdapter {
24
24
  const isSystemTheme = this.api.themeApi.internalApi.isSystemTheme(themeName);
25
25
  if (adaptableTheme && (isSystemTheme || variantTheme)) {
26
26
  if ((variantTheme || themeName) === LIGHT_THEME) {
27
- document.body.dataset.agThemeMode = 'light';
27
+ document.body.dataset.agThemeMode = adaptableTheme.AgThemeMode ?? 'light';
28
28
  }
29
29
  if ((variantTheme || themeName) === DARK_THEME) {
30
- document.body.dataset.agThemeMode = 'dark';
30
+ document.body.dataset.agThemeMode = adaptableTheme.AgThemeMode ?? 'dark';
31
31
  }
32
32
  }
33
33
  }
@@ -10,6 +10,7 @@ const filterContainerStyle = {
10
10
  display: 'flex',
11
11
  alignItems: 'stretch',
12
12
  position: 'relative',
13
+ flex: '1 1 auto',
13
14
  };
14
15
  export const FloatingFilterWrapperFactory = (adaptable) => {
15
16
  const adaptableApi = adaptable.api;
@@ -1,4 +1,6 @@
1
1
  import { Adaptable, AdaptableNoCodeWizard as ABWizard } from './Adaptable';
2
+ import { AdaptableLogger as ABLogger } from './AdaptableLogger';
2
3
  export { default as AdaptableWizardView } from '../View/AdaptableWizardView';
3
4
  export default Adaptable;
4
5
  export declare const AdaptableNoCodeWizard: typeof ABWizard;
6
+ export declare const AdaptableLogger: typeof ABLogger;
@@ -1,7 +1,8 @@
1
1
  import { Adaptable,
2
2
  //init as initFn,
3
3
  AdaptableNoCodeWizard as ABWizard, } from './Adaptable';
4
+ import { AdaptableLogger as ABLogger } from './AdaptableLogger';
4
5
  export { default as AdaptableWizardView } from '../View/AdaptableWizardView';
5
6
  export default Adaptable;
6
7
  export const AdaptableNoCodeWizard = ABWizard;
7
- //export const init = initFn;
8
+ export const AdaptableLogger = ABLogger;
@@ -118,7 +118,7 @@ const FunctionsDropdown = ({ expressionFunctions, baseClassName }) => {
118
118
  }, onClick: handleFunctionCategoryChange(option.value), checked: currentFunctionCategory === option.value }, option.label));
119
119
  })),
120
120
  React.createElement(Flex, null,
121
- React.createElement(Flex, { className: `${baseClassName}__dropdown-functions-list`, "data-name": "expression-dropdown-fuctions-list", flexDirection: "column", p: 2, maxHeight: '50vh' }, orderedGroupNames
121
+ React.createElement(Flex, { className: `${baseClassName}__dropdown-functions-list`, "data-name": "expression-dropdown-functions-list", flexDirection: "column", p: 2, maxHeight: '50vh' }, orderedGroupNames
122
122
  .filter((groupName) => !!groupedFunctions[groupName])
123
123
  .map((groupName) => {
124
124
  const functionsInGroup = Object.keys(groupedFunctions[groupName]);
@@ -7,7 +7,6 @@ import { Box } from 'rebass';
7
7
  import { DataSource, InfiniteTable, } from '@infinite-table/infinite-react';
8
8
  import { useMemo } from 'react';
9
9
  import join from '../utils/join';
10
- const ROW_HEIGHT = 40;
11
10
  const checkboxStyle = {
12
11
  position: 'relative',
13
12
  top: 1,
@@ -330,7 +329,7 @@ export const Select = function (props) {
330
329
  data: filteredOptions, primaryKey: "value", selectionMode: isMulti ? 'multi-row' : 'single-row',
331
330
  // @ts-ignore
332
331
  onRowSelectionChange: isLoading ? null : isMulti ? onRowSelectionChange : onSingleRowSelectionChange, rowSelection: rowSelection, isRowDisabled: isRowDisabled },
333
- React.createElement(InfiniteTable, { header: isMulti && showHeaderSelectionCheckbox ? true : false, rowClassName: rowClassName, showZebraRows: false, onCellClick: isLoading ? null : onCellClick, keyboardNavigation: isLoading ? false : 'row', activeRowIndex: focusedOptionIndex, keyboardSelection: true, rowHeight: ROW_HEIGHT, columns: isMulti ? INFINITE_COLUMNS_WITH_CHECKBOX : INFINITE_COLUMNS_WITH_RADIO, domProps: INFINITE_DOM_PROPS })));
332
+ React.createElement(InfiniteTable, { header: isMulti && showHeaderSelectionCheckbox ? true : false, rowClassName: rowClassName, showZebraRows: false, rowHeight: '--ab-grid-row-height', onCellClick: isLoading ? null : onCellClick, keyboardNavigation: isLoading ? false : 'row', activeRowIndex: focusedOptionIndex, keyboardSelection: true, columns: isMulti ? INFINITE_COLUMNS_WITH_CHECKBOX : INFINITE_COLUMNS_WITH_RADIO, domProps: INFINITE_DOM_PROPS })));
334
333
  };
335
334
  }, [isMulti, showHeaderSelectionCheckbox]);
336
335
  const DropdownIndicator = React.useMemo(() => {
@@ -417,7 +416,7 @@ export const Select = function (props) {
417
416
  zIndex: 999999,
418
417
  boxShadow: 'var(--ab-cmp-select-menu__box-shadow)',
419
418
  minWidth: `var(--ab-cmp-select-menu__min-width)`,
420
- '--ab-cmp-select-menu__min-height': `min(${((props.options || []).length + (showHeaderSelectionCheckbox ? 1 : 0)) * ROW_HEIGHT}px, 20rem)`,
419
+ '--ab-cmp-select-menu__min-height': `min(${(props.options || []).length + (showHeaderSelectionCheckbox ? 1 : 0)} * var(--ab-grid-row-height), 20rem)`,
421
420
  ...commonStyles(state),
422
421
  ...props.menuStyle,
423
422
  };
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: 1742808186097 || Date.now(),
4
- VERSION: "20.0.0" || '--current-version--',
3
+ PUBLISH_TIMESTAMP: 1743597189803 || Date.now(),
4
+ VERSION: "20.0.2-canary.0" || '--current-version--',
5
5
  };
@@ -36,7 +36,7 @@ export interface BaseLayoutModel {
36
36
  Values: any[][];
37
37
  };
38
38
  /**
39
- * Whether to include the aggFunc name in the column header: e.g. 'sum(Bank Balance)' will just be 'Bank Balance'
39
+ * Hides aggFunc name in the column header: e.g. 'sum(Bank Balance)' will just be 'Bank Balance'
40
40
  */
41
41
  SuppressAggFuncInHeader?: boolean;
42
42
  /**
@@ -278,6 +278,11 @@ export declare const ADAPTABLE_METAMODEL: {
278
278
  desc: string;
279
279
  }[];
280
280
  };
281
+ AdaptableColumnDataType: {
282
+ name: string;
283
+ kind: string;
284
+ desc: string;
285
+ };
281
286
  AdaptableColumnGroup: {
282
287
  name: string;
283
288
  kind: string;
@@ -618,13 +623,13 @@ export declare const ADAPTABLE_METAMODEL: {
618
623
  kind: string;
619
624
  desc: string;
620
625
  isOpt: boolean;
621
- ref?: undefined;
626
+ ref: string;
622
627
  } | {
623
628
  name: string;
624
629
  kind: string;
625
630
  desc: string;
626
631
  isOpt: boolean;
627
- ref: string;
632
+ ref?: undefined;
628
633
  })[];
629
634
  };
630
635
  AdaptableObjectLookupCriteria: {
@@ -1047,6 +1052,11 @@ export declare const ADAPTABLE_METAMODEL: {
1047
1052
  defVal: string;
1048
1053
  })[];
1049
1054
  };
1055
+ AdaptableVersion: {
1056
+ name: string;
1057
+ kind: string;
1058
+ desc: string;
1059
+ };
1050
1060
  AggregatedExpressionFilterRowContext: {
1051
1061
  name: string;
1052
1062
  kind: string;
@@ -2323,6 +2333,16 @@ export declare const ADAPTABLE_METAMODEL: {
2323
2333
  ref: string;
2324
2334
  })[];
2325
2335
  };
2336
+ CustomGroupColumnMenuItem: {
2337
+ name: string;
2338
+ kind: string;
2339
+ desc: string;
2340
+ };
2341
+ CustomGroupContextMenuItem: {
2342
+ name: string;
2343
+ kind: string;
2344
+ desc: string;
2345
+ };
2326
2346
  CustomIcon: {
2327
2347
  name: string;
2328
2348
  kind: string;
@@ -2863,6 +2883,16 @@ export declare const ADAPTABLE_METAMODEL: {
2863
2883
  kind: string;
2864
2884
  desc: string;
2865
2885
  };
2886
+ DefaultAdaptableMenuStructure: {
2887
+ name: string;
2888
+ kind: string;
2889
+ desc: string;
2890
+ };
2891
+ DefaultAgGridMenuStructure: {
2892
+ name: string;
2893
+ kind: string;
2894
+ desc: string;
2895
+ };
2866
2896
  DetailInitContext: {
2867
2897
  name: string;
2868
2898
  kind: string;
@@ -2975,6 +3005,11 @@ export declare const ADAPTABLE_METAMODEL: {
2975
3005
  ref: string;
2976
3006
  })[];
2977
3007
  };
3008
+ ExportDestinationType: {
3009
+ name: string;
3010
+ kind: string;
3011
+ desc: string;
3012
+ };
2978
3013
  ExportFormContext: {
2979
3014
  name: string;
2980
3015
  kind: string;
@@ -4071,6 +4106,16 @@ export declare const ADAPTABLE_METAMODEL: {
4071
4106
  ref?: undefined;
4072
4107
  })[];
4073
4108
  };
4109
+ MenuCategory: {
4110
+ name: string;
4111
+ kind: string;
4112
+ desc: string;
4113
+ };
4114
+ MenuSeparator: {
4115
+ name: string;
4116
+ kind: string;
4117
+ desc: string;
4118
+ };
4074
4119
  ModuleExpressionFunctions: {
4075
4120
  name: string;
4076
4121
  kind: string;
@@ -4309,6 +4354,11 @@ export declare const ADAPTABLE_METAMODEL: {
4309
4354
  defVal?: undefined;
4310
4355
  })[];
4311
4356
  };
4357
+ PivotAggregationColumns: {
4358
+ name: string;
4359
+ kind: string;
4360
+ desc: string;
4361
+ };
4312
4362
  PivotLayout: {
4313
4363
  name: string;
4314
4364
  kind: string;
@@ -4491,6 +4541,16 @@ export declare const ADAPTABLE_METAMODEL: {
4491
4541
  desc: string;
4492
4542
  }[];
4493
4543
  };
4544
+ ProcessExportContext: {
4545
+ name: string;
4546
+ kind: string;
4547
+ desc: string;
4548
+ props: {
4549
+ name: string;
4550
+ kind: string;
4551
+ desc: string;
4552
+ }[];
4553
+ };
4494
4554
  ProgressIndicatorConfig: {
4495
4555
  name: string;
4496
4556
  kind: string;
@@ -4659,6 +4719,17 @@ export declare const ADAPTABLE_METAMODEL: {
4659
4719
  ref: string;
4660
4720
  })[];
4661
4721
  };
4722
+ ReportColumn: {
4723
+ name: string;
4724
+ kind: string;
4725
+ desc: string;
4726
+ props: {
4727
+ name: string;
4728
+ kind: string;
4729
+ desc: string;
4730
+ isOpt: boolean;
4731
+ }[];
4732
+ };
4662
4733
  ReportColumnScope: {
4663
4734
  name: string;
4664
4735
  kind: string;
@@ -4701,6 +4772,16 @@ export declare const ADAPTABLE_METAMODEL: {
4701
4772
  desc: string;
4702
4773
  }[];
4703
4774
  };
4775
+ ReportFormatType: {
4776
+ name: string;
4777
+ kind: string;
4778
+ desc: string;
4779
+ };
4780
+ ReportNameType: {
4781
+ name: string;
4782
+ kind: string;
4783
+ desc: string;
4784
+ };
4704
4785
  ReportRowScope: {
4705
4786
  name: string;
4706
4787
  kind: string;
@@ -4759,6 +4840,17 @@ export declare const ADAPTABLE_METAMODEL: {
4759
4840
  kind: string;
4760
4841
  desc: string;
4761
4842
  };
4843
+ RowFormColumnContext: {
4844
+ name: string;
4845
+ kind: string;
4846
+ desc: string;
4847
+ props: {
4848
+ name: string;
4849
+ kind: string;
4850
+ desc: string;
4851
+ ref: string;
4852
+ }[];
4853
+ };
4762
4854
  RowFormContext: {
4763
4855
  name: string;
4764
4856
  kind: string;
@@ -4792,6 +4884,11 @@ export declare const ADAPTABLE_METAMODEL: {
4792
4884
  kind: string;
4793
4885
  desc: string;
4794
4886
  };
4887
+ RowFormType: {
4888
+ name: string;
4889
+ kind: string;
4890
+ desc: string;
4891
+ };
4795
4892
  RowGroupValues: {
4796
4893
  name: string;
4797
4894
  kind: string;
@@ -5362,6 +5459,11 @@ export declare const ADAPTABLE_METAMODEL: {
5362
5459
  isOpt?: undefined;
5363
5460
  })[];
5364
5461
  };
5462
+ TableAggregationColumns: {
5463
+ name: string;
5464
+ kind: string;
5465
+ desc: string;
5466
+ };
5365
5467
  TableLayout: {
5366
5468
  name: string;
5367
5469
  kind: string;