@adaptabletools/adaptable 11.1.7 → 11.1.10

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 (204) hide show
  1. package/base.css +16 -0
  2. package/bundle.cjs.js +106 -106
  3. package/index.css +20 -0
  4. package/package.json +1 -1
  5. package/publishTimestamp.d.ts +1 -1
  6. package/publishTimestamp.js +1 -1
  7. package/src/AdaptableInterfaces/IAdaptable.d.ts +2 -1
  8. package/src/AdaptableOptions/AdaptableOptions.d.ts +1 -1
  9. package/src/AdaptableOptions/AlertOptions.d.ts +9 -2
  10. package/src/AdaptableOptions/FinancePluginOptions.d.ts +57 -16
  11. package/src/AdaptableOptions/GeneralOptions.d.ts +7 -0
  12. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +7 -0
  13. package/src/Api/AdaptableApi.d.ts +5 -0
  14. package/src/Api/CellSummaryApi.d.ts +8 -0
  15. package/src/Api/ColumnApi.d.ts +6 -1
  16. package/src/Api/ConfigApi.d.ts +8 -2
  17. package/src/Api/Implementation/AdaptableApiImpl.d.ts +2 -0
  18. package/src/Api/Implementation/AdaptableApiImpl.js +2 -0
  19. package/src/Api/Implementation/AlertApiImpl.js +32 -15
  20. package/src/Api/Implementation/CellSummaryApiImpl.d.ts +2 -0
  21. package/src/Api/Implementation/CellSummaryApiImpl.js +34 -0
  22. package/src/Api/Implementation/ColumnApiImpl.d.ts +2 -1
  23. package/src/Api/Implementation/ColumnApiImpl.js +7 -3
  24. package/src/Api/Implementation/ConfigApiImpl.d.ts +2 -2
  25. package/src/Api/Implementation/ConfigApiImpl.js +8 -29
  26. package/src/Api/Implementation/GridApiImpl.js +0 -4
  27. package/src/Api/Implementation/InternalApiImpl.d.ts +2 -1
  28. package/src/Api/Implementation/InternalApiImpl.js +29 -7
  29. package/src/Api/Implementation/LayoutApiImpl.d.ts +5 -4
  30. package/src/Api/Implementation/LayoutApiImpl.js +13 -7
  31. package/src/Api/Implementation/QueryApiImpl.d.ts +1 -0
  32. package/src/Api/Implementation/QueryApiImpl.js +12 -0
  33. package/src/Api/Implementation/StatusBarApiImpl.d.ts +8 -0
  34. package/src/Api/Implementation/StatusBarApiImpl.js +17 -0
  35. package/src/Api/InternalApi.d.ts +2 -1
  36. package/src/Api/LayoutApi.d.ts +16 -9
  37. package/src/Api/QueryApi.d.ts +6 -0
  38. package/src/Api/StatusBarApi.d.ts +10 -0
  39. package/src/Api/StatusBarApi.js +2 -0
  40. package/src/PredefinedConfig/AdaptableState.d.ts +20 -8
  41. package/src/PredefinedConfig/Common/FDC3Context.d.ts +61 -29
  42. package/src/PredefinedConfig/Common/Types.d.ts +6 -3
  43. package/src/PredefinedConfig/Common/Types.js +32 -1
  44. package/src/PredefinedConfig/FlashingCellState.d.ts +1 -1
  45. package/src/PredefinedConfig/FormatColumnState.d.ts +1 -1
  46. package/src/PredefinedConfig/GridState.d.ts +1 -1
  47. package/src/PredefinedConfig/PredefinedConfig.d.ts +5 -0
  48. package/src/PredefinedConfig/StatusBarState.d.ts +27 -0
  49. package/src/PredefinedConfig/StatusBarState.js +7 -0
  50. package/src/PredefinedConfig/ToolPanelState.d.ts +1 -1
  51. package/src/Redux/ActionsReducers/GridRedux.d.ts +2 -2
  52. package/src/Redux/ActionsReducers/GridRedux.js +4 -4
  53. package/src/Redux/ActionsReducers/StatusBarRedux.d.ts +22 -0
  54. package/src/Redux/ActionsReducers/StatusBarRedux.js +31 -0
  55. package/src/Redux/ActionsReducers/SystemRedux.d.ts +8 -3
  56. package/src/Redux/ActionsReducers/SystemRedux.js +22 -5
  57. package/src/Redux/Store/AdaptableReduxMerger.js +2 -2
  58. package/src/Redux/Store/AdaptableStore.js +24 -10
  59. package/src/Strategy/AlertModule.d.ts +3 -0
  60. package/src/Strategy/AlertModule.js +6 -0
  61. package/src/Strategy/CellSummaryModule.d.ts +6 -0
  62. package/src/Strategy/CellSummaryModule.js +14 -0
  63. package/src/Strategy/DataChangeHistoryModule.d.ts +7 -0
  64. package/src/Strategy/DataChangeHistoryModule.js +11 -0
  65. package/src/Strategy/ExportModule.d.ts +1 -0
  66. package/src/Strategy/ExportModule.js +1 -0
  67. package/src/Strategy/FilterModule.d.ts +6 -0
  68. package/src/Strategy/FilterModule.js +21 -0
  69. package/src/Strategy/Interface/IModule.d.ts +21 -10
  70. package/src/Strategy/LayoutModule.d.ts +7 -0
  71. package/src/Strategy/LayoutModule.js +14 -1
  72. package/src/Strategy/QueryModule.d.ts +8 -0
  73. package/src/Strategy/QueryModule.js +18 -0
  74. package/src/Strategy/QuickSearchModule.d.ts +6 -0
  75. package/src/Strategy/QuickSearchModule.js +10 -0
  76. package/src/Strategy/StatusBarModule.d.ts +8 -0
  77. package/src/Strategy/StatusBarModule.js +39 -0
  78. package/src/Strategy/SystemStatusModule.d.ts +6 -0
  79. package/src/Strategy/SystemStatusModule.js +10 -0
  80. package/src/Strategy/ThemeModule.d.ts +7 -0
  81. package/src/Strategy/ThemeModule.js +12 -0
  82. package/src/Strategy/Utilities/getAlertBehaviourViewItems.js +1 -1
  83. package/src/Utilities/Constants/GeneralConstants.d.ts +1 -0
  84. package/src/Utilities/Constants/GeneralConstants.js +2 -1
  85. package/src/Utilities/Constants/ModuleConstants.d.ts +1 -0
  86. package/src/Utilities/Constants/ModuleConstants.js +2 -1
  87. package/src/Utilities/Defaults/DefaultAdaptableOptions.js +4 -1
  88. package/src/Utilities/Defaults/DefaultSettingsPanel.js +1 -0
  89. package/src/Utilities/Services/ModuleService.js +6 -6
  90. package/src/View/AdaptablePopover/index.d.ts +1 -0
  91. package/src/View/AdaptablePopover/index.js +5 -2
  92. package/src/View/AdaptableViewFactory.js +2 -2
  93. package/src/View/Alert/AlertStatusSubPanel.d.ts +2 -0
  94. package/src/View/Alert/AlertStatusSubPanel.js +56 -0
  95. package/src/View/Alert/AlertViewPanel.js +6 -7
  96. package/src/View/Alert/AlertsPanel.d.ts +1 -1
  97. package/src/View/Alert/AlertsPanel.js +2 -1
  98. package/src/View/Alert/Utilities/getAlertButtonStyle.d.ts +5 -0
  99. package/src/View/Alert/Utilities/getAlertButtonStyle.js +15 -0
  100. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +18 -7
  101. package/src/View/Alert/Wizard/AlertButtonsEditor.js +1 -8
  102. package/src/View/Alert/Wizard/AlertWizard.js +3 -2
  103. package/src/View/CellSummary/CellSummaryStatusBarSubPanelPopover.d.ts +2 -0
  104. package/src/View/CellSummary/CellSummaryStatusBarSubPanelPopover.js +15 -0
  105. package/src/View/CellSummary/CellSummaryStatusPanel.d.ts +2 -0
  106. package/src/View/CellSummary/CellSummaryStatusPanel.js +36 -0
  107. package/src/View/CellSummary/CellSummaryViewPanel.js +2 -20
  108. package/src/View/ColorPicker.d.ts +1 -1
  109. package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
  110. package/src/View/Components/AdaptableInput/index.d.ts +1 -1
  111. package/src/View/Components/Buttons/ButtonDelete.d.ts +1 -1
  112. package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.d.ts +1 -1
  113. package/src/View/Components/Forms/AdaptableFormControlTextClear.d.ts +1 -1
  114. package/src/View/Components/Forms/AdaptableFormControlTextClear.js +1 -1
  115. package/src/View/Components/Panels/PanelWithImage.d.ts +6 -6
  116. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +5 -4
  117. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +1 -1
  118. package/src/View/Components/RangesComponent.js +6 -2
  119. package/src/View/Components/StyleComponent.js +18 -6
  120. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +1 -1
  121. package/src/View/Components/ToolPanel/ToolPanelPopup.js +3 -3
  122. package/src/View/Dashboard/DashboardPopup.js +2 -2
  123. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +5 -13
  124. package/src/View/DataChangeHistory/DataChangeHistoryStatusBarContent.d.ts +2 -0
  125. package/src/View/DataChangeHistory/DataChangeHistoryStatusBarContent.js +9 -0
  126. package/src/View/DataChangeHistory/DataChangeHistoryViewPanel.d.ts +4 -16
  127. package/src/View/DataChangeHistory/DataChangeHistoryViewPanel.js +32 -40
  128. package/src/View/Filter/ActiveFiltersPanel.d.ts +0 -2
  129. package/src/View/Filter/FilterStatusBarSubPanelPopover.d.ts +2 -0
  130. package/src/View/Filter/FilterStatusBarSubPanelPopover.js +18 -0
  131. package/src/View/Filter/FilterViewPanel.js +1 -1
  132. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +1 -1
  133. package/src/View/GridInfo/GridInfoPopup.js +4 -1
  134. package/src/View/Layout/EditCurrentLayoutButton.d.ts +2 -0
  135. package/src/View/Layout/EditCurrentLayoutButton.js +14 -0
  136. package/src/View/Layout/LayoutPopup.d.ts +1 -1
  137. package/src/View/Layout/LayoutPopup.js +3 -3
  138. package/src/View/Layout/LayoutRadioSelector.d.ts +1 -0
  139. package/src/View/Layout/LayoutRadioSelector.js +2 -2
  140. package/src/View/Layout/LayoutStatusBarSubPanelPopover.d.ts +2 -0
  141. package/src/View/Layout/LayoutStatusBarSubPanelPopover.js +29 -0
  142. package/src/View/Layout/Wizard/LayoutEditor/ColumnLabels.js +2 -1
  143. package/src/View/Layout/Wizard/LayoutEditor/index.js +1 -1
  144. package/src/View/Layout/Wizard/LayoutEditorWizard.js +2 -1
  145. package/src/View/Query/EditCurrentQueryButton.d.ts +2 -0
  146. package/src/View/Query/EditCurrentQueryButton.js +15 -0
  147. package/src/View/Query/QueryViewPanel.d.ts +0 -1
  148. package/src/View/Query/QueryViewPanel.js +2 -11
  149. package/src/View/QuickSearch/QuickSearchPopup.js +1 -1
  150. package/src/View/QuickSearch/QuickSearchStatusBarContent.d.ts +2 -0
  151. package/src/View/QuickSearch/QuickSearchStatusBarContent.js +16 -0
  152. package/src/View/StateManagement/StateManagementPopup.js +9 -7
  153. package/src/View/StateManagement/StateManagementViewPanel.js +1 -2
  154. package/src/View/StateManagement/components/ExportDropdown.d.ts +1 -1
  155. package/src/View/StateManagement/components/ExportDropdown.js +3 -7
  156. package/src/View/StateManagement/handleExportState.d.ts +1 -1
  157. package/src/View/StatusBar/AdaptableStatusBar.d.ts +3 -0
  158. package/src/View/StatusBar/AdaptableStatusBar.js +44 -0
  159. package/src/View/StatusBar/StatusBarPanel.d.ts +42 -0
  160. package/src/View/StatusBar/StatusBarPanel.js +45 -0
  161. package/src/View/StatusBar/StatusBarPopup.d.ts +3 -0
  162. package/src/View/StatusBar/StatusBarPopup.js +43 -0
  163. package/src/View/SystemStatus/SystemStatusStatusBarContent.d.ts +2 -0
  164. package/src/View/SystemStatus/SystemStatusStatusBarContent.js +15 -0
  165. package/src/View/SystemStatus/SystemStatusViewPanel.js +3 -7
  166. package/src/View/SystemStatus/Utilities/getStatusItemStyle.d.ts +5 -0
  167. package/src/View/SystemStatus/Utilities/getStatusItemStyle.js +16 -0
  168. package/src/View/Theme/ThemeStatusPanelPopover.d.ts +2 -0
  169. package/src/View/Theme/ThemeStatusPanelPopover.js +36 -0
  170. package/src/agGrid/Adaptable.d.ts +2 -0
  171. package/src/agGrid/Adaptable.js +30 -3
  172. package/src/agGrid/agGridHelper.js +2 -0
  173. package/src/agGrid/agGridMenuHelper.js +2 -2
  174. package/src/agGrid/createAgStatusPanelComponent.d.ts +21 -0
  175. package/src/agGrid/createAgStatusPanelComponent.js +31 -0
  176. package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +1 -1
  177. package/src/components/Dashboard/DashboardManager.js +9 -162
  178. package/src/components/Datepicker/index.d.ts +1 -1
  179. package/src/components/DragAndDropContext/DragAndDropContext.d.ts +7 -0
  180. package/src/components/DragAndDropContext/DragAndDropContext.js +14 -0
  181. package/src/components/DragAndDropContext/ModuleManager.d.ts +17 -0
  182. package/src/components/DragAndDropContext/ModuleManager.js +81 -0
  183. package/src/components/DragAndDropContext/TabList.d.ts +29 -0
  184. package/src/components/DragAndDropContext/TabList.js +72 -0
  185. package/src/components/DragAndDropContext/UnusedPanel.d.ts +6 -0
  186. package/src/components/DragAndDropContext/UnusedPanel.js +46 -0
  187. package/src/components/DragAndDropContext/types.d.ts +8 -0
  188. package/src/components/DragAndDropContext/types.js +2 -0
  189. package/src/components/FormLayout/index.d.ts +1 -0
  190. package/src/components/Input/index.d.ts +1 -1
  191. package/src/components/List/ListGroupItem/index.d.ts +1 -1
  192. package/src/components/PopupWithFooter.d.ts +1 -1
  193. package/src/components/SimpleButton/index.js +3 -0
  194. package/src/components/Textarea/index.d.ts +1 -1
  195. package/src/components/icons/DefaultIcon.d.ts +2 -1
  196. package/src/components/icons/DefaultIcon.js +2 -2
  197. package/src/components/icons/index.js +2 -0
  198. package/src/components/icons/statusbar.d.ts +3 -0
  199. package/src/components/icons/statusbar.js +8 -0
  200. package/src/metamodel/adaptable.metamodel.d.ts +236 -0
  201. package/src/metamodel/adaptable.metamodel.js +466 -47
  202. package/src/types.d.ts +5 -4
  203. package/version.d.ts +1 -1
  204. package/version.js +1 -1
