@adaptabletools/adaptable 18.0.0-canary.1 → 18.0.0-canary.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 (259) hide show
  1. package/agGrid.d.ts +4 -21
  2. package/agGrid.js +9 -26
  3. package/base.css +11 -3
  4. package/base.css.map +1 -1
  5. package/index.css +88 -70
  6. package/index.css.map +1 -1
  7. package/package.json +4 -5
  8. package/src/AdaptableInterfaces/IAdaptable.d.ts +61 -108
  9. package/src/AdaptableOptions/AdaptableOptions.d.ts +12 -6
  10. package/src/AdaptableOptions/ColumnFilterOptions.d.ts +4 -4
  11. package/src/AdaptableOptions/ColumnOptions.d.ts +4 -2
  12. package/src/AdaptableOptions/{CommentsOptions.d.ts → CommentOptions.d.ts} +5 -5
  13. package/src/AdaptableOptions/MenuOptions.d.ts +1 -1
  14. package/src/AdaptableOptions/MenuOptions.js +1 -5
  15. package/src/AdaptableOptions/{NotesOptions.d.ts → NoteOptions.d.ts} +1 -1
  16. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +17 -0
  17. package/src/Api/AdaptableApi.d.ts +5 -0
  18. package/src/Api/BulkUpdateApi.d.ts +0 -5
  19. package/src/Api/ConfigApi.d.ts +1 -1
  20. package/src/Api/Events/AdaptableReady.d.ts +3 -3
  21. package/src/Api/Events/GridDataChanged.d.ts +4 -4
  22. package/src/Api/GridApi.d.ts +18 -13
  23. package/src/Api/Implementation/ActionColumnApiImpl.d.ts +2 -0
  24. package/src/Api/Implementation/ActionColumnApiImpl.js +33 -0
  25. package/src/Api/Implementation/AdaptableApiImpl.d.ts +1 -0
  26. package/src/Api/Implementation/AdaptableApiImpl.js +3 -0
  27. package/src/Api/Implementation/ApiBase.d.ts +2 -1
  28. package/src/Api/Implementation/ApiBase.js +4 -1
  29. package/src/Api/Implementation/BulkUpdateApiImpl.d.ts +0 -1
  30. package/src/Api/Implementation/BulkUpdateApiImpl.js +0 -4
  31. package/src/Api/Implementation/CommentsApiImpl.d.ts +4 -0
  32. package/src/Api/Implementation/CommentsApiImpl.js +7 -1
  33. package/src/Api/Implementation/ConfigApiImpl.js +13 -5
  34. package/src/Api/Implementation/GridApiImpl.d.ts +4 -3
  35. package/src/Api/Implementation/GridApiImpl.js +33 -14
  36. package/src/Api/Implementation/LayoutApiImpl.d.ts +2 -0
  37. package/src/Api/Implementation/LayoutApiImpl.js +15 -0
  38. package/src/Api/Implementation/NotesApiImpl.d.ts +6 -4
  39. package/src/Api/Implementation/NotesApiImpl.js +9 -8
  40. package/src/Api/Implementation/OptionsApiImpl.d.ts +2 -1
  41. package/src/Api/Implementation/OptionsApiImpl.js +12 -2
  42. package/src/Api/Implementation/ScopeApiImpl.d.ts +2 -0
  43. package/src/Api/Implementation/ScopeApiImpl.js +20 -7
  44. package/src/Api/Implementation/StatusBarApiImpl.d.ts +0 -1
  45. package/src/Api/Implementation/StatusBarApiImpl.js +0 -3
  46. package/src/Api/Implementation/ToolPanelApiImpl.js +6 -6
  47. package/src/Api/Internal/ActionRowInternalApi.d.ts +5 -1
  48. package/src/Api/Internal/ActionRowInternalApi.js +106 -0
  49. package/src/Api/Internal/AdaptableInternalApi.d.ts +3 -4
  50. package/src/Api/Internal/AdaptableInternalApi.js +10 -8
  51. package/src/Api/Internal/CalculatedColumnInternalApi.d.ts +2 -0
  52. package/src/Api/Internal/CalculatedColumnInternalApi.js +70 -0
  53. package/src/Api/Internal/ColumnFilterInternalApi.d.ts +1 -0
  54. package/src/Api/Internal/ColumnFilterInternalApi.js +11 -1
  55. package/src/Api/Internal/ColumnInternalApi.d.ts +4 -1
  56. package/src/Api/Internal/ColumnInternalApi.js +12 -0
  57. package/src/Api/Internal/CommentsInternalApi.d.ts +4 -0
  58. package/src/Api/Internal/CommentsInternalApi.js +14 -0
  59. package/src/Api/Internal/CustomSortInternalApi.d.ts +3 -2
  60. package/src/Api/Internal/CustomSortInternalApi.js +32 -1
  61. package/src/Api/Internal/DataSetInternalApi.js +1 -1
  62. package/src/Api/Internal/FormatColumnInternalApi.js +3 -2
  63. package/src/Api/Internal/FreeTextColumnInternalApi.d.ts +2 -0
  64. package/src/Api/Internal/FreeTextColumnInternalApi.js +59 -0
  65. package/src/Api/Internal/GridFilterInternalApi.js +1 -1
  66. package/src/Api/Internal/GridInternalApi.d.ts +21 -3
  67. package/src/Api/Internal/GridInternalApi.js +126 -7
  68. package/src/Api/Internal/NotesInternalApi.d.ts +4 -0
  69. package/src/Api/Internal/NotesInternalApi.js +14 -0
  70. package/src/Api/Internal/TeamSharingInternalApi.js +1 -1
  71. package/src/Api/InteropioPluginApi.d.ts +2 -2
  72. package/src/Api/LayoutApi.d.ts +11 -0
  73. package/src/Api/OptionsApi.d.ts +5 -1
  74. package/src/Api/ScopeApi.d.ts +10 -0
  75. package/src/EnvVars.d.ts +3 -0
  76. package/src/EnvVars.js +4 -0
  77. package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +4 -0
  78. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
  79. package/src/PredefinedConfig/Common/AdaptableScope.d.ts +4 -1
  80. package/src/PredefinedConfig/Common/AggregationColumns.d.ts +1 -0
  81. package/src/PredefinedConfig/Common/AggregationColumns.js +3 -0
  82. package/src/PredefinedConfig/Common/DataUpdateConfig.d.ts +8 -0
  83. package/src/PredefinedConfig/Common/RowSummary.d.ts +7 -0
  84. package/src/PredefinedConfig/Common/RowSummary.js +1 -0
  85. package/src/PredefinedConfig/LayoutState.d.ts +5 -0
  86. package/src/PredefinedConfig/NotesState.d.ts +10 -20
  87. package/src/PredefinedConfig/PredefinedConfig.d.ts +1 -1
  88. package/src/PredefinedConfig/SystemState.d.ts +7 -0
  89. package/src/Redux/ActionsReducers/LayoutRedux.d.ts +9 -0
  90. package/src/Redux/ActionsReducers/LayoutRedux.js +20 -0
  91. package/src/Redux/ActionsReducers/NotesRedux.d.ts +3 -4
  92. package/src/Redux/ActionsReducers/NotesRedux.js +8 -7
  93. package/src/Redux/ActionsReducers/SystemRedux.d.ts +5 -0
  94. package/src/Redux/ActionsReducers/SystemRedux.js +13 -1
  95. package/src/Redux/Store/AdaptableStore.d.ts +4 -6
  96. package/src/Redux/Store/AdaptableStore.js +33 -50
  97. package/src/Redux/Store/Interface/IAdaptableStore.d.ts +8 -2
  98. package/src/Strategy/AdaptableModuleBase.d.ts +2 -3
  99. package/src/Strategy/AdaptableModuleBase.js +4 -7
  100. package/src/Strategy/AlertModule.d.ts +1 -2
  101. package/src/Strategy/AlertModule.js +2 -55
  102. package/src/Strategy/CalculatedColumnModule.d.ts +2 -3
  103. package/src/Strategy/CalculatedColumnModule.js +5 -25
  104. package/src/Strategy/CellSummaryModule.d.ts +1 -0
  105. package/src/Strategy/CellSummaryModule.js +50 -21
  106. package/src/Strategy/ChartingModule.d.ts +0 -1
  107. package/src/Strategy/ChartingModule.js +2 -22
  108. package/src/Strategy/ColumnFilterModule.d.ts +1 -2
  109. package/src/Strategy/ColumnFilterModule.js +1 -64
  110. package/src/Strategy/CommentsModule.d.ts +1 -0
  111. package/src/Strategy/CommentsModule.js +5 -1
  112. package/src/Strategy/CustomSortModule.js +1 -1
  113. package/src/Strategy/DashboardModule.d.ts +1 -2
  114. package/src/Strategy/DashboardModule.js +1 -8
  115. package/src/Strategy/DataChangeHistoryModule.d.ts +1 -0
  116. package/src/Strategy/DataChangeHistoryModule.js +3 -1
  117. package/src/Strategy/DataSetModule.d.ts +1 -1
  118. package/src/Strategy/DataSetModule.js +1 -1
  119. package/src/Strategy/FlashingCellModule.d.ts +1 -2
  120. package/src/Strategy/FlashingCellModule.js +2 -15
  121. package/src/Strategy/FormatColumnModule.d.ts +0 -2
  122. package/src/Strategy/FormatColumnModule.js +0 -47
  123. package/src/Strategy/FreeTextColumnModule.d.ts +0 -1
  124. package/src/Strategy/FreeTextColumnModule.js +0 -30
  125. package/src/Strategy/GridFilterModule.d.ts +0 -1
  126. package/src/Strategy/GridFilterModule.js +0 -37
  127. package/src/Strategy/Interface/IModule.d.ts +0 -1
  128. package/src/Strategy/LayoutModule.d.ts +8 -3
  129. package/src/Strategy/LayoutModule.js +108 -53
  130. package/src/Strategy/NamedQueryModule.d.ts +0 -1
  131. package/src/Strategy/NamedQueryModule.js +0 -19
  132. package/src/Strategy/NotesModule.js +3 -4
  133. package/src/Strategy/PlusMinusModule.d.ts +1 -1
  134. package/src/Strategy/PlusMinusModule.js +1 -1
  135. package/src/Strategy/ScheduleModule.d.ts +1 -1
  136. package/src/Strategy/ScheduleModule.js +1 -1
  137. package/src/Strategy/ShortcutModule.d.ts +1 -1
  138. package/src/Strategy/ShortcutModule.js +1 -1
  139. package/src/Strategy/StyledColumnModule.d.ts +0 -1
  140. package/src/Strategy/StyledColumnModule.js +0 -21
  141. package/src/Strategy/TeamSharingModule.d.ts +1 -0
  142. package/src/Strategy/TeamSharingModule.js +5 -5
  143. package/src/Strategy/ToolPanelModule.d.ts +0 -1
  144. package/src/Strategy/ToolPanelModule.js +0 -23
  145. package/src/Utilities/Constants/DocumentationLinkConstants.js +1 -1
  146. package/src/Utilities/Constants/GeneralConstants.d.ts +1 -0
  147. package/src/Utilities/Constants/GeneralConstants.js +1 -0
  148. package/src/Utilities/Defaults/DefaultSettingsPanel.js +5 -4
  149. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +2 -1
  150. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +294 -0
  151. package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.js +1 -1
  152. package/src/Utilities/Extensions/ArrayExtensions.d.ts +2 -0
  153. package/src/Utilities/Extensions/ArrayExtensions.js +4 -0
  154. package/src/Utilities/Helpers/AdaptableHelper.d.ts +3 -4
  155. package/src/Utilities/Helpers/AdaptableHelper.js +18 -58
  156. package/src/Utilities/Helpers/Helper.d.ts +2 -0
  157. package/src/Utilities/Helpers/Helper.js +4 -0
  158. package/src/Utilities/ObjectFactory.js +6 -6
  159. package/src/Utilities/Services/AggregatedScalarLiveValue.d.ts +3 -2
  160. package/src/Utilities/Services/AggregatedScalarLiveValue.js +14 -9
  161. package/src/Utilities/Services/CellPopupService.js +0 -1
  162. package/src/Utilities/Services/Interface/IQueryLanguageService.d.ts +1 -1
  163. package/src/Utilities/Services/LicenseService/index.d.ts +3 -0
  164. package/src/Utilities/Services/LicenseService/index.js +19 -7
  165. package/src/Utilities/Services/MetamodelService.d.ts +1 -1
  166. package/src/Utilities/Services/MetamodelService.js +6 -3
  167. package/src/Utilities/Services/QueryLanguageService.d.ts +1 -1
  168. package/src/Utilities/Services/QueryLanguageService.js +2 -1
  169. package/src/Utilities/Services/RowEditService.d.ts +3 -2
  170. package/src/Utilities/Services/RowEditService.js +3 -1
  171. package/src/Utilities/Services/SummaryService.d.ts +19 -0
  172. package/src/Utilities/Services/SummaryService.js +29 -0
  173. package/src/View/AdaptableView.js +1 -3
  174. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +2 -2
  175. package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
  176. package/src/View/CalculatedColumn/utils.d.ts +1 -1
  177. package/src/View/CellSummary/CellSummaryPopup.js +1 -1
  178. package/src/View/Comments/CommentsPopup.js +12 -8
  179. package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
  180. package/src/View/Components/NewScopeComponent.js +34 -1
  181. package/src/View/Components/Popups/AdaptableLoadingScreen.d.ts +6 -5
  182. package/src/View/Components/Popups/AdaptableLoadingScreen.js +19 -9
  183. package/src/View/Components/Popups/AdaptableToaster.js +1 -1
  184. package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +1 -1
  185. package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +1 -0
  186. package/src/View/Components/Popups/WindowPopups/windowFactory.js +3 -0
  187. package/src/View/Components/Selectors/PermittedValuesSelector.js +1 -1
  188. package/src/View/CustomSort/CustomSortSummary.js +1 -1
  189. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +8 -8
  190. package/src/View/GridFilter/GridFilterViewPanel.js +6 -2
  191. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +2 -3
  192. package/src/View/Layout/TransposedPopup.d.ts +3 -0
  193. package/src/View/Layout/TransposedPopup.js +194 -0
  194. package/src/View/Layout/Wizard/LayoutWizard.js +1 -1
  195. package/src/View/Notes/NotesPopup.js +9 -11
  196. package/src/View/SpecialColumnSettingsWizardStep.js +4 -4
  197. package/src/View/Theme/ThemeSelector.js +3 -3
  198. package/src/agGrid/ActionColumnRenderer.js +7 -6
  199. package/src/agGrid/Adaptable.d.ts +3 -455
  200. package/src/agGrid/Adaptable.js +8 -5292
  201. package/src/agGrid/AdaptableAgGrid.d.ts +351 -0
  202. package/src/agGrid/AdaptableAgGrid.js +3936 -0
  203. package/src/agGrid/AdaptableLogger.js +77 -11
  204. package/src/agGrid/AgGridAdapter.d.ts +62 -0
  205. package/src/agGrid/AgGridAdapter.js +577 -0
  206. package/src/agGrid/AgGridColumnAdapter.d.ts +56 -0
  207. package/src/agGrid/AgGridColumnAdapter.js +824 -0
  208. package/src/agGrid/AgGridMenuAdapter.d.ts +28 -0
  209. package/src/agGrid/AgGridMenuAdapter.js +271 -0
  210. package/src/agGrid/AgGridOptionsService.d.ts +12 -0
  211. package/src/agGrid/AgGridOptionsService.js +54 -0
  212. package/src/agGrid/BadgeRenderer.js +1 -1
  213. package/src/agGrid/CheckboxRenderer.js +1 -1
  214. package/src/agGrid/FilterWrapper.d.ts +2 -2
  215. package/src/agGrid/FilterWrapper.js +1 -1
  216. package/src/agGrid/attachAddaptableColumnTypes.d.ts +12 -12
  217. package/src/agGrid/defaultAdaptableOptions.d.ts +3 -0
  218. package/src/{Utilities/Defaults/DefaultAdaptableOptions.js → agGrid/defaultAdaptableOptions.js} +70 -9
  219. package/src/agGrid/editors/AdaptableDateEditor/index.js +2 -2
  220. package/src/agGrid/editors/AdaptableNumberEditor/index.js +2 -2
  221. package/src/components/ColorPicker/ColorPicker.d.ts +1 -1
  222. package/src/components/Datepicker/index.d.ts +1 -1
  223. package/src/components/InfiniteTable/index.js +2 -2
  224. package/src/components/Input/index.d.ts +1 -1
  225. package/src/components/List/ListGroupItem/index.d.ts +1 -1
  226. package/src/components/Modal/index.d.ts +1 -0
  227. package/src/components/Modal/index.js +4 -3
  228. package/src/components/Select/Select.d.ts +2 -0
  229. package/src/components/Select/Select.js +2 -2
  230. package/src/components/icons/index.js +2 -0
  231. package/src/components/icons/rows.d.ts +3 -0
  232. package/src/components/icons/rows.js +4 -0
  233. package/src/env.js +2 -2
  234. package/src/metamodel/adaptable.metamodel.d.ts +74 -11
  235. package/src/metamodel/adaptable.metamodel.js +147 -34
  236. package/src/migration/AdaptableUpgradeHelper.d.ts +38 -0
  237. package/src/migration/AdaptableUpgradeHelper.js +48 -0
  238. package/src/migration/VersionUpgrade.d.ts +8 -0
  239. package/src/migration/VersionUpgrade.js +11 -0
  240. package/src/migration/VersionUpgrade17.d.ts +18 -0
  241. package/src/migration/VersionUpgrade17.js +342 -0
  242. package/src/migration/VersionUpgrade18.d.ts +5 -0
  243. package/src/migration/VersionUpgrade18.js +6 -0
  244. package/src/parser/src/types.d.ts +5 -0
  245. package/src/types.d.ts +7 -3
  246. package/tsconfig.esm.tsbuildinfo +1 -1
  247. package/src/Utilities/Defaults/DefaultAdaptableOptions.d.ts +0 -2
  248. package/src/Utilities/Services/Interface/IRowEditService.d.ts +0 -3
  249. package/src/Utilities/Services/Interface/IRowEditService.js +0 -1
  250. package/src/View/Components/ScopeComponent.d.ts +0 -24
  251. package/src/View/Components/ScopeComponent.js +0 -133
  252. package/src/View/Export/Wizard/ReportScopeWizard.d.ts +0 -17
  253. package/src/View/Export/Wizard/ReportScopeWizard.js +0 -47
  254. package/src/agGrid/agGridHelper.d.ts +0 -57
  255. package/src/agGrid/agGridHelper.js +0 -686
  256. package/src/agGrid/agGridMenuHelper.d.ts +0 -46
  257. package/src/agGrid/agGridMenuHelper.js +0 -668
  258. /package/src/AdaptableOptions/{CommentsOptions.js → CommentOptions.js} +0 -0
  259. /package/src/AdaptableOptions/{NotesOptions.js → NoteOptions.js} +0 -0
