@adaptabletools/adaptable 18.0.0-canary.17 → 18.0.0-canary.19

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 (55) hide show
  1. package/package.json +1 -1
  2. package/src/AdaptableOptions/AdaptableOptions.d.ts +2 -2
  3. package/src/AdaptableOptions/CommentOptions.d.ts +9 -6
  4. package/src/AdaptableOptions/GroupingOptions.d.ts +0 -7
  5. package/src/AdaptableOptions/NoteOptions.d.ts +4 -4
  6. package/src/Api/Events/GridDataChanged.d.ts +1 -1
  7. package/src/Api/Implementation/ApiBase.d.ts +2 -1
  8. package/src/Api/Implementation/ApiBase.js +3 -0
  9. package/src/Api/Internal/ColumnFilterInternalApi.d.ts +1 -0
  10. package/src/Api/Internal/ColumnFilterInternalApi.js +12 -0
  11. package/src/Api/Internal/GridFilterInternalApi.d.ts +5 -0
  12. package/src/Api/Internal/GridFilterInternalApi.js +6 -0
  13. package/src/PredefinedConfig/Common/DataUpdateConfig.d.ts +1 -5
  14. package/src/PredefinedConfig/Common/Menu.d.ts +9 -4
  15. package/src/PredefinedConfig/Common/Menu.js +61 -35
  16. package/src/PredefinedConfig/NoteState.d.ts +1 -1
  17. package/src/Redux/Store/AdaptableStore.js +25 -10
  18. package/src/Strategy/AdaptableModuleBase.d.ts +5 -5
  19. package/src/Strategy/AdaptableModuleBase.js +3 -3
  20. package/src/Strategy/AlertModule.js +1 -1
  21. package/src/Strategy/CalculatedColumnModule.js +1 -1
  22. package/src/Strategy/ColumnFilterModule.d.ts +1 -1
  23. package/src/Strategy/ColumnFilterModule.js +44 -41
  24. package/src/Strategy/ColumnInfoModule.js +2 -2
  25. package/src/Strategy/CommentModule.js +7 -16
  26. package/src/Strategy/CustomSortModule.js +1 -1
  27. package/src/Strategy/DashboardModule.js +8 -8
  28. package/src/Strategy/DataImportModule.js +1 -1
  29. package/src/Strategy/ExportModule.js +3 -3
  30. package/src/Strategy/Fdc3Module.js +1 -1
  31. package/src/Strategy/FlashingCellModule.js +4 -4
  32. package/src/Strategy/FormatColumnModule.js +6 -6
  33. package/src/Strategy/FreeTextColumnModule.js +1 -1
  34. package/src/Strategy/GridInfoModule.js +2 -2
  35. package/src/Strategy/LayoutModule.js +13 -13
  36. package/src/Strategy/NoteModule.js +8 -11
  37. package/src/Strategy/PlusMinusModule.js +1 -1
  38. package/src/Strategy/SettingsPanelModule.js +3 -3
  39. package/src/Strategy/StyledColumnModule.js +13 -10
  40. package/src/Strategy/SystemStatusModule.js +1 -1
  41. package/src/Utilities/MenuItem.d.ts +7 -7
  42. package/src/View/Comments/CommentsEditor.js +7 -6
  43. package/src/View/Comments/CommentsPopup.js +2 -1
  44. package/src/View/Components/Selectors/PermittedValuesSelector.js +1 -1
  45. package/src/View/Note/NotePopup.js +5 -3
  46. package/src/agGrid/AdaptableAgGrid.js +0 -20
  47. package/src/agGrid/defaultAdaptableOptions.js +0 -1
  48. package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +1 -1
  49. package/src/agGrid/editors/AdaptableDateEditor/index.js +1 -1
  50. package/src/components/Select/Select.d.ts +1 -1
  51. package/src/components/Select/Select.js +1 -1
  52. package/src/env.js +2 -2
  53. package/src/metamodel/adaptable.metamodel.d.ts +13 -16
  54. package/src/metamodel/adaptable.metamodel.js +1 -1
  55. package/tsconfig.esm.tsbuildinfo +1 -1
@@ -45,6 +45,9 @@ export class StyledColumnModule extends AdaptableModuleBase {
45
45
  styledColumn = Object.assign(Object.assign({}, ObjectFactory.CreateEmptyStyledColumn()), { ColumnId: column.columnId, SparkLineStyle: {} });
46
46
  }
