@adaptabletools/adaptable 11.0.0-canary.1 → 11.0.0-canary.5

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 (210) hide show
  1. package/base.css +138 -68
  2. package/bundle.cjs.js +97 -93
  3. package/index.css +140 -68
  4. package/package.json +33 -33
  5. package/publishTimestamp.d.ts +1 -1
  6. package/publishTimestamp.js +1 -1
  7. package/src/AdaptableInterfaces/AdaptableNoCodeWizard.d.ts +7 -5
  8. package/src/AdaptableOptions/AdaptableFrameworkComponent.d.ts +1 -3
  9. package/src/AdaptableOptions/AdaptableOptions.d.ts +10 -1
  10. package/src/AdaptableOptions/AlertOptions.d.ts +82 -0
  11. package/src/AdaptableOptions/AlertOptions.js +2 -0
  12. package/src/AdaptableOptions/ContainerOptions.d.ts +1 -1
  13. package/src/AdaptableOptions/EntitlementOptions.d.ts +1 -1
  14. package/src/AdaptableOptions/FilterOptions.d.ts +1 -1
  15. package/src/AdaptableOptions/NotificationsOptions.d.ts +1 -78
  16. package/src/AdaptableOptions/QueryLanguageOptions.d.ts +0 -4
  17. package/src/AdaptableOptions/StateOptions.d.ts +2 -1
  18. package/src/AdaptableOptions/TeamSharingOptions.d.ts +2 -2
  19. package/src/AdaptableOptions/ToolPanelOptions.d.ts +0 -3
  20. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +2 -2
  21. package/src/Api/AdaptableApi.d.ts +1 -0
  22. package/src/Api/AlertApi.d.ts +2 -3
  23. package/src/Api/EventApi.d.ts +8 -3
  24. package/src/Api/Events/GridDataChanged.d.ts +4 -2
  25. package/src/Api/Events/SystemStatusMessageDisplayed.d.ts +1 -1
  26. package/src/Api/FreeTextColumnApi.d.ts +0 -12
  27. package/src/Api/GridApi.d.ts +5 -4
  28. package/src/Api/IPushPullApi.d.ts +1 -1
  29. package/src/Api/Implementation/AlertApiImpl.d.ts +1 -2
  30. package/src/Api/Implementation/AlertApiImpl.js +15 -9
  31. package/src/Api/Implementation/ApiBase.d.ts +2 -0
  32. package/src/Api/Implementation/ApiBase.js +3 -0
  33. package/src/Api/Implementation/DashboardApiImpl.js +1 -1
  34. package/src/Api/Implementation/FlashingCellApiImpl.js +2 -4
  35. package/src/Api/Implementation/FreeTextColumnApiImpl.d.ts +0 -5
  36. package/src/Api/Implementation/FreeTextColumnApiImpl.js +0 -9
  37. package/src/Api/Implementation/GridApiImpl.d.ts +5 -4
  38. package/src/Api/Implementation/GridApiImpl.js +4 -0
  39. package/src/Api/Implementation/InternalApiImpl.js +2 -2
  40. package/src/Api/Implementation/LayoutApiImpl.d.ts +2 -0
  41. package/src/Api/Implementation/LayoutApiImpl.js +12 -1
  42. package/src/Api/Implementation/QueryApiImpl.js +4 -1
  43. package/src/Api/Implementation/QueryLanguageApiImpl.js +4 -5
  44. package/src/Api/LayoutApi.d.ts +7 -0
  45. package/src/Api/OpenFinApi.d.ts +5 -0
  46. package/src/Api/PluginsApi.d.ts +29 -0
  47. package/src/Api/UserInterfaceApi.d.ts +5 -2
  48. package/src/PredefinedConfig/AlertState.d.ts +2 -4
  49. package/src/PredefinedConfig/CalculatedColumnState.d.ts +0 -1
  50. package/src/PredefinedConfig/Common/CellHighlightInfo.d.ts +1 -12
  51. package/src/PredefinedConfig/Common/DataChangedInfo.d.ts +1 -1
  52. package/src/PredefinedConfig/Common/FDC3Context.d.ts +4 -12
  53. package/src/PredefinedConfig/Common/RowHighlightInfo.d.ts +15 -0
  54. package/src/PredefinedConfig/Common/RowHighlightInfo.js +2 -0
  55. package/src/PredefinedConfig/Common/Types.d.ts +1 -1
  56. package/src/PredefinedConfig/CustomSortState.d.ts +0 -1
  57. package/src/PredefinedConfig/FlashingCellState.d.ts +5 -2
  58. package/src/PredefinedConfig/FreeTextColumnState.d.ts +1 -1
  59. package/src/PredefinedConfig/LayoutState.d.ts +0 -2
  60. package/src/PredefinedConfig/PredefinedConfig.d.ts +5 -2
  61. package/src/PredefinedConfig/SystemState.d.ts +2 -1
  62. package/src/Redux/ActionsReducers/ApplicationRedux.js +9 -3
  63. package/src/Redux/ActionsReducers/FlashingCellRedux.js +4 -8
  64. package/src/Redux/ActionsReducers/GridRedux.js +3 -1
  65. package/src/Redux/ActionsReducers/PopupRedux.js +13 -3
  66. package/src/Redux/ActionsReducers/QuickSearchRedux.js +3 -1
  67. package/src/Redux/ActionsReducers/SystemRedux.d.ts +6 -5
  68. package/src/Redux/ActionsReducers/SystemRedux.js +16 -14
  69. package/src/Redux/ActionsReducers/ThemeRedux.js +3 -1
  70. package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +1 -1
  71. package/src/Redux/Store/AdaptableReduxMerger.js +5 -5
  72. package/src/Redux/Store/AdaptableStore.js +18 -6
  73. package/src/Strategy/AlertModule.js +5 -4
  74. package/src/Strategy/ConditionalStyleModule.js +4 -0
  75. package/src/Strategy/DataChangeHistoryModule.js +1 -1
  76. package/src/Strategy/FlashingCellModule.d.ts +1 -1
  77. package/src/Strategy/FlashingCellModule.js +34 -18
  78. package/src/Strategy/FreeTextColumnModule.d.ts +2 -2
  79. package/src/Strategy/FreeTextColumnModule.js +10 -0
  80. package/src/Strategy/LayoutModule.js +1 -6
  81. package/src/Strategy/TeamSharingModule.js +1 -1
  82. package/src/Strategy/ToolPanelModule.js +5 -3
  83. package/src/Strategy/Utilities/getFlashingTargetViewItems.d.ts +1 -1
  84. package/src/Strategy/Utilities/getFlashingTargetViewItems.js +3 -1
  85. package/src/Strategy/Utilities/getFormatColumnSettingsViewItems.js +1 -1
  86. package/src/Strategy/Utilities/getRuleViewItems.d.ts +0 -1
  87. package/src/Strategy/Utilities/getRuleViewItems.js +0 -1
  88. package/src/Utilities/Defaults/DefaultAdaptableOptions.js +6 -4
  89. package/src/Utilities/ExpressionFunctions/aggregationExpressionFunctions.js +1 -1
  90. package/src/Utilities/ExpressionFunctions/dateUtils.d.ts +1 -0
  91. package/src/Utilities/ExpressionFunctions/dateUtils.js +13 -0
  92. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +1 -1
  93. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +2 -3
  94. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +13 -4
  95. package/src/Utilities/Extensions/StringExtensions.js +1 -1
  96. package/src/Utilities/Helpers/AdaptableHelper.js +3 -2
  97. package/src/Utilities/Helpers/CalendarHelper.js +220 -55
  98. package/src/Utilities/Interface/MessagePopups.d.ts +6 -2
  99. package/src/Utilities/ObjectFactory.js +5 -2
  100. package/src/Utilities/Services/DataService.js +6 -1
  101. package/src/Utilities/Services/LicenseService.js +1 -1
  102. package/src/Utilities/Services/QueryLanguageService.js +16 -11
  103. package/src/Utilities/Services/ReportService.js +7 -3
  104. package/src/Utilities/Services/TeamSharingService.js +5 -3
  105. package/src/View/AdaptablePopover/index.js +6 -1
  106. package/src/View/AdaptableView.js +1 -1
  107. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +5 -1
  108. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationForm.js +5 -2
  109. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/index.js +4 -1
  110. package/src/View/AdaptableWizardView/helper.js +3 -1
  111. package/src/View/Alert/Wizard/AlertButtonsEditor.d.ts +1 -1
  112. package/src/View/Alert/Wizard/AlertButtonsEditor.js +5 -1
  113. package/src/View/Alert/Wizard/AlertRulesWizardSection.d.ts +1 -1
  114. package/src/View/Alert/Wizard/BaseAlertRulesWizardSection.d.ts +2 -3
  115. package/src/View/Alert/Wizard/BaseAlertRulesWizardSection.js +1 -3
  116. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +15 -4
  117. package/src/View/CellSummary/CellSummaryViewPanel.js +1 -2
  118. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +5 -2
  119. package/src/View/Components/FilterForm/FilterForm.js +0 -2
  120. package/src/View/Components/FilterForm/QuickFilterForm.js +8 -7
  121. package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.d.ts +1 -1
  122. package/src/View/Components/ModuleValueSelector/index.js +1 -1
  123. package/src/View/Components/Panels/PanelWithImage.d.ts +1 -1
  124. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.d.ts +0 -3
  125. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +45 -87
  126. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.d.ts +11 -0
  127. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +78 -0
  128. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.d.ts +3 -1
  129. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +19 -6
  130. package/src/View/Components/Popups/AdaptablePopup/Navigation.d.ts +1 -3
  131. package/src/View/Components/Popups/AdaptablePopup/Navigation.js +5 -13
  132. package/src/View/Components/Popups/AdaptablePopup/TopBar.js +5 -4
  133. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.d.ts +2 -0
  134. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +44 -0
  135. package/src/View/Components/Popups/AdaptablePopupConfirmation.js +3 -1
  136. package/src/View/Components/Popups/AdaptablePopupPrompt.d.ts +5 -12
  137. package/src/View/Components/Popups/AdaptablePopupPrompt.js +38 -37
  138. package/src/View/Components/Popups/AdaptablePopupTeamSharing.js +4 -1
  139. package/src/View/Components/ScopeComponent.js +4 -1
  140. package/src/View/Components/SharedProps/ModuleViewPopupProps.d.ts +1 -1
  141. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +1 -1
  142. package/src/View/Components/ToolPanel/CustomToolPanelContent.js +6 -2
  143. package/src/View/Components/ToolPanel/ToolPanelPopup.js +7 -5
  144. package/src/View/Components/ToolPanel/ToolPanelWrapper.js +1 -1
  145. package/src/View/Components/ValueSelector/index.d.ts +2 -1
  146. package/src/View/Components/ValueSelector/index.js +5 -5
  147. package/src/View/ConditionalStyle/Wizard/ConditionalStyleSettingsWizardSettings.d.ts +8 -0
  148. package/src/View/ConditionalStyle/Wizard/ConditionalStyleSettingsWizardSettings.js +27 -0
  149. package/src/View/ConditionalStyle/Wizard/ConditionalStyleWizard.js +17 -5
  150. package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +3 -1
  151. package/src/View/CustomSort/Wizard/CustomSortWizard.js +16 -4
  152. package/src/View/Dashboard/CustomToolbarWrapper.js +5 -1
  153. package/src/View/Dashboard/Dashboard.js +5 -5
  154. package/src/View/Dashboard/DashboardPopup.js +8 -6
  155. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +2 -1
  156. package/src/View/Export/Wizard/NewReportWizard.js +13 -3
  157. package/src/View/Export/Wizard/ReportColumnTypeWizard.js +3 -1
  158. package/src/View/Export/Wizard/ReportRowTypeWizard.js +3 -1
  159. package/src/View/Filter/FilterViewPanel.d.ts +1 -4
  160. package/src/View/Filter/FilterViewPanel.js +1 -3
  161. package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +17 -26
  162. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +19 -2
  163. package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +20 -5
  164. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +1 -1
  165. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +2 -2
  166. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +10 -5
  167. package/src/View/FreeTextColumn/FreeTextColumnSummary.js +1 -2
  168. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +12 -5
  169. package/src/View/GridInfo/AdaptableOptionsComponent.js +4 -1
  170. package/src/View/Layout/Wizard/LayoutEditor/index.js +5 -1
  171. package/src/View/Layout/Wizard/LayoutEditorWizard.js +7 -1
  172. package/src/View/PlusMinus/Wizard/PlusMinusWizard.js +8 -2
  173. package/src/View/Query/ExpandedQueryPopup.js +9 -2
  174. package/src/View/Query/QueryViewPanel.js +15 -10
  175. package/src/View/Query/Wizard/NamedQueryWizard.js +3 -1
  176. package/src/View/QuickSearch/QuickSearchPopup.js +3 -3
  177. package/src/View/QuickSearch/useQuickSearchDebounced.js +1 -1
  178. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsSummary.js +12 -2
  179. package/src/View/Schedule/Wizard/ScheduleWizard.js +14 -14
  180. package/src/View/SpecialColumnSettingsWizardStep.js +1 -1
  181. package/src/View/UIHelper.js +4 -1
  182. package/src/View/Wizard/AdaptableWizard.js +13 -4
  183. package/src/View/Wizard/Interface/IAdaptableWizard.d.ts +2 -0
  184. package/src/View/Wizard/OnePageAdaptableWizard.js +6 -2
  185. package/src/agGrid/Adaptable.d.ts +2 -5
  186. package/src/agGrid/Adaptable.js +126 -73
  187. package/src/agGrid/agGridHelper.js +2 -3
  188. package/src/agGrid/agGridMenuHelper.js +5 -9
  189. package/src/agGrid/editors/AdaptableDateEditor/index.js +1 -1
  190. package/src/agGrid/editors/AdaptableNumberEditor/index.js +1 -1
  191. package/src/components/ApplicationIcon.d.ts +1 -0
  192. package/src/components/ApplicationIcon.js +2 -2
  193. package/src/components/Dashboard/Dashboard.js +4 -1
  194. package/src/components/Dashboard/DashboardManager.d.ts +5 -3
  195. package/src/components/Dashboard/DashboardManager.js +33 -27
  196. package/src/components/Dropdown/index.js +8 -1
  197. package/src/components/DropdownButton/renderItem.js +1 -1
  198. package/src/components/ExpressionEditor/EditorInputReactive.js +3 -1
  199. package/src/components/ExpressionEditor/ExpressionFunctionDocumentation.js +4 -1
  200. package/src/components/ExpressionEditor/index.js +9 -2
  201. package/src/components/FormLayout/index.js +1 -1
  202. package/src/components/OverlayTrigger/Overlay.js +1 -1
  203. package/src/components/SizedContainer/index.js +7 -1
  204. package/src/components/WindowModal/WindowModal.js +4 -1
  205. package/src/metamodel/adaptable.metamodel.d.ts +64 -24
  206. package/src/metamodel/adaptable.metamodel.js +187 -99
  207. package/src/types.d.ts +4 -2
  208. package/themes/dark.css +4 -4
  209. package/version.d.ts +1 -1
  210. package/version.js +1 -1