@@ -89,13 +89,8 @@ export declare const PanelWithImage: React.ForwardRefExoticComponent<{
89
89
  type?: string;
90
90
  min?: string | number;
91
91
  rows?: number;
92
- download?: any;
93
- value?: string | number | readonly string[];
94
- checked?: boolean;
95
- onClick?: ((event: React.MouseEvent<HTMLElement, MouseEvent>) => void) & ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void);
96
92
  name?: string;
97
- colSpan?: number;
98
- rowSpan?: number;
93
+ value?: string | number | readonly string[];
99
94
  className?: string;
100
95
  id?: string;
101
96
  lang?: string;
@@ -240,6 +235,7 @@ export declare const PanelWithImage: React.ForwardRefExoticComponent<{
240
235
  onWaitingCapture?: ((event: React.SyntheticEvent<HTMLElement, Event>) => void) & ((event: React.SyntheticEvent<HTMLDivElement, Event>) => void);
241
236
  onAuxClick?: ((event: React.MouseEvent<HTMLElement, MouseEvent>) => void) & ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void);
242
237
  onAuxClickCapture?: ((event: React.MouseEvent<HTMLElement, MouseEvent>) => void) & ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void);
238
+ onClick?: ((event: React.MouseEvent<HTMLElement, MouseEvent>) => void) & ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void);
243
239
  onClickCapture?: ((event: React.MouseEvent<HTMLElement, MouseEvent>) => void) & ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void);