47
47
  let label = hasSparklineStyle ? 'Edit ' : 'Create ';
48
+ let name = hasSparklineStyle
49
+ ? 'styled-column-sparkline-edit'
50
+ : 'styled-column-sparkline-add';
48
51
  let popupParam = {
49
52
  action: sparklineColumnExists ? 'Edit' : 'New',
50
53
  source: 'ColumnMenu',
@@ -53,7 +56,7 @@ export class StyledColumnModule extends AdaptableModuleBase {
53
56
  defaultCurrentSectionName: 'Settings',
54
57
  },
55
58
  };
56
- returnColumnMenuItems.push(this.createColumnMenuItemShowPopup('styled-column-sparkline', label + 'Sparkline Column', this.moduleInfo.Popup, this.getGlyphForStyledColumn(styledColumn), popupParam));
59
+ returnColumnMenuItems.push(this.createMenuItemShowPopup(name, label + 'Sparkline Column', this.moduleInfo.Popup, this.getGlyphForStyledColumn(styledColumn), popupParam));
57
60
  }
58
61
  }
59
62
  // Next do non sparkline
@@ -79,7 +82,7 @@ export class StyledColumnModule extends AdaptableModuleBase {
79
82
  const icon = this.getGlyphForStyledColumn(styledColumn);
80
83
  const label = `Edit ${this.getTypeLabel(styledColumn)} Style`;
81
84
  const name = this.getTypeName(styledColumn);
82
- returnColumnMenuItems.push(this.createColumnMenuItemShowPopup(name, label, this.moduleInfo.Popup, icon, popupParam));
85
+ returnColumnMenuItems.push(this.createMenuItemShowPopup(name, label, this.moduleInfo.Popup, icon, popupParam));
83
86
  }
84
87
  }