@@ -3,13 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.bindAdaptableAgGrid = exports.AdaptableNoCodeWizard = exports.Adaptable = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const all_modules_1 = require("@ag-grid-community/all-modules");
6
- const debounce_1 = tslib_1.__importDefault(require("lodash-es/debounce"));
7
- const isEqual_1 = tslib_1.__importDefault(require("lodash-es/isEqual"));
8
- const throttle_1 = tslib_1.__importDefault(require("lodash-es/throttle"));
9
- const uniqBy_1 = tslib_1.__importDefault(require("lodash-es/uniqBy"));
6
+ const debounce_1 = tslib_1.__importDefault(require("lodash/debounce"));
7
+ const isEqual_1 = tslib_1.__importDefault(require("lodash/isEqual"));
8
+ const throttle_1 = tslib_1.__importDefault(require("lodash/throttle"));
9
+ const uniqBy_1 = tslib_1.__importDefault(require("lodash/uniqBy"));
10
10
  const React = tslib_1.__importStar(require("react"));
11
11
  const ReactDOM = tslib_1.__importStar(require("react-dom"));
12
- const clamp_1 = tslib_1.__importDefault(require("lodash-es/clamp"));
12
+ const clamp_1 = tslib_1.__importDefault(require("lodash/clamp"));
13
13
  const AdaptableApiImpl_1 = require("../Api/Implementation/AdaptableApiImpl");