244
240
  onContextMenu?: ((event: React.MouseEvent<HTMLElement, MouseEvent>) => void) & ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void);
245
241
  onContextMenuCapture?: ((event: React.MouseEvent<HTMLElement, MouseEvent>) => void) & ((event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void);
@@ -358,6 +354,7 @@ export declare const PanelWithImage: React.ForwardRefExoticComponent<{
358
354
  kind?: string;
359
355
  src?: string;
360
356
  srcLang?: string;
357
+ download?: any;
361
358
  alt?: string;
362
359
  coords?: string;
363
360
  shape?: string;
@@ -392,6 +389,7 @@ export declare const PanelWithImage: React.ForwardRefExoticComponent<{
392
389
  srcSet?: string;
393
390
  accept?: string;
394
391
  capture?: boolean | "environment" | "user";
392
+ checked?: boolean;
395
393
  maxLength?: number;
396
394
  minLength?: number;
397
395
  readOnly?: boolean;
@@ -404,7 +402,9 @@ export declare const PanelWithImage: React.ForwardRefExoticComponent<{
404
402
  scoped?: boolean;
405
403
  cellPadding?: string | number;
406
404
  cellSpacing?: string | number;
405
+ colSpan?: number;
407
406
  headers?: string;
407
+ rowSpan?: number;
408
408
  scope?: string;
409
409
  cols?: number;
410
410
  poster?: string;
@@ -11,7 +11,7 @@ const AdaptableObjectList_1 = require("../../AdaptableObjectList");
11
11
  const ButtonNew_1 = require("../../Buttons/ButtonNew");
12
12
  const PopupPanel_1 = require("./PopupPanel");
13
13
  exports.AdaptablePopupModuleView = (props) => {
14
- var _a, _b, _c, _d;
14
+ var _a, _b, _c, _d, _e;
15
15
  /**
16
16
  * This triggers an render for each redux change.
17
17
  * Not sure yet how to trigger this component to render when an item is edited.
@@ -48,10 +48,11 @@ exports.AdaptablePopupModuleView = (props) => {
48
48
  else if (typeof emptyView === 'string') {
49
49
  emptyContent = emptyView;
50
50
  }
51
+ const toolTipText = (_d = moduleViewProperties.newTooltipText) !== null && _d !== void 0 ? _d : `Create ${moduleInfo.FriendlyName}`;
51
52
  // Some modules do not have new button
52
53
  // e.g. filter
53
54
  let newButton = null;
54
- if ((_d = moduleViewProperties === null || moduleViewProperties === void 0 ? void 0 : moduleViewProperties.abObjectTypes) === null || _d === void 0 ? void 0 : _d.length) {
55
+ if ((_e = moduleViewProperties === null || moduleViewProperties === void 0 ? void 0 : moduleViewProperties.abObjectTypes) === null || _e === void 0 ? void 0 : _e.length) {
55
56
  const items = moduleViewProperties === null || moduleViewProperties === void 0 ? void 0 : moduleViewProperties.abObjectTypes.map((abObjectType) => {
56
57
  var _a;
57
58
  return {
@@ -63,12 +64,12 @@ exports.AdaptablePopupModuleView = (props) => {
63
64
  label: (_a = abObjectType.label) !== null && _a !== void 0 ? _a : abObjectType.name,
64
65
  };
65
66
  });
66
- newButton = (React.createElement(DropdownButton_1.default, { tone: "accent", variant: "raised", columns: ['label'], items: items, tooltip: 'Create ' + moduleInfo.FriendlyName },
67
+ newButton = (React.createElement(DropdownButton_1.default, { tone: "accent", variant: "raised", columns: ['label'], items: items, tooltip: toolTipText },
67
68
  React.createElement(icons_1.Icon, { name: "plus" }),
68
69
  " New"));
69
70
  }
70
71
  else if (EditWizard || moduleViewProperties.onOpenEditPopup) {
71
- newButton = (React.createElement(ButtonNew_1.ButtonNew, { onClick: () => handleOpenEditPopup(), tooltip: 'Create ' + moduleInfo.FriendlyName, accessLevel: props.accessLevel, style: {
72
+ newButton = (React.createElement(ButtonNew_1.ButtonNew, { onClick: () => handleOpenEditPopup(), tooltip: toolTipText, accessLevel: props.accessLevel, style: {
72
73
  color: 'var(--ab-color-text-on-add)',
73
74
  fill: 'var(--ab-color-text-on-add)',
74
75
  background: 'var(--ab-color-action-add)',
@@ -10,7 +10,7 @@ const PopupRedux = tslib_1.__importStar(require("../../../../Redux/ActionsReduce
10
10
  exports.useMenuItems = () => {
11
11
  const adaptable = AdaptableContext_1.useAdaptable();
12
12
  const settingsPanelOptions = adaptable.adaptableOptions.settingsPanelOptions;
13
- const allMenuItems = react_redux_1.useSelector((state) => { var _a; return (_a = state === null || state === void 0 ? void 0 : state.Grid) === null || _a === void 0 ? void 0 : _a.ModuleDropdownMenuItems; });
13
+ const allMenuItems = react_redux_1.useSelector((state) => { var _a; return (_a = state === null || state === void 0 ? void 0 : state.Grid) === null || _a === void 0 ? void 0 : _a.SettingPanelModuleMenuItems; });
14
14
  return React.useMemo(() => {
15
15
  var _a;
16
16
  let navigationItems = (_a = settingsPanelOptions === null || settingsPanelOptions === void 0 ? void 0 : settingsPanelOptions.navigation) === null || _a === void 0 ? void 0 : _a.items;
@@ -74,7 +74,11 @@ class RangesComponent extends React.Component {
74
74
  React.createElement(Tabs_1.Tabs.Tab, null, "Column Comparison"),
75
75
  React.createElement(Tabs_1.Tabs.Content, null,
76
76
  React.createElement(rebass_1.Flex, { flexDirection: "column", key: 'cc', "data-name": "percent-bar-column-comparison" },
77
- React.createElement(rebass_1.Text, { padding: 2, fontSize: 2 }, "Create Minimum and Maximum Values by providing a value or selecting another Column, and choose a Colour for the Bar."),
77
+ React.createElement(rebass_1.Text, { padding: 2, fontSize: 2 },
78
+ "Create Minimum and Maximum Values by providing a value or selecting another Column, and choose a",
79
+ ' ',
80
+ this.props.api.internalApi.getCorrectEnglishVariant('Colour'),
81
+ " for the Bar."),
78
82
  React.createElement(FormLayout_1.default, { columns: ['label', 'first', 'or', 'second'], sizes: ['auto', 'auto', 'auto', '1fr'] },
79
83
  React.createElement(FormLayout_1.FormRow, { label: "Min Value:", first: React.createElement(Input_1.default, { type: "number", value: comparisonMinValueNumber, onChange: (e) => {
80
84
  this.changeColumnComparisonMinValue(e);
@@ -83,7 +87,7 @@ class RangesComponent extends React.Component {
83
87
  React.createElement(FormLayout_1.FormRow, { label: "Max Value:", first: React.createElement(Input_1.default, { type: "number", value: comparisonMaxValueNumber, onChange: (e) => {
84
88
  this.changeColumnComparisonMaxValue(e);
85
89
  } }), or: "OR", second: React.createElement(ColumnSelector_1.ColumnSelector, { style: { maxWidth: '15rem' }, SelectedColumnIds: [comparisonMaxValueColumnId], ColumnList: this.props.api.columnApi.getNumericColumns(), onColumnChange: (columns) => this.onMaxColumnSelectedChanged(columns), SelectionMode: Enums_1.SelectionMode.Single }) }),
86
- React.createElement(FormLayout_1.FormRow, { label: "Bar Colour:", first: React.createElement(ColorPicker_1.ColorPicker, { api: this.props.api, value: comparisonColor, onChange: (color) => {
90
+ React.createElement(FormLayout_1.FormRow, { label: `Bar ${this.props.api.internalApi.getCorrectEnglishVariant('Colour')}`, first: React.createElement(ColorPicker_1.ColorPicker, { api: this.props.api, value: comparisonColor, onChange: (color) => {
87
91
  this.changeColumnComparisonColor(color);
88
92
  } }) }))))))));
89
93
  }
@@ -34,6 +34,8 @@ class StyleComponent extends React.Component {
34
34
  'data-name': 'style-component',
35
35
  };
36
36
  const styleClassNames = this.props.api.userInterfaceApi.getStyleClassNames();
37
+ const colourSpellingVariant = this.props.api.internalApi.getCorrectEnglishVariant('Colour');
38
+ const coloursSpellingVariant = this.props.api.internalApi.getCorrectEnglishVariant('colours');
37
39
  return (React.createElement(Cmp, Object.assign({}, cmpProps),
38
40
  ArrayExtensions_1.default.IsNotNullOrEmpty(styleClassNames) && (React.createElement(rebass_1.Flex, { flexDirection: "row", padding: 2 },
39
41
  React.createElement(Radio_1.default, { value: "Predicate", checked: this.state.ShowClassName, onChange: (checked) => this.onShowClassNameChanged(checked) }, "Use Style Class Name"),
@@ -41,8 +43,8 @@ class StyleComponent extends React.Component {
41
43
  React.createElement(Radio_1.default, { marginLeft: 3, value: "Expression", checked: !this.state.ShowClassName, onChange: (checked) => this.onShowClassNameChanged(!checked) }, "Create Style"),
42
44
  ' ')),
43
45
  this.state.ShowClassName ? (React.createElement("div", null,
44
- React.createElement(HelpBlock_1.default, { fontSize: 2 }, 'Choose a style name from the dropdown.'),
45
- React.createElement(DropdownButton_1.default, { margin: 3, placeholder: "Select", variant: "outlined", tone: "none", disabled: ArrayExtensions_1.default.IsNullOrEmpty(styleClassNames), style: {
46
+ React.createElement(HelpBlock_1.default, { fontSize: 2 }, 'Select a CSS Class Name'),
47
+ React.createElement(DropdownButton_1.default, { margin: 3, placeholder: "Select", variant: "outlined", columns: ['label'], tone: "none", disabled: ArrayExtensions_1.default.IsNullOrEmpty(styleClassNames), style: {
46
48
  minWidth: '15rem',
47
49
  whiteSpace: 'nowrap',
48
50
  overflow: 'hidden',
@@ -55,16 +57,26 @@ class StyleComponent extends React.Component {
55
57
  React.createElement(rebass_1.Text, { color: 'var(--ab-color-warn)', style: { flex: 2 }, margin: 2 }, 'Please ensure that the styles listed are in the current stylesheet'))) : (React.createElement(rebass_1.Flex, { flexDirection: "column" },
56
58
  React.createElement(rebass_1.Flex, { flex: 1 },
57
59
  React.createElement("div", null,
58
- React.createElement(HelpBlock_1.default, { fontSize: 2, marginTop: 2, marginBottom: 2 }, "Set colours by ticking a checkbox and selecting from the dropdown; leave unchecked to use cell's existing colours"),
60
+ React.createElement(HelpBlock_1.default, { fontSize: 2, marginTop: 2, marginBottom: 2 },
61
+ "Set ",
62
+ coloursSpellingVariant,
63
+ " by ticking a checkbox and selecting from the dropdown; leave unchecked to use cell's existing ",
64
+ coloursSpellingVariant),
59
65
  React.createElement(FormLayout_1.default, { columns: [1, 2] },
60
66
  React.createElement(FormLayout_1.FormRow, null,
61
- React.createElement(CheckBox_1.CheckBox, { value: "existing", margin: 1, checked: !!this.state.componentStyle.BackColor, onChange: (checked) => this.onUseBackColorCheckChange(checked) }, "Set Back Colour"),
67
+ React.createElement(CheckBox_1.CheckBox, { value: "existing", margin: 1, checked: !!this.state.componentStyle.BackColor, onChange: (checked) => this.onUseBackColorCheckChange(checked) },
68
+ "Set Back ",
69
+ colourSpellingVariant),
62
70
  this.state.componentStyle.BackColor != null ? (React.createElement(ColorPicker_1.ColorPicker, { api: this.props.api, value: this.state.componentStyle.BackColor, onChange: (x) => this.onBackColorSelectChange(x) })) : (React.createElement("span", null))),
63
71
  React.createElement(FormLayout_1.FormRow, null,
64
- React.createElement(CheckBox_1.CheckBox, { margin: 1, value: "existing", checked: this.state.componentStyle.ForeColor ? true : false, onChange: (checked) => this.onUseForeColorCheckChange(checked) }, "Set Fore Colour"),
72
+ React.createElement(CheckBox_1.CheckBox, { margin: 1, value: "existing", checked: this.state.componentStyle.ForeColor ? true : false, onChange: (checked) => this.onUseForeColorCheckChange(checked) },
73
+ "Set Fore ",
74
+ colourSpellingVariant),
65
75
  this.state.componentStyle.ForeColor != null ? (React.createElement(ColorPicker_1.ColorPicker, { api: this.props.api, value: this.state.componentStyle.ForeColor, onChange: (x) => this.onForeColorSelectChange(x) })) : (React.createElement("span", null))),
66
76
  React.createElement(FormLayout_1.FormRow, null,
67
- React.createElement(CheckBox_1.CheckBox, { margin: 1, value: "existing", checked: this.state.componentStyle.BorderColor ? true : false, onChange: (checked) => this.onUseBorderColorCheckChange(checked) }, "Set Border Colour"),
77
+ React.createElement(CheckBox_1.CheckBox, { margin: 1, value: "existing", checked: this.state.componentStyle.BorderColor ? true : false, onChange: (checked) => this.onUseBorderColorCheckChange(checked) },
78
+ "Set Border ",
79
+ colourSpellingVariant),
68
80
  this.state.componentStyle.BorderColor != null ? (React.createElement(ColorPicker_1.ColorPicker, { api: this.props.api, value: this.state.componentStyle.BorderColor, onChange: (x) => this.onBorderColorSelectChange(x) })) : (React.createElement("span", null)))),
69
81
  React.createElement(HelpBlock_1.default, { fontSize: 2, marginTop: 2, marginBottom: 2 }, "Set the font properties of the Style"),
70
82
  React.createElement(FormLayout_1.default, { columns: [1] },
@@ -216,7 +216,7 @@ function mapStateToProps(state) {
216
216
  return {
217
217
  ToolPanels: state.ToolPanel.ToolPanels,
218
218
  ModuleButtons: state.ToolPanel.ModuleButtons,
219
- MainMenuItems: state.Grid.ModuleDropdownMenuItems,
219
+ MainMenuItems: state.Grid.SettingPanelModuleMenuItems,
220
220
  Columns: state.Grid.Columns,
221
221
  };
222
222
  }
@@ -32,15 +32,15 @@ class ToolPanelPopupComponent extends React.Component {
32
32
  const selectedModuleButtons = [];
33
33
  if (ArrayExtensions_1.default.IsNotNullOrEmpty(this.props.ToolPanelState.ModuleButtons)) {
34
34
  this.props.ToolPanelState.ModuleButtons.forEach((module) => {
35
- let menuItem = this.props.GridState.ModuleDropdownMenuItems.find((m) => m.module == module);
35
+ let menuItem = this.props.GridState.SettingPanelModuleMenuItems.find((m) => m.module == module);
36
36
  if (menuItem === null || menuItem === void 0 ? void 0 : menuItem.isVisible) {
37
37
  selectedModuleButtons.push(module);
38
38
  }
39
39
  });
40
40
  }
41
- const allModuleButtons = this.props.GridState.ModuleDropdownMenuItems.map((x) => x.module);
41
+ const allModuleButtons = this.props.GridState.SettingPanelModuleMenuItems.map((x) => x.module);
42
42
  // 2. process tool panels
43
- const availableModules = this.props.GridState.ModuleDropdownMenuItems.filter((menuItem) => menuItem.isVisible).map((menuItem) => menuItem.module);
43
+ const availableModules = this.props.GridState.SettingPanelModuleMenuItems.filter((menuItem) => menuItem.isVisible).map((menuItem) => menuItem.module);
44
44
  // 'Dashboard' is a special case because it's not available in the dashboard menu items, s we have to add it manually
45
45
  if (!entitlementService.isModuleHiddenEntitlement('Dashboard')) {
46
46
  availableModules.push('Dashboard');
@@ -51,12 +51,12 @@ class DashboardPopupComponent extends React.Component {
51
51
  });
52
52
  let selectedModuleButtons = [];
53
53
  this.props.DashboardState.ModuleButtons.forEach((x) => {
54
- let menuItem = this.props.GridState.ModuleDropdownMenuItems.find((m) => m.module == x);
54
+ let menuItem = this.props.GridState.SettingPanelModuleMenuItems.find((m) => m.module == x);
55
55
  if (menuItem === null || menuItem === void 0 ? void 0 : menuItem.isVisible) {
56
56
  selectedModuleButtons.push(x);
57
57
  }
58
58
  });
59
- const allModuleButtons = this.props.GridState.ModuleDropdownMenuItems.map((x) => x.module);
59
+ const allModuleButtons = this.props.GridState.SettingPanelModuleMenuItems.map((x) => x.module);
60
60
  const baseClassName = 'ab-Dashboard-Popup';
61
61
  const dashboardAccessLevel = this.props.api.internalApi
62
62
  .getEntitlementService()
@@ -103,6 +103,7 @@ const buildAdaptableOptions = (mainAdaptableInstance, gridOptions, adaptableCont
103
103
  columnId: 'undoActionColumn',
104
104
  friendlyName: ' ',
105
105
  includeGroupedRows: true,
106
+ actionColumnSettings: { suppressMenu: true, suppressMovable: true },
106
107
  actionColumnButton: {
107
108
  label: (button, context) => {
108
109
  if (context.adaptableApi.gridApi.isGroupRowNode(context.rowNode)) {
@@ -213,12 +214,10 @@ const buildGridOptions = (mainAdaptableInstance, changeHistoryLog) => {
213
214
  lockPinned: true,
214
215
  // default set to true to pass this to the action column
215
216
  suppressAutoSize: true,
216
- suppressMenu: true,
217
217
  menuTabs: ['generalMenuTab', 'filterMenuTab'],
218
218
  },
219
219
  autoGroupColumnDef: {
220
220
  sortable: true,
221
- suppressMenu: false,
222
221
  },
223
222
  columnDefs: [
224
223
  {
@@ -231,43 +230,38 @@ const buildGridOptions = (mainAdaptableInstance, changeHistoryLog) => {
231
230
  field: 'changeInfo.primaryKeyValue',
232
231
  type: ['abColDefString'],
233
232
  suppressAutoSize: false,
234
- suppressMenu: false,
235
233
  flex: 3,
236
234
  initialFlex: 3,
237
235
  },
238
236
  {
239
- headerName: 'Changed Column',
237
+ headerName: 'Column',
240
238
  field: 'changedColumnLabel',
241
239
  type: ['abColDefString'],
242
240
  suppressAutoSize: false,
243
- suppressMenu: false,
244
241
  flex: 3,
245
242
  initialFlex: 3,
246
243
  },
247
244
  {
248
- headerName: 'Previous Value',
245
+ headerName: 'Previous',
249
246
  field: 'changeInfo.oldValue',
250
247
  type: ['abColDefString'],
251
248
  suppressAutoSize: false,
252
- suppressMenu: false,
253
249
  flex: 3,
254
250
  initialFlex: 3,
255
251
  },
256
252
  {
257
- headerName: 'New Value',
253
+ headerName: 'New',
258
254
  field: 'changeInfo.newValue',
259
255
  type: ['abColDefString'],
260
256
  suppressAutoSize: false,
261
- suppressMenu: false,
262
257
  flex: 3,
263
258
  initialFlex: 3,
264
259
  },
265
260
  {
266
- headerName: 'Changed at',
261
+ headerName: 'Changed',
267
262
  field: 'changeInfo.changedAt',
268
263
  type: ['abColDefDate'],
269
264
  suppressAutoSize: false,
270
- suppressMenu: false,
271
265
  flex: 3,
272
266
  initialFlex: 3,
273
267
  },
@@ -276,7 +270,6 @@ const buildGridOptions = (mainAdaptableInstance, changeHistoryLog) => {
276
270
  field: 'changeTriggerLabel',
277
271
  type: ['abColDefString'],
278
272
  suppressAutoSize: false,
279
- suppressMenu: false,
280
273
  flex: 2,
281
274
  initialFlex: 2,
282
275
  },
@@ -285,7 +278,6 @@ const buildGridOptions = (mainAdaptableInstance, changeHistoryLog) => {
285
278
  enableRangeSelection: true,
286
279
  suppressColumnVirtualisation: false,
287
280
  sideBar: false,
288
- suppressMenuHide: true,
289
281
  rowSelection: 'multiple',
290
282
  skipHeaderOnAutoSize: true,
291
283
  };
@@ -0,0 +1,2 @@
1
+ import * as React from 'react';
2
+ export declare const DataChangeHistoryStatusBarContent: React.FunctionComponent;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DataChangeHistoryStatusBarContent = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const React = tslib_1.__importStar(require("react"));
6
+ const DataChangeHistoryViewPanel_1 = require("./DataChangeHistoryViewPanel");
7
+ exports.DataChangeHistoryStatusBarContent = () => {
8
+ return React.createElement(DataChangeHistoryViewPanel_1.DataChangeHistoryViewPanelControl, { gap: 0, buttonsPaddingY: 0 });
9
+ };
@@ -1,19 +1,7 @@
1
1
  import * as React from 'react';
2
- import { ViewPanelProps } from '../Components/SharedProps/ViewPanelProps';
3
- import { SystemDataChangeHistoryDisableAction, SystemDataChangeHistoryEnableAction, SystemDataChangeHistoryResumeAction, SystemDataChangeHistorySuspendAction } from '../../Redux/ActionsReducers/SystemRedux';
4
- import { DataChangeHistoryMode } from '../../PredefinedConfig/SystemState';
5
- export interface DataChangeHistoryViewPanelProps extends ViewPanelProps {
6
- changeHistoryMode: DataChangeHistoryMode;
7
- activationTime: Date;
8
- suspensionTime: Date;
9
- onChangeHistoryEnable: () => SystemDataChangeHistoryEnableAction;
10
- onChangeHistoryDisable: () => SystemDataChangeHistoryDisableAction;
11
- onChangeHistorySuspend: () => SystemDataChangeHistorySuspendAction;
12
- onChangeHistoryResume: () => SystemDataChangeHistoryResumeAction;
2
+ interface DataChangeHistoryViewPanelControlProps {
3
+ gap?: number;
4
+ buttonsPaddingY?: number;
13
5
  }
14
- declare class DataChangeHistoryViewPanelComponent extends React.Component<DataChangeHistoryViewPanelProps, {}> {
15
- constructor(props: DataChangeHistoryViewPanelProps);
16
- render(): JSX.Element;
17
- }
18
- export declare let DataChangeHistoryViewPanelControl: import("react-redux").ConnectedComponent<typeof DataChangeHistoryViewPanelComponent, Pick<React.ClassAttributes<DataChangeHistoryViewPanelComponent> & DataChangeHistoryViewPanelProps, "ref" | "key">>;
6
+ export declare const DataChangeHistoryViewPanelControl: React.FunctionComponent<DataChangeHistoryViewPanelControlProps>;
19
7
  export {};
@@ -11,46 +11,38 @@ const ButtonPause_1 = require("../Components/Buttons/ButtonPause");
11
11
  const ButtonStop_1 = require("../Components/Buttons/ButtonStop");
12
12
  const FormatHelper_1 = require("../../Utilities/Helpers/FormatHelper");
13
13
  const Tooltip_1 = tslib_1.__importDefault(require("../../components/Tooltip"));
14
- class DataChangeHistoryViewPanelComponent extends React.Component {
15
- constructor(props) {
16
- super(props);
17
- }
18
- render() {
19
- const { changeHistoryMode, activationTime, suspensionTime, onChangeHistoryEnable, onChangeHistoryDisable, onChangeHistorySuspend, onChangeHistoryResume, } = this.props;
20
- const enabled = changeHistoryMode === 'ACTIVE';
21
- const disabled = changeHistoryMode === 'INACTIVE';
22
- const suspended = changeHistoryMode === 'SUSPENDED';
23
- const buttonPanel = (React.createElement(rebass_1.Flex, { className: "ab-DataChangeHistoryPanel--button-panel", paddingY: 2, style: { gap: 'var(--ab-space-1)' } },
24
- disabled && (React.createElement(ButtonPlay_1.ButtonPlay, { className: "ab-DataChangeHistoryPanel--button-activate", "data-name": 'data-change-history--button-activate', tooltip: '', onClick: () => onChangeHistoryEnable() })),
25
- suspended && (React.createElement(ButtonPlay_1.ButtonPlay, { className: "ab-DataChangeHistoryPanel--button-resume", "data-name": 'data-change-history--button-resume', tooltip: 'Resume tracking data changes', onClick: () => onChangeHistoryResume() })),
26
- enabled && (React.createElement(ButtonPause_1.ButtonPause, { className: "ab-DataChangeHistoryPanel--button-suspend", "data-name": 'data-change-history--button-suspend', tooltip: 'Suspend tracking data changes', onClick: () => onChangeHistorySuspend() })),
27
- (enabled || suspended) && (React.createElement(ButtonStop_1.ButtonStop, { className: "ab-DataChangeHistoryPanel--button-deactivate", "data-name": 'data-change-history--button-deactivate', tooltip: 'Deactivate data change tracking', onClick: () => onChangeHistoryDisable() }))));
28
- const dateFormat = `${this.props.api.internalApi.getAdaptableOptions().userInterfaceOptions.dateInputOptions
29
- .dateFormat} HH:mm:ss`;
30
- const statusPanel = (React.createElement(rebass_1.Flex, { className: "ab-DataChangeHistoryPanel--status-panel", alignItems: 'center', style: { gap: 'var(--ab-space-1)' } },
31
- enabled && (React.createElement(Tooltip_1.default, { label: !!activationTime && `since ${FormatHelper_1.DateFormatter(activationTime, { Pattern: dateFormat })}` },
32
- React.createElement(rebass_1.Text, { className: "ab-DataChangeHistoryPanel--status-active", fontSize: 2, style: { color: 'var(--ab-color-success)' } }, "Active"))),
33
- suspended && (React.createElement(Tooltip_1.default, { label: !!suspensionTime && `since ${FormatHelper_1.DateFormatter(suspensionTime, { Pattern: dateFormat })}` },
34
- React.createElement(rebass_1.Text, { className: "ab-DataChangeHistoryPanel--status-suspended", fontSize: 2, style: { color: 'var(--ab-color-warn)' } }, "Suspended"))),
35
- disabled && (React.createElement(rebass_1.Text, { className: "ab-DataChangeHistoryPanel--status-disabled", fontSize: 2 }, "Activate data tracking"))));
36
- return (React.createElement(rebass_1.Flex, { flexDirection: 'row' },
37
- buttonPanel,
38
- statusPanel));
39
- }
40
- }
41
- function mapStateToProps(state) {
42
- return {
14
+ const AdaptableContext_1 = require("../AdaptableContext");
15
+ exports.DataChangeHistoryViewPanelControl = (props) => {
16
+ var _a, _b;
17
+ const adaptable = AdaptableContext_1.useAdaptable();
18
+ const dispatch = react_redux_1.useDispatch();
19
+ const onChangeHistoryEnable = React.useCallback(() => dispatch(SystemRedux_1.SystemDataChangeHistoryEnable()), []);
20
+ const onChangeHistoryDisable = React.useCallback(() => dispatch(SystemRedux_1.SystemDataChangeHistoryDisable()), []);
21
+ const onChangeHistorySuspend = React.useCallback(() => dispatch(SystemRedux_1.SystemDataChangeHistorySuspend()), []);
22
+ const onChangeHistoryResume = React.useCallback(() => dispatch(SystemRedux_1.SystemDataChangeHistoryResume()), []);
23
+ const { changeHistoryMode, activationTime, suspensionTime } = react_redux_1.useSelector((state) => ({
43
24
  changeHistoryMode: state.System.DataChangeHistory.currentMode,
44
25
  activationTime: state.System.DataChangeHistory.enableTime,
45
26
  suspensionTime: state.System.DataChangeHistory.suspendTime,
46
- };
47
- }
48
- function mapDispatchToProps(dispatch) {
49
- return {
50
- onChangeHistoryEnable: () => dispatch(SystemRedux_1.SystemDataChangeHistoryEnable()),
51
- onChangeHistoryDisable: () => dispatch(SystemRedux_1.SystemDataChangeHistoryDisable()),
52
- onChangeHistorySuspend: () => dispatch(SystemRedux_1.SystemDataChangeHistorySuspend()),
53
- onChangeHistoryResume: () => dispatch(SystemRedux_1.SystemDataChangeHistoryResume()),
54
- };
55
- }
56
- exports.DataChangeHistoryViewPanelControl = react_redux_1.connect(mapStateToProps, mapDispatchToProps)(DataChangeHistoryViewPanelComponent);
27
+ }));
28
+ const enabled = changeHistoryMode === 'ACTIVE';
29
+ const disabled = changeHistoryMode === 'INACTIVE';
30
+ const suspended = changeHistoryMode === 'SUSPENDED';
31
+ const gap = (_a = props.gap) !== null && _a !== void 0 ? _a : 'var(--ab-space-1)';
32
+ const buttonsPaddingY = (_b = props.buttonsPaddingY) !== null && _b !== void 0 ? _b : 2;
33
+ const buttonPanel = (React.createElement(rebass_1.Flex, { className: "ab-DataChangeHistoryPanel--button-panel", paddingY: buttonsPaddingY, style: { gap: gap } },
34
+ disabled && (React.createElement(ButtonPlay_1.ButtonPlay, { className: "ab-DataChangeHistoryPanel--button-activate", "data-name": 'data-change-history--button-activate', tooltip: '', onClick: () => onChangeHistoryEnable() })),
35
+ suspended && (React.createElement(ButtonPlay_1.ButtonPlay, { className: "ab-DataChangeHistoryPanel--button-resume", "data-name": 'data-change-history--button-resume', tooltip: 'Resume tracking data changes', onClick: () => onChangeHistoryResume() })),
36
+ enabled && (React.createElement(ButtonPause_1.ButtonPause, { className: "ab-DataChangeHistoryPanel--button-suspend", "data-name": 'data-change-history--button-suspend', tooltip: 'Suspend tracking data changes', onClick: () => onChangeHistorySuspend() })),
37
+ (enabled || suspended) && (React.createElement(ButtonStop_1.ButtonStop, { className: "ab-DataChangeHistoryPanel--button-deactivate", "data-name": 'data-change-history--button-deactivate', tooltip: 'Deactivate data change tracking', onClick: () => onChangeHistoryDisable() }))));
38
+ const dateFormat = `${adaptable.api.internalApi.getAdaptableOptions().userInterfaceOptions.dateInputOptions.dateFormat} HH:mm:ss`;
39
+ const statusPanel = (React.createElement(rebass_1.Flex, { className: "ab-DataChangeHistoryPanel--status-panel", alignItems: 'center', style: { gap: gap } },
40
+ enabled && (React.createElement(Tooltip_1.default, { label: !!activationTime && `since ${FormatHelper_1.DateFormatter(activationTime, { Pattern: dateFormat })}` },
41
+ React.createElement(rebass_1.Text, { className: "ab-DataChangeHistoryPanel--status-active", fontSize: 2, style: { color: 'var(--ab-color-success)' } }, "Active"))),
42
+ suspended && (React.createElement(Tooltip_1.default, { label: !!suspensionTime && `since ${FormatHelper_1.DateFormatter(suspensionTime, { Pattern: dateFormat })}` },
43
+ React.createElement(rebass_1.Text, { className: "ab-DataChangeHistoryPanel--status-suspended", fontSize: 2, style: { color: 'var(--ab-color-warn)' } }, "Suspended"))),
44
+ disabled && (React.createElement(rebass_1.Text, { className: "ab-DataChangeHistoryPanel--status-disabled", fontSize: 2 }, "Activate data tracking"))));
45
+ return (React.createElement(rebass_1.Flex, { flexDirection: 'row' },
46
+ buttonPanel,
47
+ statusPanel));
48
+ };
@@ -1,11 +1,9 @@
1
1
  import * as React from 'react';
2
- import { AdaptableColumn } from '../../PredefinedConfig/Common/AdaptableColumn';
3
2
  import { AdaptableApi } from '../../Api/AdaptableApi';
4
3
  import { ColumnFilter } from '../../PredefinedConfig/FilterState';
5
4
  import { AccessLevel } from '../../PredefinedConfig/Common/Entitlement';
6
5
  export interface ActiveFiltersPanelProps extends React.ClassAttributes<ActiveFiltersPanel> {
7
6
  columnFilters: ColumnFilter[];
8
- columns: AdaptableColumn[];
9
7
  api: AdaptableApi;
10
8
  accessLevel: AccessLevel;
11
9
  onClear: (columnFilter: ColumnFilter) => void;
@@ -0,0 +1,2 @@
1
+ import * as React from 'react';
2
+ export declare const FilterStatusBarSubPanelPopover: React.FunctionComponent;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FilterStatusBarSubPanelPopover = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const React = tslib_1.__importStar(require("react"));
6
+ const react_redux_1 = require("react-redux");
7
+ const ModuleConstants = tslib_1.__importStar(require("../../Utilities/Constants/ModuleConstants"));
8
+ const AdaptableContext_1 = require("../AdaptableContext");
9
+ const ActiveFiltersPanel_1 = require("./ActiveFiltersPanel");
10
+ exports.FilterStatusBarSubPanelPopover = () => {
11
+ const adaptable = AdaptableContext_1.useAdaptable();
12
+ const columnFilters = react_redux_1.useSelector((state) => state.Filter.ColumnFilters);
13
+ const accessLevel = adaptable.api.internalApi
14
+ .getEntitlementService()
15
+ .getEntitlementAccessLevelForModule(ModuleConstants.FilterModuleId);
16
+ const handleClear = React.useCallback((columnFilter) => adaptable.api.filterApi.clearColumnFilterByColumn(columnFilter.ColumnId), []);
17
+ return (React.createElement(ActiveFiltersPanel_1.ActiveFiltersPanel, { columnFilters: columnFilters, api: adaptable.api, accessLevel: accessLevel, onClear: handleClear }));
18
+ };
@@ -16,7 +16,7 @@ class FilterViewPanelComponent extends React.Component {
16
16
  super(props);
17
17
  }
18
18
  render() {
19
- const activeFiltersPanel = (React.createElement(ActiveFiltersPanel_1.ActiveFiltersPanel, { columns: this.props.Columns, columnFilters: this.props.ColumnFilters, api: this.props.api, accessLevel: this.props.accessLevel, onClear: (columnFilter) => this.onClearColumnFilter(columnFilter) }));
19
+ const activeFiltersPanel = (React.createElement(ActiveFiltersPanel_1.ActiveFiltersPanel, { columnFilters: this.props.ColumnFilters, api: this.props.api, accessLevel: this.props.accessLevel, onClear: (columnFilter) => this.onClearColumnFilter(columnFilter) }));
20
20
  const elementType = this.props.viewType === 'Toolbar' ? 'DashboardToolbar' : 'ToolPanel';
21
21
  return (React.createElement(rebass_1.Flex, { flexDirection: "row", className: `ab-${elementType}__Filter__wrap`, flexWrap: this.props.viewType === 'ToolPanel' ? 'wrap' : 'nowrap' },
22
22
  React.createElement(rebass_1.Flex, null, ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(this.props.ColumnFilters) && (React.createElement(React.Fragment, null,
@@ -317,7 +317,7 @@ function FormatColumnStyleWizardSection(props) {
317
317
  "Percent Value",
318
318
  ' '),
319
319
  ' '),
320
- React.createElement(FormLayout_1.FormRow, { label: "Back Colour:" },
320
+ React.createElement(FormLayout_1.FormRow, { label: `Back ${api.internalApi.getCorrectEnglishVariant('Colour')}` },
321
321
  React.createElement(rebass_1.Flex, { alignItems: "center", marginLeft: 2 },
322
322
  React.createElement(CheckBox_1.CheckBox, { checked: !!((_2 = (_1 = data.ColumnStyle) === null || _1 === void 0 ? void 0 : _1.PercentBarStyle) === null || _2 === void 0 ? void 0 : _2.BackColor), onChange: (checked) => onUsePercentStyleColorCheckChanged(checked), mr: 2 }),
323
323
  ((_4 = (_3 = data.ColumnStyle) === null || _3 === void 0 ? void 0 : _3.PercentBarStyle) === null || _4 === void 0 ? void 0 : _4.BackColor) !== undefined && (React.createElement(ColorPicker_1.ColorPicker, { api: api, value: (_6 = (_5 = data.ColumnStyle) === null || _5 === void 0 ? void 0 : _5.PercentBarStyle) === null || _6 === void 0 ? void 0 : _6.BackColor, onChange: (x) => onForeColorSelectChange(x) }))))),
@@ -46,6 +46,7 @@ exports.GridInfoPopup = (props) => {
46
46
  });
47
47
  };
48
48
  const CreateGridSummaries = (colItems) => {
49
+ var _a;
49
50
  const returnRows = [];
50
51
  const calcColumns = props.api.calculatedColumnApi
51
52
  .getAllCalculatedColumn()
@@ -63,7 +64,9 @@ exports.GridInfoPopup = (props) => {
63
64
  })
64
65
  : null;
65
66
  const selectedRowInfo = props.api.gridApi.getSelectedRowInfo();
66
- returnRows.push(createReadOnlyColItem(colItems, 'AdapTable Version', version_1.default));
67
+ if ((_a = props.api.internalApi.getAdaptableOptions().userInterfaceOptions) === null || _a === void 0 ? void 0 : _a.showAdapTableVersion) {
68
+ returnRows.push(createReadOnlyColItem(colItems, 'AdapTable Version', version_1.default));
69
+ }
67
70
  returnRows.push(createReadOnlyColItem(colItems, 'Sorted Columns', ArrayExtensions_1.default.IsNotNullOrEmpty(sorts) ? sorts.join('; ') : 'None'));
68
71
  returnRows.push(createReadOnlyColItem(colItems, 'Column Filters', columnFilterDescription));
69
72
  returnRows.push(createReadOnlyColItem(colItems, 'All Rows', props.api.gridApi.getRowCount()));
@@ -0,0 +1,2 @@
1
+ import * as React from 'react';
2
+ export declare const EditCurrentLayoutButton: React.FunctionComponent;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EditCurrentLayoutButton = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const React = tslib_1.__importStar(require("react"));
6
+ const SimpleButton_1 = tslib_1.__importDefault(require("../../components/SimpleButton"));
7
+ const AdaptableContext_1 = require("../AdaptableContext");
8
+ exports.EditCurrentLayoutButton = () => {
9
+ const adaptable = AdaptableContext_1.useAdaptable();
10
+ const handleClick = React.useCallback(() => {
11
+ adaptable.api.layoutApi.showLayoutEditor();
12
+ }, []);
13
+ return React.createElement(SimpleButton_1.default, { ml: 1, variant: "text", iconSize: 15, icon: "edit", onClick: handleClick });
14
+ };
@@ -28,5 +28,5 @@ declare class LayoutPopupComponent extends React.Component<LayoutPopupProps, Edi
28
28
  canFinishWizard(): boolean;
29
29
  private getCurrentLayout;
30
30
  }
31
- export declare let LayoutPopup: import("react-redux").ConnectedComponent<typeof LayoutPopupComponent, Pick<React.ClassAttributes<LayoutPopupComponent> & LayoutPopupProps, never> & LayoutPopupProps>;
31
+ export declare let LayoutPopup: import("react-redux").ConnectedComponent<typeof LayoutPopupComponent, Pick<React.ClassAttributes<LayoutPopupComponent> & LayoutPopupProps, never>>;
32
32
  export {};
@@ -66,7 +66,7 @@ class LayoutPopupComponent extends React.Component {
66
66
  { Content: 'Details', Size: 7 },
67
67
  { Content: '', Size: 2 },
68
68
  ];
69
- let layoutRows = this.props.Layouts.map((layout, index) => {
69
+ let layoutRows = this.props.Layouts.map((layout) => {
70
70
  let accessLevel = AdaptableHelper_1.default.getAppropriateAccessLevel(layout, this.props.accessLevel);
71
71
  return (React.createElement(LayoutEntityRow_1.LayoutEntityRow, { key: layout.Uuid, colItems: colItems, api: this.props.api, IsCurrentLayout: layout.Name == this.props.CurrentLayoutName, moduleInfo: this.props.moduleInfo, adaptableObject: layout, onEdit: () => this.onEdit(layout), onClone: () => this.onClone(layout), onShare: (config) => this.props.onShare(layout, config), teamSharingActivated: this.props.teamSharingActivated, onDeleteConfirm: LayoutRedux.LayoutDelete(layout), canDelete: this.props.Layouts.length > 1, onSelect: () => this.props.onSelectLayout(layout.Name), accessLevel: accessLevel, cloneAccessLevel: this.props.accessLevel }));
72
72
  });
@@ -128,14 +128,14 @@ class LayoutPopupComponent extends React.Component {
128
128
  return this.props.Layouts.find((layout) => layout.Name == this.props.CurrentLayoutName);
129
129
  }
130
130
  }
131
- function mapStateToProps(state, ownProps) {
131
+ function mapStateToProps(state) {
132
132
  return {
133
133
  Layouts: state.Layout.Layouts,
134
134
  CurrentLayoutName: state.Layout.CurrentLayout,
135
135
  CurrentLayoutDraft: state.Grid.CurrentLayout,
136
136
  };
137
137
  }
138
- function mapDispatchToProps(dispatch, ownProps) {
138
+ function mapDispatchToProps(dispatch) {
139
139
  return {
140
140
  onSaveLayout: (layout) => {
141
141
  // SAVE it when user clicks FINISH, even if autoSave: false
@@ -2,4 +2,5 @@ import * as React from 'react';
2
2
  import { Layout } from '../../../types';
3
3
  export declare const LayoutRadioSelector: React.FunctionComponent<{
4
4
  data: Layout;
5
+ id?: string;
5
6
  }>;
@@ -5,7 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const React = tslib_1.__importStar(require("react"));
6
6
  const Radio_1 = tslib_1.__importDefault(require("../../components/Radio"));
7
7
  const AdaptableContext_1 = require("../AdaptableContext");
8
- exports.LayoutRadioSelector = ({ data }) => {
8
+ exports.LayoutRadioSelector = ({ data, }) => {
9
9
  const adaptable = AdaptableContext_1.useAdaptable();
10
10
  const currentLayout = adaptable.api.layoutApi.getCurrentLayout();
11
11
  const layouts = adaptable.api.layoutApi.getAllLayout();
@@ -14,5 +14,5 @@ exports.LayoutRadioSelector = ({ data }) => {
14
14
  const handleToggle = React.useCallback(() => {
15
15
  adaptable.api.layoutApi.setLayout(data.Name);
16
16
  }, [isSelected]);
17
- return React.createElement(Radio_1.default, { disabled: isDisabled, checked: isSelected, onClick: handleToggle });
17
+ return React.createElement(Radio_1.default, { id: data.Name, disabled: isDisabled, checked: isSelected, onClick: handleToggle });
18
18
  };
@@ -0,0 +1,2 @@
1
+ import * as React from 'react';
2
+ export declare const LayoutStatusBarSubPanelPopover: React.FunctionComponent;