@@ -23,7 +23,7 @@ const ConnectedNoteEditor = ({ enableEditMode }) => {
23
23
  api.notesApi.updateNoteText(value, note);
24
24
  }, [note]);
25
25
  return (React.createElement(Flex, { onClick: () => enableEditMode(), flexDirection: "column", className: "ab-NotesPopup" },
26
- React.createElement(NoteEditor, { isReadonly: isReadonly, editMode: editMode, key: note === null || note === void 0 ? void 0 : note.Uuid, onClose: () => cellPopupService.hidePopup(), note: note === null || note === void 0 ? void 0 : note.Value, onNoteChange: (value) => handleNoteChange(value) })));
26
+ React.createElement(NoteEditor, { isReadonly: isReadonly, editMode: editMode, key: note === null || note === void 0 ? void 0 : note.Uuid, onClose: () => cellPopupService.hidePopup(), note: note === null || note === void 0 ? void 0 : note.Text, onNoteChange: (value) => handleNoteChange(value) })));
27
27
  };
28
28
  export const GridCellPopup = (props) => {
29
29
  const { api } = useAdaptable();
@@ -4,4 +4,5 @@ export declare const WINDOW_GRID_FILTER_EDITOR = "WINDOW_GRID_FILTER_EDITOR";
4
4
  export declare const SHOW_PIVOT_COLUMN_DETAILS = "SHOW_PIVOT_COLUMN_DETAILS";
5
5
  export declare const SHOW_EXPORT_TABLE = "SHOW_EXPORT_TABLE";
6
6
  export declare const SHOW_THEME_EDITOR = "SHOW_THEME_EDITOR";
7
+ export declare const WINDOW_SHOW_TRANSPOSED_VIEW = "WINDOW_SHOW_TRANSPOSED_VIEW";
7
8
  export declare const windowFactory: Record<string, React.FunctionComponent<WindowPopupChildProps>>;
@@ -2,13 +2,16 @@ import { GridFilterWindowPopup } from '../../../GridFilter/GridFilterWindowPopup
2
2
  import { PivotDetailsPopoup } from '../../../Layout/PivotDetailsPopoup';
3
3
  import { ExportTablePopup } from '../../../Export/ExportTablePopup';
4
4
  import { ThemeEditorWindow } from '../../../Theme/ThemeEditorWindow';
5
+ import { TransposedPopup } from '../../../Layout/TransposedPopup';
5
6
  export const WINDOW_GRID_FILTER_EDITOR = 'WINDOW_GRID_FILTER_EDITOR';
6
7
  export const SHOW_PIVOT_COLUMN_DETAILS = 'SHOW_PIVOT_COLUMN_DETAILS';
7
8
  export const SHOW_EXPORT_TABLE = 'SHOW_EXPORT_TABLE';
8
9
  export const SHOW_THEME_EDITOR = 'SHOW_THEME_EDITOR';
10
+ export const WINDOW_SHOW_TRANSPOSED_VIEW = 'WINDOW_SHOW_TRANSPOSED_VIEW';
9
11
  export const windowFactory = {
10
12
  [WINDOW_GRID_FILTER_EDITOR]: GridFilterWindowPopup,
11
13
  [SHOW_PIVOT_COLUMN_DETAILS]: PivotDetailsPopoup,
12
14
  [SHOW_EXPORT_TABLE]: ExportTablePopup,
13
15
  [SHOW_THEME_EDITOR]: ThemeEditorWindow,
16
+ [WINDOW_SHOW_TRANSPOSED_VIEW]: TransposedPopup,
14
17
  };
@@ -9,7 +9,7 @@ export const PermittedValuesSelector = function (props) {
9
9
  const [filter, setFilter] = React.useState('');
10
10
  const columnType = React.useMemo(() => {
11
11
  return adaptable.api.columnApi.getColumnDataTypeForColumnId(props.columnId);
12
- }, []);
12
+ }, [props.columnId]);
13
13
  React.useEffect(() => {
14
14
  if (!props.columnId) {
15
15
  setIsLoading(false);
@@ -33,7 +33,7 @@ export class CustomSortSummaryComponent extends React.Component {
33
33
  }
34
34
  render() {
35
35
  const customSort = this.props.CustomSorts.find((c) => c.ColumnId == this.props.summarisedColumn.columnId);
36
- const columnSortComparer = this.props.api.customSortApi.internalApi.getCustomSortComparer(this.props.summarisedColumn);
36
+ const columnSortComparer = this.props.api.customSortApi.internalApi.getCustomSortComparer(this.props.summarisedColumn.columnId);
37
37
  let noCustomSort = customSort == null && columnSortComparer == null;
38
38
  let customSortRow;
39
39
  if (!this.props.summarisedColumn.sortable) {
@@ -1,9 +1,10 @@
1
1
  import * as React from 'react';
2
- import { useAdaptable } from '../AdaptableContext';
3
2
  import { useEffect, useRef, useState } from 'react';
3
+ import { useAdaptable } from '../AdaptableContext';
4
4
  import usePrevious from '../../components/utils/usePrevious';
5
5
  import { DataChangeHistoryModuleId } from '../../Utilities/Constants/ModuleConstants';
6
6
  import { buildActionColumnButton } from './buildActionColumnButton';
7
+ import { AdaptableAgGrid } from '../../agGrid/AdaptableAgGrid';
7
8
  export const DataChangeHistoryGrid = (props) => {
8
9
  const { changeHistoryLog, adaptableContainerId, agGridContainerId, onUndoChange, onClearRow } = props;
9
10
  const mainAdaptableInstance = useAdaptable();
@@ -20,13 +21,12 @@ export const DataChangeHistoryGrid = (props) => {
20
21
  const gridOptions = buildGridOptions(mainAdaptableInstance, changeHistoryLog);
21
22
  const adaptableOptions = buildAdaptableOptions(mainAdaptableInstance, gridOptions, adaptableContainerId, agGridContainerId, undoChangeEnabled, onUndoChange, onClearRow);
22
23
  const modules = mainAdaptableInstance.getAgGridRegisteredModules();
23
- const agGridConfig = {
24
+ const dataChangeHistoryAdaptableApi = await AdaptableAgGrid._initInternal({
25
+ variant: 'vanilla',
26
+ adaptableOptions,
24
27
  gridOptions,
25
- modules: modules,
26
- };
27
- // to avoid direct dependency to Adaptable.ts and thus creating a circular dependency;
28
- const adaptableInitFn = Object.getPrototypeOf(mainAdaptableInstance).constructor.init;
29
- const dataChangeHistoryAdaptableApi = await adaptableInitFn(adaptableOptions, agGridConfig);
28
+ modules,
29
+ });
30
30
  setAdaptableApi(dataChangeHistoryAdaptableApi);
31
31
  };
32
32
  initializeAdaptableGrid();
@@ -65,7 +65,7 @@ export const DataChangeHistoryGrid = (props) => {
65
65
  // 2. this UI will be reimplemented with Infinite Table anyway
66
66
  const addedRows = mapChangeHistoryRowData(addedChangeHistoryLogs, mainAdaptableInstance);
67
67
  const removedRows = mapChangeHistoryRowData(removedChangeHistoryLogs, mainAdaptableInstance);
68
- adaptableApi.gridApi.getAgGridInstance().api.applyTransactionAsync({
68
+ adaptableApi.agGridApi.applyTransactionAsync({
69
69
  add: addedRows,
70
70
  remove: removedRows,
71
71
  });
@@ -23,6 +23,7 @@ const QueryViewPanelComponent = (props) => {
23
23
  const disabled = isReadOnly || isSuspended || gridFilterAccessLevel === 'ReadOnly';
24
24
  const handleEnter = (e) => {
25
25
  if (e.key === 'Enter') {
26
+ e.preventDefault();
26
27
  runQuery();
27
28
  }
28
29
  };
@@ -44,8 +45,9 @@ const QueryViewPanelComponent = (props) => {
44
45
  fontFamily: 'monospace',
45
46
  fontSize: 12,
46
47
  maxHeight: 52,
47
- height: 21,
48
- paddingTop: 7,
48
+ height: '100%',
49
+ paddingTop: 6,
50
+ overflow: 'hidden',
49
51
  zIndex: 100,
50
52
  }, placehoder: "Grid Filter", onChange: (x) => setExpression(x.target.value), value: expression })),
51
53
  isExpressionValid && (React.createElement(ButtonPlay, { onClick: () => runQuery(), tooltip: '', accessLevel: gridFilterAccessLevel, variant: "text", tone: "neutral", disabled: disabled || expression == '' || expression == (gridFilter === null || gridFilter === void 0 ? void 0 : gridFilter.Expression), marginRight: 1 })),
@@ -71,6 +73,8 @@ const QueryViewPanelComponent = (props) => {
71
73
  maxHeight: 60,
72
74
  paddingTop: 7,
73
75
  zIndex: 100,
76
+ height: '100%',
77
+ overflow: 'hidden',
74
78
  }, placehoder: "Grid Filter", onChange: (x) => setExpression(x.target.value), value: expression }))));
75
79
  };
76
80
  const saveButton = (React.createElement(ButtonSave, { onClick: () => saveQuery(), tooltip: "Save as Named Query", accessLevel: namedQueryModuleAccessLevel, disabled: disabled || !isExpressionValid || isExpressionNamedQuery || expression == '', variant: "text", tone: "neutral", marginRight: 1 }));
@@ -9,8 +9,8 @@ import { AdaptableObjectCollection } from '../../Components/AdaptableObjectColle
9
9
  import { AdaptableObjectRow } from '../../Components/AdaptableObjectRow';
10
10
  import { PopupPanel } from '../../Components/Popups/AdaptablePopup/PopupPanel';
11
11
  import { AdaptableObjectsSummary } from './AdaptableObjectsSummary';
12
- import env from '../../../env';
13
- const version = env.VERSION;
12
+ import { ADAPTABLE_VERSION } from '../../../EnvVars';
13
+ const version = ADAPTABLE_VERSION;
14
14
  export const GridInfoPopup = (props) => {
15
15
  const CreateGridSummaries = (colItems) => {
16
16
  var _a;
@@ -39,7 +39,6 @@ export const GridInfoPopup = (props) => {
39
39
  returnRows.push(createReadOnlyColItem(colItems, 'Column Filters', columnFilterDescription));
40
40
  returnRows.push(createReadOnlyColItem(colItems, 'Grid Filter', gridFilterExpression));
41
41
  returnRows.push(createReadOnlyColItem(colItems, 'All Rows', props.api.gridApi.getRowCount()));
42
- returnRows.push(createReadOnlyColItem(colItems, 'Visible Rows', props.api.gridApi.getVisibleRowCount()));
43
42
  returnRows.push(createReadOnlyColItem(colItems, 'Selected Rows', selectedRowInfo === null || selectedRowInfo === void 0 ? void 0 : selectedRowInfo.gridRows.length));
44
43
  returnRows.push(createReadOnlyColItem(colItems, 'Visible Selected Rows', selectedRowInfo === null || selectedRowInfo === void 0 ? void 0 : selectedRowInfo.gridRows.filter((gr) => { var _a; return ((_a = gr.rowNode) === null || _a === void 0 ? void 0 : _a.displayed) == true; }).length));
45
44
  returnRows.push(createReadOnlyColItem(colItems, 'All Columns', props.api.gridApi.getColumnCount()));
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { WindowPopupChildProps } from '../Components/Popups/WindowPopups/WindowPopups';
3
+ export declare const TransposedPopup: (props: WindowPopupChildProps) => JSX.Element;
@@ -0,0 +1,194 @@
1
+ import * as React from 'react';
2
+ import { Box, Flex } from 'rebass';
3
+ import FormLayout, { FormRow } from '../../components/FormLayout';
4
+ import Panel from '../../components/Panel';
5
+ import { useAdaptable } from '../AdaptableContext';
6
+ import { ColumnSelector } from '../Components/Selectors/ColumnSelector';
7
+ import { AdaptableAgGrid } from '../../agGrid/AdaptableAgGrid';
8
+ export const TransposedPopup = (props) => {
9
+ const adaptable = useAdaptable();
10
+ const rowNodes = React.useMemo(() => {
11
+ return adaptable.api.gridApi.getAllRowNodes();
12
+ }, [
13
+ // can be later triggered by ticking data
14
+ ]);
15
+ const { transposedColumnId, hideTransposedColumn = true } = props.popupProps;
16
+ const primaryKey = adaptable.api.optionsApi.getPrimaryKey();
17
+ // Thist must be qunique
18
+ const transposeByColumnId = primaryKey;
19
+ // Only used to show nice values a the top of the grid, istead on the value
20
+ // of the primarykey
21
+ const [synteticTransposedByColumnId, setSynteticTransposedByColumnId] = React.useState(transposedColumnId !== null && transposedColumnId !== void 0 ? transposedColumnId : primaryKey);
22
+ const columns = React.useMemo(() => {
23
+ // customisable
24
+ return adaptable.api.columnApi.getColumns();
25
+ }, []);
26
+ const adaptableContainerId = 'transposed-adaptable-container';
27
+ const agGridContainerId = 'transposed-adaptable-ag-grid-container';
28
+ /**
29
+ * This is used as first field
30
+ */
31
+ const transposedFirstColumnField = '_transposed_column_value';
32
+ const transposedFirstColumnHeader = '_transposed_column_header';
33
+ const transposedRowsAndColumns = React.useMemo(() => {
34
+ /**
35
+ * transposed column values become primaryKey of the new tarnsposed rows
36
+ * we build row by row, might be easer
37
+ */
38
+ const transposedColumns = [];
39
+ const transposedRows = [];
40
+ for (const row of rowNodes) {
41
+ // we force the col-ids to be strings, easer to work with
42
+ //row[transposeByColumnId] + '';
43
+ const colId = adaptable.api.gridApi.getNormalisedValueFromRowNode(row, transposeByColumnId) + '';
44
+ //row[synteticTransposedByColumnId] + '';
45
+ const header = adaptable.api.gridApi.getNormalisedValueFromRowNode(row, synteticTransposedByColumnId) + '';
46
+ transposedColumns.push({
47
+ colId,
48
+ header,
49
+ });
50
+ }
51
+ for (const column of columns) {
52
+ /**
53
+ * We can hide the transposed column, if we want
54
+ */
55
+ if (hideTransposedColumn && column.columnId === synteticTransposedByColumnId) {
56
+ continue;
57
+ }
58
+ const transposedRow = {
59
+ // [transposed-by-column-id]: [other column id],
60
+ // the value can be set to friendlyname
61
+ [transposedFirstColumnField]: column.columnId,
62
+ [transposedFirstColumnHeader]: column.friendlyName,
63
+ };
64
+ for (let row of rowNodes) {
65
+ // [transposed-by-column-value[n]]: [other column value[n]]
66
+ const key = adaptable.api.gridApi.getNormalisedValueFromRowNode(row, transposeByColumnId);
67
+ // row[column.field]
68
+ let value = adaptable.api.gridApi.getDisplayValueFromRowNode(row, column.columnId);
69
+ if (value instanceof Date) {
70
+ value = value.toLocaleString();
71
+ }
72
+ transposedRow[key] = value;
73
+ }
74
+ transposedRows.push(transposedRow);
75
+ }
76
+ return {
77
+ transposedColumns,
78
+ transposedRows,
79
+ };
80
+ }, [rowNodes, primaryKey, synteticTransposedByColumnId]);
81
+ React.useEffect(() => {
82
+ // Mounting in an effect, so the nodes are rendered/available
83
+ const hostAdaptableOptions = adaptable.adaptableOptions;
84
+ const adaptableOptions = {
85
+ primaryKey: transposedFirstColumnField,
86
+ licenseKey: hostAdaptableOptions.licenseKey,
87
+ userName: `${hostAdaptableOptions.userName}`,
88
+ adaptableId: `${hostAdaptableOptions.adaptableId}::TransposedView`,
89
+ containerOptions: {
90
+ adaptableContainer: adaptableContainerId,
91
+ agGridContainer: agGridContainerId,
92
+ },
93
+ entitlementOptions: {
94
+ defaultAccessLevel: 'Hidden',
95
+ },
96
+ layoutOptions: {
97
+ createDefaultLayout: false,
98
+ autoSizeColumnsInLayout: true,
99
+ },
100
+ predefinedConfig: {
101
+ Layout: {
102
+ Revision: Date.now(),
103
+ CurrentLayout: 'TransposedView',
104
+ Layouts: [
105
+ {
106
+ Name: 'TransposedView',
107
+ Columns: [
108
+ transposedFirstColumnHeader,
109
+ ...transposedRowsAndColumns.transposedColumns.map((c) => c.colId),
110
+ ],
111
+ PinnedColumnsMap: {
112
+ [transposedFirstColumnHeader]: 'left',
113
+ },
114
+ },
115
+ ],
116
+ },
117
+ Theme: {
118
+ CurrentTheme: adaptable.api.themeApi.getCurrentTheme(),
119
+ },
120
+ },
121
+ };
122
+ const firstColumn = {
123
+ field: transposedFirstColumnHeader,
124
+ headerName: adaptable.api.columnApi.getFriendlyNameForColumnId(synteticTransposedByColumnId),
125
+ };
126
+ const agGridOptions = {
127
+ suppressLoadingOverlay: true,
128
+ defaultColDef: {
129
+ floatingFilter: false,
130
+ filter: false,
131
+ sortable: true,
132
+ resizable: true,
133
+ enableRowGroup: false,
134
+ editable: false,
135
+ enablePivot: false,
136
+ enableValue: false,
137
+ lockPinned: true,
138
+ menuTabs: [],
139
+ width: 120,
140
+ },
141
+ columnDefs: [
142
+ {
143
+ field: transposedFirstColumnField,
144
+ hide: true,
145
+ },
146
+ firstColumn,
147
+ ...transposedRowsAndColumns.transposedColumns.map((col) => {
148
+ return {
149
+ field: col.colId,
150
+ type: null,
151
+ headerName: col.header,
152
+ };
153
+ }),
154
+ ],
155
+ rowData: transposedRowsAndColumns.transposedRows,
156
+ sideBar: false,
157
+ };
158
+ const modules = adaptable.getAgGridRegisteredModules();
159
+ let transposedAdaptableApi;
160
+ (async () => {
161
+ transposedAdaptableApi = await AdaptableAgGrid._initInternal({
162
+ variant: 'vanilla',
163
+ adaptableOptions,
164
+ gridOptions: agGridOptions,
165
+ modules,
166
+ });
167
+ adaptable.api.eventApi.on('ThemeChanged', (event) => {
168
+ transposedAdaptableApi.themeApi.loadTheme(typeof event.theme === 'object' ? event.theme.Name : event.theme);
169
+ });
170
+ })();
171
+ return () => {
172
+ if (transposedAdaptableApi) {
173
+ transposedAdaptableApi.destroy();
174
+ }
175
+ };
176
+ }, [synteticTransposedByColumnId]);
177
+ /**
178
+ * Need to get all data, manualy pivot the grid using the primary key.
179
+ *
180
+ * 1. get the data, and pivot using the primary key
181
+ * 2. create the col definitios, a col definition for each row
182
+ * 3. create the grid
183
+ */
184
+ return (React.createElement(Flex, { flexDirection: "column", width: "100%", height: "100%" },
185
+ React.createElement(Panel, null,
186
+ React.createElement(FormLayout, null,
187
+ React.createElement(FormRow, { label: "Elevated Column" },
188
+ React.createElement(ColumnSelector, { value: synteticTransposedByColumnId, onChange: (colId) => {
189
+ setSynteticTransposedByColumnId(colId);
190
+ } })))),
191
+ React.createElement(Flex, { height: "100%" },
192
+ React.createElement(Box, { id: "transposed-adaptable-container" }),
193
+ React.createElement(Box, { height: "100%", width: "100%", id: "transposed-adaptable-ag-grid-container" }))));
194
+ };
@@ -34,7 +34,7 @@ export const LayoutWizard = (props) => {
34
34
  }
35
35
  if (preparedLayout.SuppressAggFuncInHeader === undefined) {
36
36
  preparedLayout.SuppressAggFuncInHeader =
37
- !!adaptable.api.gridApi.getAgGridInstance().suppressAggFuncInHeader;
37
+ !!adaptable.agGridAdapter.initialGridOptions.suppressAggFuncInHeader;
38
38
  }
39
39
  return preparedLayout;
40
40
  });
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { useSelector } from 'react-redux';
3
3
  import { DataSource, InfiniteTable } from '../../components/InfiniteTable';
4
- import { GetNotesSelector } from '../../Redux/ActionsReducers/NotesRedux';
4
+ import { GetAllNotesSelector } from '../../Redux/ActionsReducers/NotesRedux';
5
5
  import { useAdaptable } from '../AdaptableContext';
6
6
  import { AdaptableButtonComponent } from '../Components/AdaptableButton';
7
7
  import { PopupPanel } from '../Components/Popups/AdaptablePopup/PopupPanel';
@@ -15,7 +15,7 @@ const tableDOMProps = {
15
15
  export const NotesPopup = (props) => {
16
16
  const adaptable = useAdaptable();
17
17
  const primaryKeyHeader = adaptable.api.columnApi.getFriendlyNameForColumnId(adaptable.api.columnApi.getPrimaryKeyColumn().columnId);
18
- const allNotes = useSelector((state) => GetNotesSelector(state.Notes));
18
+ const allNotes = useSelector((state) => GetAllNotesSelector(state.Notes));
19
19
  const columnsMap = React.useMemo(() => {
20
20
  const columns = {
21
21
  primaryKey: {
@@ -24,13 +24,14 @@ export const NotesPopup = (props) => {
24
24
  },
25
25
  column: {
26
26
  field: 'ColumnId',
27
+ header: 'Column',
27
28
  valueGetter: (params) => {
28
29
  return adaptable.api.columnApi.getFriendlyNameForColumnId(params.data.ColumnId);
29
30
  },
30
31
  },
31
- note: {
32
- field: 'Value',
33
- header: 'Note',
32
+ text: {
33
+ field: 'Text',
34
+ header: 'Text',
34
35
  defaultEditable: true,
35
36
  defaultFlex: 3,
36
37
  },
@@ -40,10 +41,6 @@ export const NotesPopup = (props) => {
40
41
  return new Date(params.data.Timestamp).toDateString();
41
42
  },
42
43
  },
43
- author: {
44
- header: 'Author',
45
- valueGetter: (params) => params.data.Author.UserName,
46
- },
47
44
  delete: {
48
45
  defaultWidth: 50,
49
46
  render: (params) => {
@@ -64,8 +61,8 @@ export const NotesPopup = (props) => {
64
61
  if (change.type === 'update') {
65
62
  const data = change.data;
66
63
  const prevNote = allNotes.find((x) => x.Uuid === uuid);
67
- if (prevNote.Value !== data.Value) {
68
- adaptable.api.notesApi.updateNoteText(data.Value, prevNote);
64
+ if (prevNote.Text !== data.Text) {
65
+ adaptable.api.notesApi.updateNoteText(data.Text, prevNote);
69
66
  }
70
67
  }
71
68
  }
@@ -76,6 +73,7 @@ export const NotesPopup = (props) => {
76
73
  align: 'start',
77
74
  defaultFlex: 1,
78
75
  defaultSortable: false,
76
+ style: { fontSize: 'var(--ab-font-size-3)' },
79
77
  },
80
78
  }, headerOptions: {
81
79
  alwaysReserveSpaceForSortIcon: false,
@@ -7,10 +7,10 @@ import { Tabs } from '../components/Tabs';
7
7
  import { ColumnFilterModuleId } from '../Utilities/Constants/ModuleConstants';
8
8
  import { useAdaptable } from './AdaptableContext';
9
9
  export const SpecialColumnSettingsWizardStep = (props) => {
10
- var _a, _b;
10
+ var _a, _b, _c;
11
11
  const adaptable = useAdaptable();
12
- const possibleColumnTypes = adaptable.api.optionsApi.getColumnOptions().columnTypes;
13
- const { Filterable, Resizable, Groupable, Sortable, Pivotable, Aggregatable, SuppressMenu, SuppressMovable, } = (_a = props.settings) !== null && _a !== void 0 ? _a : {};
12
+ const possibleColumnTypes = (_a = adaptable.api.optionsApi.getColumnTypes()) !== null && _a !== void 0 ? _a : [];
13
+ const { Filterable, Resizable, Groupable, Sortable, Pivotable, Aggregatable, SuppressMenu, SuppressMovable, } = (_b = props.settings) !== null && _b !== void 0 ? _b : {};
14
14
  const handleColumnTypeChange = (columnType, checked) => {
15
15
  var _a, _b, _c;
16
16
  const columnTypes = (_b = (_a = props.settings) === null || _a === void 0 ? void 0 : _a.ColumnTypes) !== null && _b !== void 0 ? _b : [];
@@ -51,7 +51,7 @@ export const SpecialColumnSettingsWizardStep = (props) => {
51
51
  Boolean(possibleColumnTypes === null || possibleColumnTypes === void 0 ? void 0 : possibleColumnTypes.length) && (React.createElement(Tabs, { marginTop: 2, autoFocus: false },
52
52
  React.createElement(Tabs.Tab, null, "Column Types"),
53
53
  React.createElement(Tabs.Content, null,
54
- React.createElement(FormLayout, { columns: [{ name: 'first', size: '30%' }, { name: 'second' }] }, (_b = chunk(possibleColumnTypes !== null && possibleColumnTypes !== void 0 ? possibleColumnTypes : [], 2)) === null || _b === void 0 ? void 0 : _b.map(([first, second]) => {
54
+ React.createElement(FormLayout, { columns: [{ name: 'first', size: '30%' }, { name: 'second' }] }, (_c = chunk(possibleColumnTypes !== null && possibleColumnTypes !== void 0 ? possibleColumnTypes : [], 2)) === null || _c === void 0 ? void 0 : _c.map(([first, second]) => {
55
55
  var _a, _b, _c, _d, _e, _f;
56
56
  return (React.createElement(FormRow, { key: first },
57
57
  first && (React.createElement(CheckBox, { "data-name": first, onChange: (checked) => handleColumnTypeChange(first, checked), checked: (_c = (_b = (_a = props.settings) === null || _a === void 0 ? void 0 : _a.ColumnTypes) === null || _b === void 0 ? void 0 : _b.includes) === null || _c === void 0 ? void 0 : _c.call(_b, first) }, first)),
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { useDispatch } from 'react-redux';
2
+ import { useDispatch, useSelector } from 'react-redux';
3
3
  import { Select } from '../../components/Select';
4
4
  import * as ThemeRedux from '../../Redux/ActionsReducers/ThemeRedux';
5
5
  import { ThemeModuleId } from '../../Utilities/Constants/ModuleConstants';
@@ -8,6 +8,7 @@ export const ThemeSelector = (props) => {
8
8
  const adaptable = useAdaptable();
9
9
  const dispatch = useDispatch();
10
10
  const availableThemes = adaptable.api.themeApi.getThemes();
11
+ const currentTheme = useSelector((state) => state.Theme.CurrentTheme);
11
12
  const disabled = adaptable.api.entitlementApi.getEntitlementAccessLevelForModule(ThemeModuleId) === 'ReadOnly';
12
13
  const optionThemes = availableThemes.map((theme) => {
13
14
  if (typeof theme === 'string') {
@@ -22,8 +23,7 @@ export const ThemeSelector = (props) => {
22
23
  label: theme.Description,
23
24
  };
24
25
  });
25
- const theme = adaptable.api.themeApi.getCurrentThemeObject();
26
- return (React.createElement(Select, { "data-name": "select-theme-dropdown", options: optionThemes, value: theme.Name, disabled: disabled, size: props.size, onChange: (themeName) => {
26
+ return (React.createElement(Select, { "data-name": "select-theme-dropdown", searchable: false, options: optionThemes, value: currentTheme, disabled: disabled, size: props.size, onChange: (themeName) => {
27
27
  dispatch(ThemeRedux.ThemeSelect(themeName));
28
28
  } }));
29
29
  };
@@ -5,7 +5,7 @@ import { renderWithAdaptableContext } from '../View/renderWithAdaptableContext';
5
5
  const ActionButtons = (props) => {
6
6
  const { buttons, adaptableApi, context, rerender } = props;
7
7
  return (React.createElement(React.Fragment, null, buttons.map((button, index) => {
8
- var _a, _b;
8
+ var _a, _b, _c, _d, _e, _f;
9
9
  if (button.hidden && button.hidden(button, context)) {
10
10
  return;
11
11
  }
@@ -27,12 +27,13 @@ const ActionButtons = (props) => {
27
27
  }, 16);
28
28
  };
29
29
  const disabled = button.disabled && button.disabled(button, context);
30
- return (React.createElement(SimpleButton, { key: button.Uuid, "data-name": `action-button-${index + 1}`, variant: (_a = buttonStyle === null || buttonStyle === void 0 ? void 0 : buttonStyle.variant) !== null && _a !== void 0 ? _a : 'text', disabled: disabled, tooltip: buttonTooltip, icon: buttonIcon, tone: (_b = buttonStyle === null || buttonStyle === void 0 ? void 0 : buttonStyle.tone) !== null && _b !== void 0 ? _b : 'none', onClick: handleClick, className: buttonStyle === null || buttonStyle === void 0 ? void 0 : buttonStyle.className, accessLevel: 'Full' }, buttonLabel));
30
+ const identifier = (_d = (_c = (_a = button.label) !== null && _a !== void 0 ? _a : (_b = button.icon) === null || _b === void 0 ? void 0 : _b.name) !== null && _c !== void 0 ? _c : button.tooltip) !== null && _d !== void 0 ? _d : `${index + 1}`;
31
+ return (React.createElement(SimpleButton, { key: button.Uuid, "data-name": `action-button-${identifier}`, variant: (_e = buttonStyle === null || buttonStyle === void 0 ? void 0 : buttonStyle.variant) !== null && _e !== void 0 ? _e : 'text', disabled: disabled, tooltip: buttonTooltip, icon: buttonIcon, tone: (_f = buttonStyle === null || buttonStyle === void 0 ? void 0 : buttonStyle.tone) !== null && _f !== void 0 ? _f : 'none', onClick: handleClick, className: buttonStyle === null || buttonStyle === void 0 ? void 0 : buttonStyle.className, accessLevel: 'Full' }, buttonLabel));
31
32
  })));
32
33
  };
33
34
  export const ReactActionColumnRenderer = (props) => {
34
35
  const rerender = useRerender();
35
- const adaptable = props.api.__adaptable;
36
+ const adaptable = props.context.__adaptable;
36
37
  const { actionButtons, actionColumn } = adaptable.api.internalApi.getActionButtonsAndActionColumn(props.colDef);
37
38
  if (!actionColumn || !actionButtons.length) {
38
39
  return null;
@@ -41,7 +42,7 @@ export const ReactActionColumnRenderer = (props) => {
41
42
  if (adaptable.api.gridApi.isGroupRowNode(props.node) && !actionColumn.includeGroupedRows) {
42
43
  return null;
43
44
  }
44
- const pkValue = adaptable.getPrimaryKeyValueFromRowNode(props.node);
45
+ const pkValue = adaptable.getPrimaryKeyValueFromRowNode(props.node, props.api);
45
46
  const buttonContext = {
46
47
  actionColumn,
47
48
  primaryKeyValue: pkValue,
@@ -57,7 +58,7 @@ export const ReactActionColumnRenderer = (props) => {
57
58
  export class ActionColumnRenderer {
58
59
  // gets called once before the renderer is used
59
60
  init(params) {
60
- const adaptable = params.api.__adaptable;
61
+ const adaptable = params.context.__adaptable;
61
62
  const { actionButtons, actionColumn } = adaptable.api.internalApi.getActionButtonsAndActionColumn(params.colDef);
62
63
  if (!actionColumn || !actionButtons.length) {
63
64
  return;
@@ -70,7 +71,7 @@ export class ActionColumnRenderer {
70
71
  this.eGui.innerHTML = '';
71
72
  return;
72
73
  }
73
- const pkValue = adaptable.getPrimaryKeyValueFromRowNode(params.node);
74
+ const pkValue = adaptable.getPrimaryKeyValueFromRowNode(params.node, params.api);
74
75
  const buttonContext = {
75
76
  actionColumn,
76
77
  primaryKeyValue: pkValue,