14
14
  const Enums_1 = require("../PredefinedConfig/Common/Enums");
15
15
  const Uuid_1 = require("../PredefinedConfig/Uuid");
@@ -428,8 +428,16 @@ class Adaptable {
428
428
  ReactDOM.render(AdaptableView_1.AdaptableApp({ Adaptable: this }), this.abContainerElement);
429
429
  }
430
430
  // create debounce methods that take a time based on user settings
431
- this.throttleFilterOnEditDataChange = throttle_1.default(this.gridOptions.api.onFilterChanged, this.adaptableOptions.filterOptions.filterActionOnUserDataChange.throttleDelay);
432
- this.throttleFilterOnTickingDataChange = throttle_1.default(this.gridOptions.api.onFilterChanged, this.adaptableOptions.filterOptions.filterActionOnExternalDataChange.throttleDelay);
431
+ this.throttleFilterOnEditDataChange = throttle_1.default(
432
+ // the extra function is to make sure we have a reference to ag-grid-api
433
+ () => this.gridOptions.api.onFilterChanged(), this.adaptableOptions.filterOptions.filterActionOnUserDataChange.throttleDelay, {
434
+ trailing: true,
435
+ leading: false,
436
+ });
437
+ this.throttleFilterOnTickingDataChange = throttle_1.default(() => this.gridOptions.api.onFilterChanged(), this.adaptableOptions.filterOptions.filterActionOnExternalDataChange.throttleDelay, {
438
+ trailing: true,
439
+ leading: false,
440
+ });
433
441
  return this.api;
434
442
  });
435
443
  }
@@ -514,7 +522,7 @@ class Adaptable {
514
522
  this.gridOptions.columnDefs.forEach(assignColId);
515
523
  }