85
88
  else {
@@ -91,7 +94,7 @@ export class StyledColumnModule extends AdaptableModuleBase {
91
94
  config: {},
92
95
  };
93
96
  const badgeLabel = column.dataType === 'Number' ? 'Badge' : 'Create Badge Style';
94
- const newBadgeButton = this.createColumnMenuItemShowPopup('styled-column-badge', badgeLabel, this.moduleInfo.Popup, 'badge', Object.assign(Object.assign({}, popupParam), { value: Object.assign(Object.assign({}, newStyledColumn), { BadgeStyle: {
97
+ const newBadgeButton = this.createMenuItemShowPopup('styled-column-badge-add', badgeLabel, this.moduleInfo.Popup, 'badge', Object.assign(Object.assign({}, popupParam), { value: Object.assign(Object.assign({}, newStyledColumn), { BadgeStyle: {
95
98
  Badges: [ObjectFactory.CreateDefaultStyledColumnBadge()],
96
99
  } }), config: {
97
100
  defaultCurrentSectionName: 'Badges',
@@ -103,18 +106,18 @@ export class StyledColumnModule extends AdaptableModuleBase {
103
106
  const emptyRanges = this.api.scopeApi.createCellColorRangesForScope({
104
107
  ColumnIds: [column.columnId],
105
108
  });
106
- const newGrandientButton = this.createColumnMenuItemShowPopup('styled-column-gradient', 'Gradient', this.moduleInfo.Popup, 'gradient', Object.assign(Object.assign({}, popupParam), { value: Object.assign(Object.assign({}, newStyledColumn), { GradientStyle: {
109
+ const newGrandientButton = this.createMenuItemShowPopup('styled-column-gradient-add', 'Gradient', this.moduleInfo.Popup, 'gradient', Object.assign(Object.assign({}, popupParam), { value: Object.assign(Object.assign({}, newStyledColumn), { GradientStyle: {
107
110
  CellRanges: emptyRanges,
108
111
  } }), config: {
109
112
  defaultCurrentSectionName: 'Style',
110
113
  } }));
111
- const newPrecentBarButton = this.createColumnMenuItemShowPopup('styled-column-percent-bar', 'Percent Bar', this.moduleInfo.Popup, 'percent', Object.assign(Object.assign({}, popupParam), { value: Object.assign(Object.assign({}, newStyledColumn), { PercentBarStyle: {
114
+ const newPrecentBarButton = this.createMenuItemShowPopup('styled-column-percent-bar-add', 'Percent Bar', this.moduleInfo.Popup, 'percent', Object.assign(Object.assign({}, popupParam), { value: Object.assign(Object.assign({}, newStyledColumn), { PercentBarStyle: {
112
115
  CellRanges: emptyRanges,
113
116
  } }), config: {
114
117
  defaultCurrentSectionName: 'Style',
115
118
  } }));
116
119
  returnColumnMenuItems.push({
117
- name: 'styled-column',
120
+ name: 'parent',
118
121
  label: 'Create Styled Column',
119
122
  module: this.moduleInfo.ModuleName,
120
123
  isVisible: true,
@@ -235,16 +238,16 @@ export class StyledColumnModule extends AdaptableModuleBase {
235
238
  getTypeName(styledColumn) {
236
239
  let type = null;
237
240
  if (styledColumn.GradientStyle) {
238
- type = 'styled-column-gradient';
241
+ type = 'styled-column-gradient-edit';
239
242
  }
240
243
  else if (styledColumn.PercentBarStyle) {
241
- type = 'styled-column-percent-bar';
244
+ type = 'styled-column-percent-bar-edit';
242
245
  }
243
246
  else if (styledColumn.SparkLineStyle) {
244
- type = 'styled-column-sparkline';
247
+ type = 'styled-column-sparkline-edit';
245
248
  }
246
249
  else if (styledColumn.BadgeStyle) {
247
- type = 'styled-column-badge';
250
+ type = 'styled-column-badge-edit';
248
251
  }
249
252
  return type;
250
253
  }
@@ -8,7 +8,7 @@ export class SystemStatusModule extends AdaptableModuleBase {
8
8
  addColumnMenuItems(column) {
9
9
  if (this.isModuleAvailable()) {
10
10
  return [
11
- this.createColumnMenuItemShowPopup('system-status-show', 'Show System Status', this.moduleInfo.Popup, this.moduleInfo.Glyph),
11
+ this.createMenuItemShowPopup('system-status-show', 'Show System Status', this.moduleInfo.Popup, this.moduleInfo.Glyph),
12
12
  ];
13
13
  }
14
14
  }
@@ -1,11 +1,11 @@
1
1
  import * as Redux from 'redux';
2
2
  import { ModuleParams } from '../View/Components/SharedProps/ModuleViewPopupProps';
3
- import { AdaptableMenuItem, AdaptableMenuItemName } from '../PredefinedConfig/Common/Menu';
3
+ import { AdaptableMenuItem, AdaptableContextMenuItemName, AdaptableColumnMenuItemName } from '../PredefinedConfig/Common/Menu';
4
4
  import { AdaptableModule } from '../PredefinedConfig/Common/Types';
5
5
  import { AdaptableIcon, AdaptableSystemIconName } from '../PredefinedConfig/Common/AdaptableIcon';
6
6
  export declare class MenuItemDoReduxAction implements AdaptableMenuItem {
7
- constructor(name: AdaptableMenuItemName, label: string, module: AdaptableModule, reduxAction: Redux.Action, icon: AdaptableSystemIconName, isVisible: boolean);
8
- name: AdaptableMenuItemName;
7
+ constructor(name: AdaptableColumnMenuItemName | AdaptableContextMenuItemName, label: string, module: AdaptableModule, reduxAction: Redux.Action, icon: AdaptableSystemIconName, isVisible: boolean);
8
+ name: AdaptableColumnMenuItemName | AdaptableContextMenuItemName;
9
9
  reduxAction: Redux.Action;
10
10
  label: string;
11
11
  module: AdaptableModule;
@@ -13,8 +13,8 @@ export declare class MenuItemDoReduxAction implements AdaptableMenuItem {
13
13
  icon: AdaptableIcon;
14
14
  }
15
15
  export declare class MenuItemDoClickFunction implements AdaptableMenuItem {
16
- constructor(name: AdaptableMenuItemName, label: string, module: AdaptableModule, clickFunction: () => void, icon: AdaptableSystemIconName, isVisible: boolean);
17
- name: AdaptableMenuItemName;
16
+ constructor(name: AdaptableColumnMenuItemName | AdaptableContextMenuItemName, label: string, module: AdaptableModule, clickFunction: () => void, icon: AdaptableSystemIconName, isVisible: boolean);
17
+ name: AdaptableColumnMenuItemName | AdaptableContextMenuItemName;
18
18
  onClick: () => void;
19
19
  label: string;
20
20
  module: AdaptableModule;
@@ -22,8 +22,8 @@ export declare class MenuItemDoClickFunction implements AdaptableMenuItem {
22
22
  icon: AdaptableIcon;
23
23
  }
24
24
  export declare class MenuItemShowPopup implements AdaptableMenuItem {
25
- constructor(name: AdaptableMenuItemName, label: string, module: AdaptableModule, componentName: string, icon: AdaptableSystemIconName, isVisible: boolean, popupParams?: ModuleParams);
26
- name: AdaptableMenuItemName;
25
+ constructor(name: AdaptableColumnMenuItemName | AdaptableContextMenuItemName, label: string, module: AdaptableModule, componentName: string, icon: AdaptableSystemIconName, isVisible: boolean, popupParams?: ModuleParams);
26
+ name: AdaptableColumnMenuItemName | AdaptableContextMenuItemName;
27
27
  reduxAction: Redux.Action;
28
28
  label: string;
29
29
  module: AdaptableModule;
@@ -24,6 +24,7 @@ export const CommentsEditor = (props) => {
24
24
  return adaptable.api.optionsApi.getUserName();
25
25
  }, []);
26
26
  const commentThread = useSelector((state) => CommentsRedux.GetCellCommentSelector(state.Comment, cellAddress));
27
+ const isReadOnlyModule = adaptable.api.entitlementApi.getEntitlementAccessLevelForModule('Comment') === 'ReadOnly';
27
28
  const [activeEditingComment, setActiveEditingComment] = React.useState(() => {
28
29
  /**
29
30
  * When opening the popup and there is only one comment, we want to open it in edit mode.
@@ -58,14 +59,14 @@ export const CommentsEditor = (props) => {
58
59
  React.createElement(Box, { fontSize: 3, fontWeight: "bold" }, (_d = comment === null || comment === void 0 ? void 0 : comment.Author) === null || _d === void 0 ? void 0 : _d.UserName),
59
60
  comment.Timestamp && (React.createElement(Box, { fontSize: 2 }, formatDate(comment.Timestamp, 'MM.DD.YYYY HH:mm')))),
60
61
  React.createElement(Box, { flex: 1 }),
61
- React.createElement(SimpleButton, { variant: "text", icon: "edit", disabled: !isOwnComment, onClick: () => setActiveEditingComment(comment.Uuid) }),
62
- React.createElement(SimpleButton, { variant: "text", icon: "delete", disabled: !isOwnComment, onClick: () => {
62
+ React.createElement(SimpleButton, { variant: "text", icon: "edit", disabled: !isOwnComment || isReadOnlyModule, onClick: () => setActiveEditingComment(comment.Uuid) }),
63
+ React.createElement(SimpleButton, { variant: "text", icon: "delete", disabled: !isOwnComment || isReadOnlyModule, onClick: () => {
63
64
  adaptable.api.commentApi.deleteComment(comment, cellAddress);
64
65
  requestAnimationFrame(() => {
65
66
  props.onRefreshContent();
66
67
  });
67
68
  } })),
68
- React.createElement(Box, { onClick: () => setActiveEditingComment(comment.Uuid) }, comment.Uuid === activeEditingComment ? (React.createElement(AdaptableInput, { autoFocus: true, width: "100%", defaultValue: comment.Value, onBlur: () => {
69
+ React.createElement(Box, { onClick: () => setActiveEditingComment(comment.Uuid) }, comment.Uuid === activeEditingComment ? (React.createElement(AdaptableInput, { autoFocus: true, width: "100%", defaultValue: comment.Value, disabled: isReadOnlyModule, onBlur: () => {
69
70
  if (comment.Uuid === activeEditingComment) {
70
71
  setActiveEditingComment(null);
71
72
  }
@@ -73,7 +74,7 @@ export const CommentsEditor = (props) => {
73
74
  adaptable.api.commentApi.editComment(Object.assign(Object.assign({}, comment), { Value: event.target.value }), cellAddress);
74
75
  } })) : (React.createElement(Text, null, comment.Value)))));
75
76
  }),
76
- React.createElement(AdaptableInput, { autoFocus: !comments || comments.length === 0, value: newCommentText, onChange: (event) => {
77
+ React.createElement(AdaptableInput, { autoFocus: !comments || comments.length === 0, value: newCommentText, disabled: isReadOnlyModule, onChange: (event) => {
77
78
  setNewCommentText(event.target.value);
78
79
  }, onKeyDown: (event) => {
79
80
  if (event.key === 'Enter') {
@@ -83,7 +84,7 @@ export const CommentsEditor = (props) => {
83
84
  props.onRefreshContent();
84
85
  });
85
86
  }
86
- }, mt: 2, mb: "2", width: "100%", placeholder: "Write new comment" }),
87
+ }, mt: 2, mb: "2", width: "100%", placeholder: "Write new Comment" }),
87
88
  React.createElement(SimpleButton, { width: "100%", variant: "raised", onClick: () => {
88
89
  adaptable.api.settingsPanelApi.openSettingsPanel('Comment');
89
90
  adaptable.api.internalApi.getCellPopupService().hidePopup();
@@ -91,5 +92,5 @@ export const CommentsEditor = (props) => {
91
92
  React.createElement(Box, { mr: 2 },
92
93
  React.createElement(Icon, { name: "folder" })),
93
94
  ' ',
94
- "Open all comments")));
95
+ "Open all Comments")));
95
96
  };
@@ -15,6 +15,7 @@ const tableDOMProps = {
15
15
  };
16
16
  const CellComments = (props) => {
17
17
  const adaptable = useAdaptable();
18
+ const isReadOnlyModule = adaptable.api.entitlementApi.getEntitlementAccessLevelForModule('Comment') === 'ReadOnly';
18
19
  const columnsMap = React.useMemo(() => {
19
20
  const columns = {
20
21
  author: {
@@ -65,7 +66,7 @@ const CellComments = (props) => {
65
66
  PrimaryKeyValue: props.commentThread.PrimaryKeyValue,
66
67
  }, true);
67
68
  } }),
68
- React.createElement(AdaptableButtonComponent, { icon: "delete", variant: "text", onClick: () => {
69
+ React.createElement(AdaptableButtonComponent, { icon: "delete", disabled: isReadOnlyModule, variant: "text", onClick: () => {
69
70
  adaptable.api.commentApi.deleteCommentThread(props.commentThread);
70
71
  } })) },
71
72
  React.createElement(DataSource, { data: props.commentThread.Comments, primaryKey: "Uuid" },
@@ -64,5 +64,5 @@ export const PermittedValuesSelector = function (props) {
64
64
  handleSingleValueChange(value);
65
65
  }
66
66
  };
67
- return (React.createElement(Select, { isMulti: props.isMulti, className: props.className, disabled: props.disabled, "data-name": "permitted-values-selector", placeholder: props.placeholder || (props.allowNewValues ? 'Select or type new value' : 'Select value'), isCreatable: isCreatable, isClearable: true, options: options, isLoding: isLoading, onInputChange: setFilter, onChange: handleOnChange, value: props.value }));
67
+ return (React.createElement(Select, { isMulti: props.isMulti, className: props.className, disabled: props.disabled, "data-name": "permitted-values-selector", placeholder: props.placeholder || (props.allowNewValues ? 'Select or type new value' : 'Select value'), isCreatable: isCreatable, isClearable: true, options: options, isLoading: isLoading, onInputChange: setFilter, onChange: handleOnChange, value: props.value }));
68
68
  };
@@ -16,6 +16,7 @@ export const NotePopup = (props) => {
16
16
  const adaptable = useAdaptable();
17
17
  const primaryKeyHeader = adaptable.api.columnApi.getFriendlyNameForColumnId(adaptable.api.columnApi.getPrimaryKeyColumn().columnId);
18
18
  const allNotes = useSelector((state) => GetAllNotesSelector(state.Note));
19
+ const isReadOnlyModule = adaptable.api.entitlementApi.getEntitlementAccessLevelForModule('Note') === 'ReadOnly';
19
20
  const columnsMap = React.useMemo(() => {
20
21
  const columns = {
21
22
  primaryKey: {
@@ -32,19 +33,20 @@ export const NotePopup = (props) => {
32
33
  text: {
33
34
  field: 'Text',
34
35
  header: 'Text',
35
- defaultEditable: true,
36
+ defaultEditable: !isReadOnlyModule,
36
37
  defaultFlex: 3,
37
38
  },
38
39
  timestamp: {
39
40
  field: 'Timestamp',
40
41
  valueGetter: (params) => {
41
- return new Date(params.data.Timestamp).toDateString();
42
+ var _a;
43
+ return (_a = new Date(params.data.Timestamp)) === null || _a === void 0 ? void 0 : _a.toDateString();
42
44
  },
43
45
  },
44
46
  delete: {
45
47
  defaultWidth: 50,
46
48
  render: (params) => {
47
- return (React.createElement(AdaptableButtonComponent, { variant: "text", icon: "delete", onClick: () => {
49
+ return (React.createElement(AdaptableButtonComponent, { disabled: isReadOnlyModule, variant: "text", icon: "delete", onClick: () => {
48
50
  const note = adaptable.api.noteApi.getNoteByUuid(params.data.Uuid);
49
51
  adaptable.api.noteApi.deleteNote(note);
50
52
  } }));
@@ -1439,26 +1439,6 @@ export class AdaptableAgGrid {
1439
1439
  this.onSortChanged();
1440
1440
  this.debouncedSetSelectedCells();
1441
1441
  }));
1442
- const showGroupingTotalsAsHeader = this.adaptableOptions.groupingOptions.showGroupingTotalsAsHeader;
1443
- /**
1444
- * Use Case: Model has updated
1445
- * Action: If user has set to see grouping totals as header create a pinned row (bit of a hack)
1446
- */
1447
- this.agGridAdapter.getAgGridApi().addEventListener(Events.EVENT_MODEL_UPDATED, (this.listenerModelUpdated = (params) => {
1448
- if (showGroupingTotalsAsHeader) {
1449
- if (params && params.api) {
1450
- const pinnedData = params.api.getPinnedTopRow(0);
1451
- const model = params.api.getModel();
1452
- const rootNode = model.getRootNode();
1453
- if (!pinnedData) {
1454
- params.api.setPinnedTopRowData([rootNode.aggData]);
1455
- }
1456
- else {
1457
- pinnedData.updateData(rootNode.aggData);
1458
- }
1459
- }
1460
- }
1461
- }));
1462
1442
  const eventsThatTriggerChartingChanges = [
1463
1443
  Events.EVENT_CHART_CREATED,
1464
1444
  /** Chart Range selection has changed */
@@ -144,7 +144,6 @@ const DefaultAdaptableOptions = {
144
144
  customSortOptions: { customSortComparers: undefined },
145
145
  dataSetOptions: { dataSets: EMPTY_ARRAY },
146
146
  groupingOptions: {
147
- showGroupingTotalsAsHeader: false,
148
147
  balancedGroupsKey: undefined,
149
148
  restoreUngroupedColumns: false,
150
149
  autoOrderGroupedColumns: true,
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { ICellEditorParams, ICellEditorComp } from '@ag-grid-community/core';
2
+ import { ICellEditorComp, ICellEditorParams } from '@ag-grid-community/core';
3
3
  import { IAdaptable } from '../../../AdaptableInterfaces/IAdaptable';
4
4
  export declare const ReactAdaptableDateEditor: React.ForwardRefExoticComponent<ICellEditorParams<any, any, any> & {
5
5
  showClearButton?: boolean;
@@ -2,8 +2,8 @@ import * as React from 'react';
2
2
  import { renderWithAdaptableContext } from '../../../View/renderWithAdaptableContext';
3
3
  import { InternalAdaptableDateEditor, } from './InternalAdaptableDateEditor';
4
4
  import { KeyCode, } from '@ag-grid-community/core';
5
- import { DateFormatter } from '../../../Utilities/Helpers/FormatHelper';
6
5
  import { forwardRef, useImperativeHandle, useRef, useState } from 'react';
6
+ import { DateFormatter } from '../../../Utilities/Helpers/FormatHelper';
7
7
  function shouldClearExistingValue(params) {
8
8
  return params.eventKey === KeyCode.BACKSPACE || params.eventKey === KeyCode.DELETE;
9
9
  }
@@ -21,7 +21,7 @@ export type SelectProps<SelectValue extends unknown, IsMulti extends boolean = f
21
21
  'data-id'?: string;
22
22
  renderSingleValue?: (option: SelectOption<SelectValue>) => React.ReactNode;
23
23
  className?: string;
24
- isLoding?: boolean;
24
+ isLoading?: boolean;
25
25
  onFocus?: () => void;
26
26
  accessLevel?: AccessLevel;
27
27
  style?: React.CSSProperties;
@@ -80,7 +80,7 @@ export const Select = function (props) {
80
80
  React.createElement(Icon, { name: "triangle-down", style: { height: 20, width: 20 } })));
81
81
  };
82
82
  }, []);
83
- return (React.createElement(SelectComponent, { onInputChange: props.onInputChange, onFocus: props.onFocus, isLoading: props.isLoding, options: props.options, className: props.className, isDisabled: disabled, menuPlacement: (_g = props.menuPlacement) !== null && _g !== void 0 ? _g : 'auto', isSearchable: props.searchable, isMulti: props.isMulti, value: selectedOption, menuPosition: (_h = props.menuPosition) !== null && _h !== void 0 ? _h : 'absolute',
83
+ return (React.createElement(SelectComponent, { onInputChange: props.onInputChange, onFocus: props.onFocus, isLoading: props.isLoading, options: props.options, className: props.className, isDisabled: disabled, menuPlacement: (_g = props.menuPlacement) !== null && _g !== void 0 ? _g : 'auto', isSearchable: props.searchable, isMulti: props.isMulti, value: selectedOption, menuPosition: (_h = props.menuPosition) !== null && _h !== void 0 ? _h : 'absolute',
84
84
  // This needed so the menu is not clipped by overflow: hidden
85
85
  menuPortalTarget: document.body, isClearable: props.isClearable, onChange: (option) => {
86
86
  if (props.isMulti) {
package/src/env.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export default {
2
2
  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: 1711543401633 || Date.now(),
4
- VERSION: "18.0.0-canary.17" || '--current-version--',
3
+ PUBLISH_TIMESTAMP: 1711969907121 || Date.now(),
4
+ VERSION: "18.0.0-canary.19" || '--current-version--',
5
5
  };
@@ -563,12 +563,6 @@ export declare const ADAPTABLE_METAMODEL: {
563
563
  desc: string;
564
564
  isOpt?: undefined;
565
565
  ref?: undefined;
566
- } | {
567
- name: string;
568
- kind: string;
569
- desc: string;
570
- ref: string;
571
- isOpt?: undefined;
572
566
  } | {
573
567
  name: string;
574
568
  kind: string;
@@ -601,11 +595,17 @@ export declare const ADAPTABLE_METAMODEL: {
601
595
  name: string;
602
596
  kind: string;
603
597
  desc: string;
604
- props: {
598
+ props: ({
605
599
  name: string;
606
600
  kind: string;
607
601
  desc: string;
608
- }[];
602
+ isOpt?: undefined;
603
+ } | {
604
+ name: string;
605
+ kind: string;
606
+ desc: string;
607
+ isOpt: boolean;
608
+ })[];
609
609
  };
610
610
  AdaptableNotes: {
611
611
  name: string;
@@ -1965,6 +1965,11 @@ export declare const ADAPTABLE_METAMODEL: {
1965
1965
  ref: string;
1966
1966
  }[];
1967
1967
  };
1968
+ CommentLoadContext: {
1969
+ name: string;
1970
+ kind: string;
1971
+ desc: string;
1972
+ };
1968
1973
  CommentOptions: {
1969
1974
  name: string;
1970
1975
  kind: string;
@@ -3650,14 +3655,6 @@ export declare const ADAPTABLE_METAMODEL: {
3650
3655
  noCode: string;
3651
3656
  defVal: string;
3652
3657
  gridInfo?: undefined;
3653
- } | {
3654
- name: string;
3655
- kind: string;
3656
- desc: string;
3657
- isOpt: boolean;
3658
- gridInfo: string;
3659
- defVal: string;
3660
- noCode?: undefined;
3661
3658
  })[];
3662
3659
  };
3663
3660
  HandleFdc3Context: {