516
524
  if ((_a = this.adaptableOptions.generalOptions) === null || _a === void 0 ? void 0 : _a.hideEmptyGroupRows) {
517
- LoggingHelper_1.LogAdaptableWarning(`DEPRECATED: 'GeneralOptions.hideEmptyGroupRows' is deprecated and will no longer be evaluated!`);
525
+ LoggingHelper_1.ConsoleLogWarning(`DEPRECATED: 'GeneralOptions.hideEmptyGroupRows' is deprecated and will no longer be evaluated!`);
518
526
  // disabled due to showstopper starting with AG Grid v26
519
527
  // the internal implementation of AG Grids GroupCellRenderer has changed A LOT!
520
528
  // this.gridOptions.components = this.gridOptions.components || {};
@@ -730,12 +738,12 @@ class Adaptable {
730
738
  const groupsCount = {};
731
739
  const colsToGroups = columnGroupChildren.reduce((acc, columnGroup) => {
732
740
  var _a, _b, _c;
733
- if (!((_b = (_a = columnGroup.getOriginalColumnGroup) === null || _a === void 0 ? void 0 : _a.call(columnGroup)) === null || _b === void 0 ? void 0 : _b.getColGroupDef())) {
741
+ if (!((_b = (_a = columnGroup.getProvidedColumnGroup) === null || _a === void 0 ? void 0 : _a.call(columnGroup)) === null || _b === void 0 ? void 0 : _b.getColGroupDef())) {
734
742
  return acc;
735
743
  }
736
744
  const ColumnGroupId = columnGroup.getGroupId();
737
- const AllowGroupSplit = !columnGroup.getOriginalColumnGroup().getColGroupDef().marryChildren;
738
- const FriendlyName = (_c = columnGroup.getOriginalColumnGroup().getColGroupDef().headerName) !== null && _c !== void 0 ? _c : ColumnGroupId;
745
+ const AllowGroupSplit = !columnGroup.getProvidedColumnGroup().getColGroupDef().marryChildren;
746
+ const FriendlyName = (_c = columnGroup.getProvidedColumnGroup().getColGroupDef().headerName) !== null && _c !== void 0 ? _c : ColumnGroupId;
739
747
  const columnsInGroup = columnGroup.getLeafColumns();
740
748
  columnsInGroup.forEach((col) => {
741
749
  const group = {
@@ -903,13 +911,12 @@ class Adaptable {
903
911
  }
904
912
  return null;
905
913
  }
906
- getFlashingCellRowStyle(params) {
907
- const primaryKeyValue = this.getPrimaryKeyValueFromRowNode(params.node);
908
- return this.getFlashingCellStyleFor(primaryKeyValue);
909
- }
910
- getFlashingCellStyleFor(primaryKey, colId) {
914
+ getFlashingCellStyle(col, params) {
911
915
  var _a;
912
- const flashingCell = this.api.internalApi.getAdaptableFlashingCellFor(primaryKey, colId);
916
+ const primaryKey = params.node.aggData
917
+ ? params.node.id
918
+ : this.getPrimaryKeyValueFromRowNode(params.node);
919
+ const flashingCell = this.api.internalApi.getAdaptableFlashingCellFor(primaryKey, col.columnId);
913
920
  if (!flashingCell) {
914
921
  return {};
915
922
  }
@@ -919,10 +926,6 @@ class Adaptable {
919
926
  ? flashingCell.flashingCellDefinition.DownChangeStyle
920
927
  : flashingCell.flashingCellDefinition.NeutralChangeStyle)) !== null && _a !== void 0 ? _a : {});
921
928
  }
922
- getFlashingCellStyle(col, params) {
923
- const primaryKeyValue = this.getPrimaryKeyValueFromRowNode(params.node);
924
- return this.getFlashingCellStyleFor(primaryKeyValue, col.columnId);
925
- }
926
929
  getCellHighlightStyle(col, params) {
927
930
  const primaryKeyValue = this.getPrimaryKeyValueFromRowNode(params.node);
928
931
  const cellHightlight = this.api.internalApi
@@ -1111,7 +1114,10 @@ class Adaptable {
1111
1114
  }
1112
1115
  setColumnOrder(VisibleColumnList) {
1113
1116
  const newColumnState = this.getSortedColumnStateForVisibleColumns(VisibleColumnList);
1114
- this.gridOptions.columnApi.applyColumnState({ state: newColumnState, applyOrder: true });
1117
+ this.gridOptions.columnApi.applyColumnState({
1118
+ state: newColumnState,
1119
+ applyOrder: true,
1120
+ });
1115
1121
  this.updateColumnsIntoStore();
1116
1122
  }
1117
1123
  persistLayout(layout) {
@@ -1265,7 +1271,10 @@ class Adaptable {
1265
1271
  if (shouldUpdatePivoted) {
1266
1272
  this.gridOptions.columnApi.setPivotMode(pivoted);
1267
1273
  }
1268
- this.gridOptions.columnApi.applyColumnState({ state: newColState, applyOrder: true });
1274
+ this.gridOptions.columnApi.applyColumnState({
1275
+ state: newColState,
1276
+ applyOrder: true,
1277
+ });
1269
1278
  this.api.gridApi.setColumnSorts(layout.ColumnSorts);
1270
1279
  this.gridOptions.columnApi.setPivotColumns(layout.PivotColumns || []);
1271
1280
  // aggrid 25.1.0 introduced a bug such that a layout that has a grouped column, if the column has enableRowGroup: true but not rowGroup: true
@@ -1431,7 +1440,10 @@ class Adaptable {
1431
1440
  }
1432
1441
  });
1433
1442
  }
1434
- const selectedCellInfo = { columns: columns, gridCells: selectedCells };
1443
+ const selectedCellInfo = {
1444
+ columns: columns,
1445
+ gridCells: selectedCells,
1446
+ };
1435
1447
  this.api.internalApi.setSelectedCells(selectedCellInfo);
1436
1448
  this._emit('CellsSelected');
1437
1449
  this.agGridHelper.fireSelectionChangedEvent();
@@ -1681,18 +1693,15 @@ class Adaptable {
1681
1693
  let returnValue;
1682
1694
  if (this.useRowNodeLookUp) {
1683
1695
  const rowNode = this.gridOptions.api.getRowNode(id);
1684
- const gridCell = this.getGridCellFromRowNode(rowNode, columnId);
1685
- if (gridCell) {
1686
- returnValue = gridCell.displayValue;
1687
- }
1696
+ return this.getDisplayValueFromRowNode(rowNode, columnId);
1688
1697
  }
1689
1698
  else {
1690
1699
  let foundRow = false;
1691
1700
  this.gridOptions.api.getModel().forEachNode((rowNode) => {
1692
1701
  if (!foundRow) {
1693
- const gridCell = this.getGridCellFromRowNode(rowNode, columnId);
1694
- if (gridCell && id == gridCell.primaryKeyValue) {
1695
- returnValue = gridCell.displayValue;
1702
+ const primaryKeyValue = this.getPrimaryKeyValueFromRowNode(rowNode);
1703
+ if (id == primaryKeyValue) {
1704
+ returnValue = this.getDisplayValueFromRowNode(rowNode, columnId);
1696
1705
  }
1697
1706
  foundRow = true;
1698
1707
  }
@@ -1718,15 +1727,14 @@ class Adaptable {
1718
1727
  rowNode: rowNode,
1719
1728
  };
1720
1729
  }
1721
- getDisplayValueFromRowNode(row, columnId) {
1722
- const gridCell = this.getGridCellFromRowNode(row, columnId);
1723
- return gridCell ? gridCell.displayValue : undefined;
1724
- }
1725
- // same as getDisplayValueFromRawValue(), but without evaluating cell renderers (only valueGetters & valueFormatters)
1726
- getFormattedValueFromRawValue(rawValue, columnId) {
1727
- return this.getDisplayValueFromRawValue(columnId, rawValue, true);
1730
+ getDisplayValueFromRowNode(rowNode, columnId) {
1731
+ if (rowNode == null) {
1732
+ return undefined;
1733
+ }
1734
+ const rawValue = this.getRawValueFromRowNode(rowNode, columnId);
1735
+ return this.getDisplayValueFromRawValue(columnId, rawValue);
1728
1736
  }
1729
- getDisplayValueFromRawValue(columnId, rawValue, skipCellRenderers = false) {
1737
+ getDisplayValueFromRawValue(columnId, rawValue) {
1730
1738
  const abColumn = this.api.columnApi.getColumnFromId(columnId);
1731
1739
  const isRenderedColumn = this.api.columnApi.isFormatNumericStyleColumn(abColumn);
1732
1740
  if (isRenderedColumn) {
@@ -1744,14 +1752,17 @@ class Adaptable {
1744
1752
  if (colDef) {
1745
1753
  if (typeof colDef.valueFormatter == 'function') {
1746
1754
  const formattedValue = this.getFormattedValue(rawValue, columnId, colDef, colDef.valueFormatter);
1747
- if (colDef.cellRenderer && !skipCellRenderers) {
1748
- return this.agGridHelper.getRenderedValue(colDef, formattedValue);
1749
- }
1755
+ // Never use cellRenderer:
1756
+ // - when a string, you never know if it is HTML or a normal string
1757
+ // - when an object, cannot be used
1758
+ // if (colDef.cellRenderer && !skipCellRenderers) {
1759
+ // return this.agGridHelper.getRenderedValue(colDef, formattedValue);
1760
+ // }
1750
1761
  return formattedValue || '';
1751
1762
  }
1752
- if (colDef.cellRenderer && !skipCellRenderers) {
1753
- return this.agGridHelper.getRenderedValue(colDef, rawValue);
1754
- }
1763
+ // if (colDef.cellRenderer && !skipCellRenderers) {
1764
+ // return this.agGridHelper.getRenderedValue(colDef, rawValue);
1765
+ // }
1755
1766
  }
1756
1767
  return this.agGridHelper.getCleanValue(rawValue);
1757
1768
  }
@@ -1789,9 +1800,10 @@ class Adaptable {
1789
1800
  if (dataType === 'Boolean') {
1790
1801
  return typeof rawValue !== 'boolean' ? Boolean(rawValue) : returnValue;
1791
1802
  }
1792
- if (dataType === 'Date') {
1793
- return rawValue instanceof Date ? returnValue : new Date(rawValue);
1794
- }
1803
+ // Do not normalize dates to Date type
1804
+ // - breaks when rendering in filter-form
1805
+ // - breaks quick-search; the Date is transformed to string;
1806
+ // -- an incorrect comparison is made (new Date().toString).incudes('query)
1795
1807
  return returnValue;
1796
1808
  }
1797
1809
  getRawValueFromRowNode(rowNode, columnId) {
@@ -2530,10 +2542,9 @@ class Adaptable {
2530
2542
  const node = event.node;
2531
2543
  const result = RowNode_dispatchLocalEvent.apply(this, arguments);
2532
2544
  const extractGridApiFromRowNode = (rowNode) => {
2533
- var _a, _b, _c, _d;
2545
+ var _a, _b;
2534
2546
  // starting with AG Grid 26.1.0 the gridApi is wrapped in a Beans property
2535
- // while older versions than 26.1.0 had a direct property
2536
- const rowNodeApi = (_c = (_b = (_a = rowNode) === null || _a === void 0 ? void 0 : _a.beans) === null || _b === void 0 ? void 0 : _b.gridApi) !== null && _c !== void 0 ? _c : (_d = rowNode) === null || _d === void 0 ? void 0 : _d.gridApi;
2547
+ const rowNodeApi = (_b = (_a = rowNode) === null || _a === void 0 ? void 0 : _a.beans) === null || _b === void 0 ? void 0 : _b.gridApi;
2537
2548
  if (!rowNodeApi) {
2538
2549
  LoggingHelper_1.LogAdaptableWarning(`No GridAPI found in passed RowNode, this should never happen!`, rowNode);
2539
2550
  }
@@ -2643,7 +2654,7 @@ class Adaptable {
2643
2654
  try {
2644
2655
  // it is very important that this method is executed as soon as possible and BEFORE the updateColDefsForSpecialColumns() method
2645
2656
  // this will ensure that the columns are recreated as expected (see method implementation&comments for more details)
2646
- this.cleanupFloatingFilters_WORKAROUND();
2657
+ //this.cleanupFloatingFilters_WORKAROUND();
2647
2658
  this.updateColDefsForSpecialColumns();
2648
2659
  this.applyCurrentTheme();
2649
2660
  this.applyFinalRendering();
@@ -2804,16 +2815,18 @@ class Adaptable {
2804
2815
  readonlyClassName,
2805
2816
  highlightAlertClassName,
2806
2817
  ]
2807
- .filter((x) => !!x)
2808
- .join(' ');
2818
+ // we flatten the array because 'userCellClass' might return a string[]
2819
+ .flat()
2820
+ .filter((x) => !!x);
2821
+ const returnValueHash = returnValue.join(' ');
2809
2822
  const primaryKey = this.getPrimaryKeyValueFromRowNode(params.node);
2810
2823
  const key = `${primaryKey}:${params.colDef.colId}`;
2811
2824
  if (classNameMap[key] &&
2812
- classNameMap[key] !== returnValue &&
2825
+ classNameMap[key] !== returnValueHash &&
2813
2826
  // only hard-reset when removing class-names
2814
2827
  // ag-grid does not remove class-names, it accumulates them
2815
2828
  // https://www.ag-grid.com/javascript-data-grid/cell-styles/#refresh-of-styles
2816
- returnValue.length < ((_a = classNameMap[key]) === null || _a === void 0 ? void 0 : _a.length)) {
2829
+ returnValueHash.length < ((_a = classNameMap[key]) === null || _a === void 0 ? void 0 : _a.length)) {
2817
2830
  setTimeout(() => {
2818
2831
  /**
2819
2832
  * This is called inside a getter function, inside ag-grid.
@@ -2823,14 +2836,18 @@ class Adaptable {
2823
2836
  params.api.redrawRows({ rowNodes: [params.node] });
2824
2837
  }, 0);
2825
2838
  }
2826
- classNameMap[key] = returnValue;
2827
- return StringExtensions_1.StringExtensions.IsNotNullOrEmpty(returnValue) ? returnValue : undefined;
2839
+ classNameMap[key] = returnValueHash;
2840
+ return returnValue.length ? returnValue : undefined;
2828
2841
  };
2829
2842
  return cellClass;
2830
2843
  });
2831
2844
  }
2832
2845
  getExcelClassNameForCell(colId, primaryKeyValue) {
2833
- return `--excel-cell-${colId}-${primaryKeyValue}`;
2846
+ let primaryKeyString = `${primaryKeyValue}`;
2847
+ if (primaryKeyString.indexOf(' ') > 0) {
2848
+ primaryKeyString.replace(/\s/g, '_');
2849
+ }
2850
+ return `--excel-cell-${colId}-${primaryKeyString}`;
2834
2851
  }
2835
2852
  setupColumnCellEditor({ colId, col }) {
2836
2853
  const adaptableColumn = this.api.columnApi.getColumnFromId(colId);
@@ -2921,6 +2938,7 @@ class Adaptable {
2921
2938
  if (!layoutCustomHeader && (formatColumn === null || formatColumn === void 0 ? void 0 : formatColumn.HeaderName) && !formatColumn.IsSuspended) {
2922
2939
  // fallback to the formatColumn property if no Layout custom header is provided
2923
2940
  resultHeaderName = formatColumn.HeaderName;
2941
+ LoggingHelper_1.ConsoleLogWarning(`DEPRECATED: 'FormatColumn.HeaderName' is deprecated: use 'Layout.ColumnHeadersMap' instead`);
2924
2942
  }
2925
2943
  // required here for the initial layout rendering
2926
2944
  abColumn.friendlyName = resultHeaderName;
@@ -3155,14 +3173,30 @@ class Adaptable {
3155
3173
  if (oldValue == newValue) {
3156
3174
  return;
3157
3175
  }
3158
- const primaryKeyValue = this.getPrimaryKeyValueFromRowNode(rowNode);
3159
- if (!primaryKeyValue) {
3160
- return;
3161
- }
3162
3176
  const abColumn = this.api.columnApi.getColumnFromId(colId);
3163
3177
  if (!abColumn) {
3164
3178
  return;
3165
3179
  }
3180
+ if (this.isGroupRowNode(rowNode)) {
3181
+ const dataChangedInfo = this.api.internalApi.buildDataChangedInfo({
3182
+ oldValue: oldValue,
3183
+ newValue: newValue,
3184
+ column: abColumn,
3185
+ /**
3186
+ * A grouped row does not have an underling data item.
3187
+ * Because of this we use the rowNode.id as an identifier.
3188
+ */
3189
+ primaryKeyValue: rowNode.id,
3190
+ rowNode: rowNode,
3191
+ trigger: 'aggChange',
3192
+ });
3193
+ this.DataService.CreateDataChangedEvent(dataChangedInfo);
3194
+ return;
3195
+ }
3196
+ const primaryKeyValue = this.getPrimaryKeyValueFromRowNode(rowNode);
3197
+ if (!primaryKeyValue) {
3198
+ return;
3199
+ }
3166
3200
  const dataChangedInfo = this.api.internalApi.buildDataChangedInfo({
3167
3201
  oldValue: oldValue,
3168
3202
  newValue: newValue,
@@ -3482,7 +3516,10 @@ class Adaptable {
3482
3516
  }
3483
3517
  return state;
3484
3518
  });
3485
- this.gridOptions.columnApi.applyColumnState({ state: newColumnState, applyOrder: true });
3519
+ this.gridOptions.columnApi.applyColumnState({
3520
+ state: newColumnState,
3521
+ applyOrder: true,
3522
+ });
3486
3523
  this.gridOptions.api.onSortChanged();
3487
3524
  }
3488
3525
  clearColumnSort() {
@@ -3539,7 +3576,9 @@ class Adaptable {
3539
3576
  });
3540
3577
  }
3541
3578
  else {
3542
- const transaction = this.gridOptions.api.applyTransaction({ update: dataRows });
3579
+ const transaction = this.gridOptions.api.applyTransaction({
3580
+ update: dataRows,
3581
+ });
3543
3582
  return Promise.resolve(transaction === null || transaction === void 0 ? void 0 : transaction.update);
3544
3583
  }
3545
3584
  }
@@ -3580,7 +3619,9 @@ class Adaptable {
3580
3619
  });
3581
3620
  }
3582
3621
  else {
3583
- const transaction = this.gridOptions.api.applyTransaction({ remove: dataRows });
3622
+ const transaction = this.gridOptions.api.applyTransaction({
3623
+ remove: dataRows,
3624
+ });
3584
3625
  return Promise.resolve(transaction.remove);
3585
3626
  }
3586
3627
  }
@@ -3854,9 +3895,10 @@ import "@adaptabletools/adaptable/themes/${themeName}.css"`);
3854
3895
  alertHighlightClassName,
3855
3896
  this.getConditionalStyleRowClass(conditionalStyles.filter((cs) => StringExtensions_1.StringExtensions.IsNotNullOrEmpty(cs.Style.ClassName)), params),
3856
3897
  ]
3857
- .filter((x) => !!x)
3858
- .join(' ');
3859
- return StringExtensions_1.StringExtensions.IsNotNullOrEmpty(returnValue) ? returnValue : undefined;
3898
+ // we flatten it because 'userGetRowClass' might return a string[]
3899
+ .flat()
3900
+ .filter((x) => !!x);
3901
+ return (returnValue === null || returnValue === void 0 ? void 0 : returnValue.length) ? returnValue : undefined;
3860
3902
  };
3861
3903
  });
3862
3904
  }
@@ -3988,9 +4030,17 @@ import "@adaptabletools/adaptable/themes/${themeName}.css"`);
3988
4030
  const cellStyle = typeof colDef.cellStyle === 'function' ? colDef.cellStyle(cellParams) : {};
3989
4031
  const excelStyles = [];
3990
4032
  // add user defined excel styles
3991
- const userDefinedCellClass = this.getUserColDefProperty(column.getColId(), 'cellClass');
4033
+ let userColDefCellClass = this.getUserColDefProperty(column.getColId(), 'cellClass');
4034
+ const userDefinedCellClass = typeof userColDefCellClass === 'function'
4035
+ ? userColDefCellClass(cellParams)
4036
+ : userColDefCellClass;
3992
4037
  const userDefinedExcelStyle = userDefinedCellClass &&
3993
- userExcelStyles.find((excelStyle) => excelStyle.id === userDefinedCellClass);
4038
+ userExcelStyles.find((excelStyle) => {
4039
+ var _a;
4040
+ return typeof userDefinedCellClass === 'string'
4041
+ ? userDefinedCellClass === excelStyle.id
4042
+ : (_a = userDefinedCellClass === null || userDefinedCellClass === void 0 ? void 0 : userDefinedCellClass.includes) === null || _a === void 0 ? void 0 : _a.call(userDefinedCellClass, excelStyle.id);
4043
+ });
3994
4044
  if (userDefinedExcelStyle) {
3995
4045
  excelStyles.push(userDefinedExcelStyle);
3996
4046
  }
@@ -4008,9 +4058,10 @@ import "@adaptabletools/adaptable/themes/${themeName}.css"`);
4008
4058
  if (!excelStyles.length) {
4009
4059
  return;
4010
4060
  }
4011
- const cellClassId = typeof colDef.cellClass === 'function'
4061
+ const cellClass = typeof colDef.cellClass === 'function'
4012
4062
  ? colDef.cellClass(cellParams)
4013
4063
  : this.getExcelClassNameForCell(column.getId(), this.getPrimaryKeyValueFromRowNode(node));
4064
+ const cellClassId = Array.isArray(cellClass) ? cellClass.join(' ') : cellClass;
4014
4065
  const finalCellExcelStyle = Object.assign({}, ...excelStyles, {
4015
4066
  id: cellClassId,
4016
4067
  });
@@ -4159,7 +4210,9 @@ import "@adaptabletools/adaptable/themes/${themeName}.css"`);
4159
4210
  const globalObject = typeof globalThis !== 'undefined' ? globalThis : window;
4160
4211
  const licenseKey = globalObject.ADAPTABLE_LICENSE_KEY ||
4161
4212
  this.api.internalApi.getAdaptableOptions().licenseKey;
4162
- return new LicenseService_1.LicenseService(this, licenseKey, { publishedAt: publishTimestamp_1.default });
4213
+ return new LicenseService_1.LicenseService(this, licenseKey, {
4214
+ publishedAt: publishTimestamp_1.default,
4215
+ });
4163
4216
  }
4164
4217
  }
4165
4218
  exports.Adaptable = Adaptable;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.agGridHelper = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const clamp_1 = tslib_1.__importDefault(require("lodash-es/clamp"));
5
+ const clamp_1 = tslib_1.__importDefault(require("lodash/clamp"));
6
6
  const Enums_1 = require("../PredefinedConfig/Common/Enums");
7
7
  const Uuid_1 = require("../PredefinedConfig/Uuid");
8
8
  const AlertModule_1 = require("../Strategy/AlertModule");
@@ -248,8 +248,7 @@ class agGridHelper {
248
248
  }
249
249
  }
250
250
  // lets set this here one as the function cannot change the result so dont need to run it each time
251
- let excludeColumnFromQuickSearch = this.adaptable.adaptableOptions.searchOptions
252
- .excludeColumnFromQuickSearch;
251
+ let excludeColumnFromQuickSearch = this.adaptable.adaptableOptions.searchOptions.excludeColumnFromQuickSearch;
253
252
  if (excludeColumnFromQuickSearch) {
254
253
  if (excludeColumnFromQuickSearch(abColumn)) {
255
254
  abColumn.isExcludedFromQuickSearch = true;
@@ -4,7 +4,7 @@ exports.agGridMenuHelper = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const ArrayExtensions_1 = require("../Utilities/Extensions/ArrayExtensions");
6
6
  const icons_1 = require("../components/icons");
7
- const flatten_1 = tslib_1.__importDefault(require("lodash-es/flatten"));
7
+ const flatten_1 = tslib_1.__importDefault(require("lodash/flatten"));
8
8
  // tslint:disable-next-line: class-name
9
9
  class agGridMenuHelper {
10
10
  constructor(adaptable, gridOptions) {
@@ -21,8 +21,7 @@ class agGridMenuHelper {
21
21
  let userColumnMenuItems = [];
22
22
  //First get Ag Grid Column Items
23
23
  agGridColumnMenuItems.push(...this.createAgGridColumnMenuItems(originalgetMainMenuItems, params));
24
- let showAdaptableColumnMenu = this.adaptable.adaptableOptions.menuOptions
25
- .showAdaptableColumnMenu;
24
+ let showAdaptableColumnMenu = this.adaptable.adaptableOptions.menuOptions.showAdaptableColumnMenu;
26
25
  let hasAdaptableColumnMenuItems = showAdaptableColumnMenu == null || showAdaptableColumnMenu !== false;
27
26
  if (hasAdaptableColumnMenuItems) {
28
27
  agGridColumnMenuItems.push('separator');
@@ -56,8 +55,7 @@ class agGridMenuHelper {
56
55
  let agGridContextMenuItems = [];
57
56
  let adaptableContextMenuItems = [];
58
57
  let userContextMenuItems = [];
59
- let showAdaptableContextMenu = this.adaptable.adaptableOptions.menuOptions
60
- .showAdaptableContextMenu;
58
+ let showAdaptableContextMenu = this.adaptable.adaptableOptions.menuOptions.showAdaptableContextMenu;
61
59
  let hasAdaptableContextMenuItems = showAdaptableContextMenu == null || showAdaptableContextMenu !== false;
62
60
  let userDefinedContextMenuItems = this.adaptable.adaptableOptions.menuOptions.contextMenuItems;
63
61
  let hasUserDefinedContextMenuItems = ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(userDefinedContextMenuItems);
@@ -285,8 +283,7 @@ class agGridMenuHelper {
285
283
  // here we create agGrid Menu items based on Adaptable Menu Items
286
284
  // user has ability to decide whether to show or not
287
285
  let contextMenuItems = [];
288
- let showAdaptableContextMenu = this.adaptable.adaptableOptions.menuOptions
289
- .showAdaptableContextMenu;
286
+ let showAdaptableContextMenu = this.adaptable.adaptableOptions.menuOptions.showAdaptableContextMenu;
290
287
  if (showAdaptableContextMenu == null || showAdaptableContextMenu !== false) {
291
288
  adaptableMenuItems.forEach((adaptableMenuItem) => {
292
289
  if (adaptableMenuItem) {
@@ -321,8 +318,7 @@ class agGridMenuHelper {
321
318
  // method to get all the Adaptable Menu Items - together with running the function where user can choose whether or not to display
322
319
  getAdaptableMenuItemsColumnHeader(adaptableColumn, menuContext) {
323
320
  const adaptableMenuItems = [];
324
- let showAdaptableColumnMenu = this.adaptable.adaptableOptions.menuOptions
325
- .showAdaptableColumnMenu;
321
+ let showAdaptableColumnMenu = this.adaptable.adaptableOptions.menuOptions.showAdaptableColumnMenu;
326
322
  let runCheck = showAdaptableColumnMenu == null || showAdaptableColumnMenu !== false;
327
323
  // if (adaptableColumn != null) {
328
324
  this.adaptable.adaptableModules.forEach((s) => {
@@ -117,7 +117,7 @@ class AdaptableDateEditor {
117
117
  react_dom_1.unmountComponentAtNode(this.el);
118
118
  }
119
119
  shouldClearExistingValue(params) {
120
- return params.keyPress === all_modules_1.KeyCode.BACKSPACE || params.keyPress === all_modules_1.KeyCode.DELETE;
120
+ return params.key === all_modules_1.KeyCode.BACKSPACE || params.key === all_modules_1.KeyCode.DELETE;
121
121
  }
122
122
  }
123
123
  exports.AdaptableDateEditor = AdaptableDateEditor;
@@ -93,7 +93,7 @@ class AdaptableNumberEditor {
93
93
  react_dom_1.unmountComponentAtNode(this.el);
94
94
  }
95
95
  shouldClearExistingValue(params) {
96
- return params.keyPress === all_modules_1.KeyCode.BACKSPACE || params.keyPress === all_modules_1.KeyCode.DELETE;
96
+ return params.key === all_modules_1.KeyCode.BACKSPACE || params.key === all_modules_1.KeyCode.DELETE;
97
97
  }
98
98
  }
99
99
  exports.AdaptableNumberEditor = AdaptableNumberEditor;
@@ -2,4 +2,5 @@ import * as React from 'react';
2
2
  import { AdaptableIcon } from '../types';
3
3
  export declare const ApplicationIcon: React.FunctionComponent<{
4
4
  icon?: AdaptableIcon;
5
+ className?: string;
5
6
  }>;
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ApplicationIcon = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const React = tslib_1.__importStar(require("react"));
6
- exports.ApplicationIcon = ({ icon }) => {
6
+ exports.ApplicationIcon = ({ icon, className }) => {
7
7
  if (!icon) {
8
8
  return null;
9
9
  }
10
10
  let width = icon.style && icon.style.width ? icon.style.width : 'var(--ab-cmp-simple-button__width)';
11
11
  let height = icon.style && icon.style.height ? icon.style.height : 'var(--ab-cmp-simple-button__height)';
12
- return (React.createElement("img", { className: "ab-Dashboard__application-icon", src: icon.src, style: { width: width, height: height } }));
12
+ return React.createElement("img", { className: className, src: icon.src, style: { width: width, height: height } });
13
13
  };
@@ -14,7 +14,10 @@ function Dashboard(props) {
14
14
  const [collapsed, setCollapsed] = useProperty_1.default(props, 'collapsed', false);
15
15
  const [floating, setFloating] = useProperty_1.default(props, 'floating', false);
16
16
  const [inline, setInline] = useProperty_1.default(props, 'inline', false);
17
- const [position, setPosition] = useProperty_1.default(props, 'position', { x: 0, y: 0 });
17
+ const [position, setPosition] = useProperty_1.default(props, 'position', {
18
+ x: 0,
19
+ y: 0,
20
+ });
18
21
  const expanded = !floating && !collapsed;
19
22
  const { handleRef, targetRef } = useDraggable_1.default({
20
23
  onDrop(dx, dy) {
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import * as React from 'react';
2
2
  import { DashboardTab } from '../../PredefinedConfig/DashboardState';
3
3
  import { AdaptableDashboardToolbar } from '../../PredefinedConfig/Common/Types';
4
4
  import { AdaptableApi } from '../../Api/AdaptableApi';
@@ -6,10 +6,12 @@ export interface DashboardToolbar {
6
6
  Id: AdaptableDashboardToolbar | string;
7
7
  Title: string;
8
8
  }
9
- declare function DashboardManager({ tabs, onTabsChange, availableToolbars, api, }: {
9
+ interface DashboardManagerProps {
10
10
  tabs: DashboardTab[];
11
11
  onTabsChange: (tabs: DashboardTab[]) => void;
12
12
  availableToolbars: DashboardToolbar[];
13
13
  api: AdaptableApi;
14
- }): JSX.Element;
14
+ disabled: boolean;
15
+ }
16
+ declare const DashboardManager: React.FunctionComponent<DashboardManagerProps>;
15
17
  export default DashboardManager;