@adaptabletools/adaptable 15.4.3 → 16.0.0-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (278) hide show
  1. package/base.css +1 -1
  2. package/base.css.map +1 -1
  3. package/bundle.cjs.js +234 -228
  4. package/index.css +1 -1
  5. package/index.css.map +1 -1
  6. package/package.json +2 -2
  7. package/publishTimestamp.d.ts +1 -1
  8. package/publishTimestamp.js +1 -1
  9. package/src/AdaptableInterfaces/IAdaptable.d.ts +3 -2
  10. package/src/AdaptableOptions/ActionColumnOptions.d.ts +82 -0
  11. package/src/AdaptableOptions/{ActionOptions.d.ts → ActionRowOptions.d.ts} +15 -90
  12. package/src/AdaptableOptions/AdaptableOptions.d.ts +32 -7
  13. package/src/AdaptableOptions/AdaptableQLOptions.d.ts +1 -12
  14. package/src/AdaptableOptions/AlertOptions.d.ts +9 -0
  15. package/src/AdaptableOptions/CalendarOptions.d.ts +11 -0
  16. package/src/AdaptableOptions/CellSummaryOptions.d.ts +10 -0
  17. package/src/AdaptableOptions/ColumnOptions.d.ts +0 -4
  18. package/src/AdaptableOptions/CustomSortOptions.d.ts +24 -0
  19. package/src/AdaptableOptions/DataChangeHistoryOptions.d.ts +5 -1
  20. package/src/AdaptableOptions/DataSetOptions.d.ts +41 -0
  21. package/src/AdaptableOptions/DataSetOptions.js +2 -0
  22. package/src/AdaptableOptions/EditOptions.d.ts +4 -4
  23. package/src/AdaptableOptions/EntitlementOptions.d.ts +0 -16
  24. package/src/AdaptableOptions/ExportOptions.d.ts +2 -4
  25. package/src/AdaptableOptions/ExpressionOptions.d.ts +7 -0
  26. package/src/AdaptableOptions/FinancePluginOptions.d.ts +1 -1
  27. package/src/AdaptableOptions/GroupingOptions.d.ts +50 -0
  28. package/src/AdaptableOptions/GroupingOptions.js +2 -0
  29. package/src/AdaptableOptions/MasterDetailPluginOptions.d.ts +9 -0
  30. package/src/AdaptableOptions/PredicateOptions.d.ts +4 -0
  31. package/src/AdaptableOptions/TeamSharingOptions.d.ts +0 -8
  32. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +30 -1
  33. package/src/Api/ActionColumnApi.d.ts +10 -0
  34. package/src/Api/ActionColumnApi.js +2 -0
  35. package/src/Api/{ActionApi.d.ts → ActionRowApi.d.ts} +4 -15
  36. package/src/Api/ActionRowApi.js +2 -0
  37. package/src/Api/AdaptableApi.d.ts +11 -6
  38. package/src/Api/AlertApi.d.ts +2 -111
  39. package/src/Api/BulkUpdateApi.d.ts +0 -7
  40. package/src/Api/CalculatedColumnApi.d.ts +0 -31
  41. package/src/Api/CalendarApi.d.ts +1 -1
  42. package/src/Api/CellSummaryApi.d.ts +0 -7
  43. package/src/Api/ChartingApi.d.ts +0 -7
  44. package/src/Api/ColumnApi.d.ts +1 -131
  45. package/src/Api/ConfigApi.d.ts +1 -7
  46. package/src/Api/CustomSortApi.d.ts +0 -25
  47. package/src/Api/DashboardApi.d.ts +0 -16
  48. package/src/Api/DataChangeHistoryApi.d.ts +0 -7
  49. package/src/Api/DataSetApi.d.ts +1 -16
  50. package/src/Api/EventApi.d.ts +1 -9
  51. package/src/Api/Events/AdaptableStateChanged.d.ts +0 -8
  52. package/src/Api/Events/AdaptableStateReloaded.d.ts +0 -4
  53. package/src/Api/Events/BaseEventInfo.d.ts +9 -1
  54. package/src/Api/Events/LiveDataChanged.d.ts +3 -7
  55. package/src/Api/ExportApi.d.ts +7 -31
  56. package/src/Api/{QueryLanguageApi.d.ts → ExpressionApi.d.ts} +2 -2
  57. package/src/Api/ExpressionApi.js +2 -0
  58. package/src/Api/FilterApi.d.ts +1 -59
  59. package/src/Api/FlashingCellApi.d.ts +0 -15
  60. package/src/Api/FormatColumnApi.d.ts +1 -91
  61. package/src/Api/FreeTextColumnApi.d.ts +0 -39
  62. package/src/Api/GridApi.d.ts +0 -31
  63. package/src/Api/Implementation/ActionColumnApiImpl.d.ts +7 -0
  64. package/src/Api/Implementation/ActionColumnApiImpl.js +14 -0
  65. package/src/Api/Implementation/ActionRowApiImpl.d.ts +12 -0
  66. package/src/Api/Implementation/{ActionApiImpl.js → ActionRowApiImpl.js} +8 -15
  67. package/src/Api/Implementation/AdaptableApiImpl.d.ts +6 -4
  68. package/src/Api/Implementation/AdaptableApiImpl.js +7 -5
  69. package/src/Api/Implementation/AlertApiImpl.d.ts +1 -43
  70. package/src/Api/Implementation/AlertApiImpl.js +4 -94
  71. package/src/Api/Implementation/ApiBase.d.ts +15 -5
  72. package/src/Api/Implementation/ApiBase.js +26 -8
  73. package/src/Api/Implementation/CalculatedColumnApiImpl.d.ts +0 -7
  74. package/src/Api/Implementation/CalculatedColumnApiImpl.js +0 -32
  75. package/src/Api/Implementation/CalendarApiImpl.d.ts +1 -0
  76. package/src/Api/Implementation/CalendarApiImpl.js +20 -17
  77. package/src/Api/Implementation/CellSummaryApiImpl.d.ts +0 -1
  78. package/src/Api/Implementation/CellSummaryApiImpl.js +1 -6
  79. package/src/Api/Implementation/ChartingApiImpl.d.ts +0 -1
  80. package/src/Api/Implementation/ChartingApiImpl.js +0 -5
  81. package/src/Api/Implementation/ColumnApiImpl.d.ts +0 -35
  82. package/src/Api/Implementation/ColumnApiImpl.js +1 -138
  83. package/src/Api/Implementation/ConfigApiImpl.js +2 -1
  84. package/src/Api/Implementation/CustomSortApiImpl.d.ts +1 -5
  85. package/src/Api/Implementation/CustomSortApiImpl.js +0 -16
  86. package/src/Api/Implementation/DashboardApiImpl.d.ts +0 -4
  87. package/src/Api/Implementation/DashboardApiImpl.js +2 -24
  88. package/src/Api/Implementation/DataChangeHistoryApiImpl.d.ts +0 -1
  89. package/src/Api/Implementation/DataChangeHistoryApiImpl.js +0 -5
  90. package/src/Api/Implementation/DataSetApiImpl.d.ts +1 -4
  91. package/src/Api/Implementation/DataSetApiImpl.js +1 -14
  92. package/src/Api/Implementation/ExportApiImpl.d.ts +4 -10
  93. package/src/Api/Implementation/ExportApiImpl.js +15 -34
  94. package/src/Api/Implementation/{QueryLanguageApiImpl.d.ts → ExpressionApiImpl.d.ts} +4 -4
  95. package/src/Api/Implementation/{QueryLanguageApiImpl.js → ExpressionApiImpl.js} +7 -5
  96. package/src/Api/Implementation/FilterApiImpl.d.ts +1 -17
  97. package/src/Api/Implementation/FilterApiImpl.js +0 -53
  98. package/src/Api/Implementation/FlashingCellApiImpl.d.ts +0 -3
  99. package/src/Api/Implementation/FlashingCellApiImpl.js +2 -13
  100. package/src/Api/Implementation/FormatColumnApiImpl.d.ts +2 -34
  101. package/src/Api/Implementation/FormatColumnApiImpl.js +0 -73
  102. package/src/Api/Implementation/FreeTextColumnApiImpl.d.ts +0 -8
  103. package/src/Api/Implementation/FreeTextColumnApiImpl.js +0 -29
  104. package/src/Api/Implementation/GridApiImpl.d.ts +0 -7
  105. package/src/Api/Implementation/GridApiImpl.js +3 -32
  106. package/src/Api/Implementation/LayoutApiImpl.d.ts +1 -6
  107. package/src/Api/Implementation/LayoutApiImpl.js +2 -27
  108. package/src/Api/Implementation/OptionsApiImpl.d.ts +10 -5
  109. package/src/Api/Implementation/OptionsApiImpl.js +19 -7
  110. package/src/Api/Implementation/PlusMinusApiImpl.d.ts +0 -1
  111. package/src/Api/Implementation/PlusMinusApiImpl.js +0 -5
  112. package/src/Api/Implementation/PredicateApiImpl.d.ts +1 -8
  113. package/src/Api/Implementation/PredicateApiImpl.js +2 -30
  114. package/src/Api/Implementation/QueryApiImpl.d.ts +0 -5
  115. package/src/Api/Implementation/QueryApiImpl.js +0 -21
  116. package/src/Api/Implementation/QuickSearchApiImpl.d.ts +0 -1
  117. package/src/Api/Implementation/QuickSearchApiImpl.js +0 -5
  118. package/src/Api/Implementation/ScheduleApiImpl.d.ts +1 -18
  119. package/src/Api/Implementation/ScheduleApiImpl.js +0 -69
  120. package/src/Api/Implementation/ScopeApiImpl.js +1 -1
  121. package/src/Api/Implementation/SettingsPanelApiImpl.d.ts +0 -2
  122. package/src/Api/Implementation/SettingsPanelApiImpl.js +0 -9
  123. package/src/Api/Implementation/ShortcutApiImpl.d.ts +1 -6
  124. package/src/Api/Implementation/ShortcutApiImpl.js +0 -21
  125. package/src/Api/Implementation/SmartEditApiImpl.d.ts +0 -1
  126. package/src/Api/Implementation/SmartEditApiImpl.js +0 -5
  127. package/src/Api/Implementation/StyledColumnApiImpl.d.ts +1 -5
  128. package/src/Api/Implementation/StyledColumnApiImpl.js +2 -17
  129. package/src/Api/Implementation/SystemStatusApiImpl.d.ts +0 -2
  130. package/src/Api/Implementation/SystemStatusApiImpl.js +0 -9
  131. package/src/Api/Implementation/TeamSharingApiImpl.d.ts +0 -5
  132. package/src/Api/Implementation/TeamSharingApiImpl.js +0 -21
  133. package/src/Api/Implementation/ThemeApiImpl.d.ts +0 -4
  134. package/src/Api/Implementation/ThemeApiImpl.js +2 -17
  135. package/src/Api/Implementation/ToolPanelApiImpl.js +2 -2
  136. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +4 -2
  137. package/src/Api/Implementation/UserInterfaceApiImpl.js +17 -10
  138. package/src/Api/Internal/{ActionInternalApi.d.ts → ActionRowInternalApi.d.ts} +2 -2
  139. package/src/Api/Internal/{ActionInternalApi.js → ActionRowInternalApi.js} +12 -5
  140. package/src/Api/Internal/AdaptableInternalApi.d.ts +1 -10
  141. package/src/Api/Internal/AdaptableInternalApi.js +9 -20
  142. package/src/Api/Internal/AlertInternalApi.js +9 -6
  143. package/src/Api/Internal/CalculatedColumnInternalApi.js +2 -2
  144. package/src/Api/Internal/CustomSortInternalApi.d.ts +1 -1
  145. package/src/Api/Internal/CustomSortInternalApi.js +1 -1
  146. package/src/Api/Internal/DashboardInternalApi.js +2 -0
  147. package/src/Api/Internal/DataSetInternalApi.d.ts +1 -1
  148. package/src/Api/Internal/DataSetInternalApi.js +2 -1
  149. package/src/Api/Internal/ExportInternalApi.js +1 -1
  150. package/src/Api/Internal/{QueryLanguageInternalApi.d.ts → ExpressionnternalApi.d.ts} +1 -1
  151. package/src/Api/Internal/{QueryLanguageInternalApi.js → ExpressionnternalApi.js} +9 -5
  152. package/src/Api/Internal/FilterInternalApi.js +4 -1
  153. package/src/Api/Internal/FormatColumnInternalApi.js +1 -1
  154. package/src/Api/Internal/GridInternalApi.js +8 -0
  155. package/src/Api/Internal/LayoutInternalApi.js +6 -1
  156. package/src/Api/Internal/PredicateInternalApi.js +10 -0
  157. package/src/Api/Internal/QueryInternalApi.js +3 -1
  158. package/src/Api/Internal/SystemStatusInternalApi.js +4 -1
  159. package/src/Api/Internal/TeamSharingInternalApi.js +2 -0
  160. package/src/Api/LayoutApi.d.ts +3 -27
  161. package/src/Api/OptionsApi.d.ts +28 -10
  162. package/src/Api/PlusMinusApi.d.ts +0 -7
  163. package/src/Api/PredicateApi.d.ts +1 -32
  164. package/src/Api/QueryApi.d.ts +0 -23
  165. package/src/Api/QuickSearchApi.d.ts +0 -4
  166. package/src/Api/ScheduleApi.d.ts +0 -81
  167. package/src/Api/SettingsPanelApi.d.ts +0 -11
  168. package/src/Api/ShortcutApi.d.ts +0 -25
  169. package/src/Api/SmartEditApi.d.ts +0 -7
  170. package/src/Api/StyledColumnApi.d.ts +0 -21
  171. package/src/Api/SystemStatusApi.d.ts +0 -11
  172. package/src/Api/TeamSharingApi.d.ts +0 -23
  173. package/src/Api/ThemeApi.d.ts +0 -19
  174. package/src/Api/UserInterfaceApi.d.ts +4 -9
  175. package/src/PredefinedConfig/AlertState.d.ts +4 -1
  176. package/src/PredefinedConfig/Common/AdaptableFormat.d.ts +3 -3
  177. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +4 -1
  178. package/src/PredefinedConfig/Common/AggregationColumns.d.ts +3 -0
  179. package/src/PredefinedConfig/Common/BaseContext.d.ts +8 -0
  180. package/src/PredefinedConfig/Common/DataChangedScope.d.ts +9 -0
  181. package/src/PredefinedConfig/Common/Entitlement.d.ts +1 -1
  182. package/src/PredefinedConfig/LayoutState.d.ts +0 -6
  183. package/src/PredefinedConfig/SystemState.d.ts +1 -1
  184. package/src/PredefinedConfig/TeamSharingState.d.ts +1 -1
  185. package/src/PredefinedConfig/ThemeState.d.ts +3 -0
  186. package/src/Strategy/AdaptableModuleBase.js +3 -3
  187. package/src/Strategy/AlertModule.js +3 -3
  188. package/src/Strategy/CalculatedColumnModule.js +2 -2
  189. package/src/Strategy/CellSummaryModule.js +2 -0
  190. package/src/Strategy/DataSetModule.d.ts +1 -1
  191. package/src/Strategy/DataSetModule.js +1 -1
  192. package/src/Strategy/ExportModule.js +4 -0
  193. package/src/Strategy/FlashingCellModule.js +4 -4
  194. package/src/Strategy/FormatColumnModule.js +3 -3
  195. package/src/Strategy/QueryModule.js +1 -1
  196. package/src/Strategy/SmartEditModule.js +2 -0
  197. package/src/Utilities/Defaults/DefaultAdaptableOptions.js +24 -22
  198. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +4 -0
  199. package/src/Utilities/Helpers/AdaptableHelper.js +12 -6
  200. package/src/Utilities/Helpers/FormatHelper.js +7 -0
  201. package/src/Utilities/ObjectFactory.d.ts +2 -2
  202. package/src/Utilities/ObjectFactory.js +6 -4
  203. package/src/Utilities/Services/AlertService.js +1 -1
  204. package/src/Utilities/Services/CalculatedColumnExpressionService.js +2 -2
  205. package/src/Utilities/Services/ChartingService.js +2 -0
  206. package/src/Utilities/Services/EntitlementService.js +2 -2
  207. package/src/Utilities/Services/ModuleService.js +10 -10
  208. package/src/Utilities/Services/QueryLanguageService.js +16 -0
  209. package/src/Utilities/Services/ReportService.js +8 -6
  210. package/src/Utilities/Services/RowEditService.js +4 -2
  211. package/src/Utilities/Services/ValidationService.js +2 -0
  212. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsActionColumnsForm.js +3 -3
  213. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +1 -1
  214. package/src/View/CellSummary/CellSummaryStatusPanel.js +1 -1
  215. package/src/View/Components/AdaptableIconSelector/index.d.ts +6 -0
  216. package/src/View/Components/AdaptableIconSelector/index.js +18 -0
  217. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +2 -2
  218. package/src/View/Components/AdaptableViewIcon/index.d.ts +10 -0
  219. package/src/View/Components/AdaptableViewIcon/index.js +18 -0
  220. package/src/View/Components/EntityRulesEditor/Utilities.js +3 -3
  221. package/src/View/Components/ExternalRenderer.js +14 -2
  222. package/src/View/Components/FilterForm/QuickFilterForm.js +4 -0
  223. package/src/View/Components/Popups/AdaptablePopupAlert.js +2 -0
  224. package/src/View/Components/RangesComponent.d.ts +4 -4
  225. package/src/View/Components/RangesComponent.js +13 -22
  226. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +2 -0
  227. package/src/View/Components/ToolPanel/CustomToolPanelContent.js +11 -1
  228. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +1 -1
  229. package/src/View/Dashboard/CustomDashboardButton.js +2 -0
  230. package/src/View/Dashboard/CustomToolbarWrapper.js +13 -1
  231. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +5 -5
  232. package/src/View/DataChangeHistory/buildActionColumnButton.d.ts +2 -2
  233. package/src/View/DataChangeHistory/buildActionColumnButton.js +3 -2
  234. package/src/View/Export/ExportViewPanel.js +4 -4
  235. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +3 -1
  236. package/src/View/GridInfo/GridInfoPopup.d.ts +0 -1
  237. package/src/View/GridInfo/GridInfoPopup.js +1 -2
  238. package/src/View/GridInfo/GridOptionsComponent.js +1 -1
  239. package/src/View/Layout/LayoutViewPanel.js +1 -1
  240. package/src/View/Layout/PivotDetailsPopoup.js +2 -0
  241. package/src/View/Layout/SaveLayoutButton.js +1 -1
  242. package/src/View/Layout/Wizard/LayoutWizard.js +1 -1
  243. package/src/View/Query/Wizard/NamedQueryExpressionWizardSection.js +1 -1
  244. package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +1 -1
  245. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +2 -2
  246. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.js +8 -1
  247. package/src/agGrid/ActionColumnRenderer.d.ts +1 -1
  248. package/src/agGrid/ActionColumnRenderer.js +5 -1
  249. package/src/agGrid/Adaptable.d.ts +14 -3
  250. package/src/agGrid/Adaptable.js +129 -30
  251. package/src/agGrid/BadgeRenderer.js +10 -2
  252. package/src/agGrid/CheckboxRenderer.d.ts +1 -2
  253. package/src/agGrid/agGridHelper.js +4 -5
  254. package/src/agGrid/agGridMenuHelper.js +4 -0
  255. package/src/agGrid/attachAddaptableColumnTypes.d.ts +11 -11
  256. package/src/agGrid/editors/AdaptableDateEditor/index.js +2 -0
  257. package/src/agGrid/editors/AdaptableNumberEditor/index.js +2 -2
  258. package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +6 -3
  259. package/src/components/AdaptableIconComponent/index.js +6 -3
  260. package/src/components/ExpressionEditor/BaseEditorInput.js +2 -0
  261. package/src/components/ExpressionEditor/index.js +1 -1
  262. package/src/components/IconSelector/IconSelector.d.ts +2 -0
  263. package/src/components/IconSelector/IconSelector.js +21 -5
  264. package/src/components/Input/NumberInput.d.ts +10 -0
  265. package/src/components/Input/NumberInput.js +46 -0
  266. package/src/metamodel/adaptable.metamodel.d.ts +230 -145
  267. package/src/metamodel/adaptable.metamodel.js +1 -1
  268. package/src/types.d.ts +13 -8
  269. package/version.d.ts +1 -1
  270. package/version.js +1 -1
  271. package/src/AdaptableOptions/GeneralOptions.d.ts +0 -159
  272. package/src/Api/Events/SearchChanged.d.ts +0 -12
  273. package/src/Api/Implementation/ActionApiImpl.d.ts +0 -14
  274. /package/src/AdaptableOptions/{ActionOptions.js → ActionColumnOptions.js} +0 -0
  275. /package/src/AdaptableOptions/{GeneralOptions.js → ActionRowOptions.js} +0 -0
  276. /package/src/{Api/ActionApi.js → AdaptableOptions/CalendarOptions.js} +0 -0
  277. /package/src/{Api/Events/SearchChanged.js → AdaptableOptions/CellSummaryOptions.js} +0 -0
  278. /package/src/{Api/QueryLanguageApi.js → AdaptableOptions/CustomSortOptions.js} +0 -0
@@ -27,7 +27,7 @@ const CustomSortColumnWizardSection = (props) => {
27
27
  const sortableCols = React.useMemo(() => {
28
28
  const sortableColumns = api.columnApi.getSortableColumns();
29
29
  const customSorts = api.customSortApi.getCustomSorts();
30
- const columnSortComparers = api.optionsApi.getGeneralOptions().customSortComparers || [];
30
+ const columnSortComparers = api.optionsApi.getCustomSortOptions().customSortComparers || [];
31
31
  const usedColumnIds = [
32
32
  ...customSorts.map((customSort) => customSort.ColumnId),
33
33
  ...columnSortComparers.map((comparer) => api.scopeApi.getColumnIdsInScope(comparer.scope)),
@@ -13,6 +13,8 @@ const CustomDashboardButton = (props) => {
13
13
  // with the next opportunity we should abstract it
14
14
  const dashboardContext = {
15
15
  adaptableApi: props.api,
16
+ userName: props.api.optionsApi.getUserName(),
17
+ adaptableId: props.api.optionsApi.getAdaptableId(),
16
18
  dashboardState: props.api.dashboardApi.getDashboardState(),
17
19
  };
18
20
  const buttonIcon = props.api.internalApi.getIconForButton(button, dashboardContext);
@@ -23,6 +23,8 @@ const CustomToolbarWrapper = (props) => {
23
23
  visible: true,
24
24
  element,
25
25
  adaptableApi,
26
+ userName: adaptableApi.optionsApi.getUserName(),
27
+ adaptableId: adaptableApi.optionsApi.getAdaptableId(),
26
28
  });
27
29
  setContentsHTML(html);
28
30
  }
@@ -33,7 +35,13 @@ const CustomToolbarWrapper = (props) => {
33
35
  // cleanup runs in a separate effect, this way it's executed only once on unmount
34
36
  return () => {
35
37
  if (props.customToolbar.render) {
36
- props.customToolbar.render({ visible: false, element, adaptableApi });
38
+ props.customToolbar.render({
39
+ visible: false,
40
+ element,
41
+ adaptableApi,
42
+ userName: adaptableApi.optionsApi.getUserName(),
43
+ adaptableId: adaptableApi.optionsApi.getAdaptableId(),
44
+ });
37
45
  }
38
46
  };
39
47
  }, []);
@@ -60,6 +68,8 @@ const CustomToolbarWrapper = (props) => {
60
68
  const customToolbarConfiguredInfo = {
61
69
  adaptableApi: api,
62
70
  customToolbar: props.customToolbar,
71
+ userName: api.optionsApi.getUserName(),
72
+ adaptableId: api.optionsApi.getAdaptableId(),
63
73
  };
64
74
  api.eventApi.emit('CustomToolbarConfigured', customToolbarConfiguredInfo);
65
75
  }, accessLevel: api.internalApi
@@ -73,6 +83,8 @@ const CustomToolbarWrapper = (props) => {
73
83
  const dashboardContext = {
74
84
  customToolbar: props.customToolbar,
75
85
  adaptableApi: api,
86
+ userName: api.optionsApi.getUserName(),
87
+ adaptableId: api.optionsApi.getAdaptableId(),
76
88
  dashboardState: api.dashboardApi.getDashboardState(),
77
89
  };
78
90
  const buttonIcon = api.internalApi.getIconForButton(button, dashboardContext);
@@ -64,7 +64,7 @@ const DataChangeHistoryGrid = (props) => {
64
64
  // 2. this UI will be reimplemented with Infinite Table anyway
65
65
  const addedRows = mapChangeHistoryRowData(addedChangeHistoryLogs, mainAdaptableInstance);
66
66
  const removedRows = mapChangeHistoryRowData(removedChangeHistoryLogs, mainAdaptableInstance);
67
- adaptableApi.optionsApi.getAgGridOptions().api.applyTransactionAsync({
67
+ adaptableApi.gridApi.getAgGridInstance().api.applyTransactionAsync({
68
68
  add: addedRows,
69
69
  remove: removedRows,
70
70
  });
@@ -81,10 +81,10 @@ const buildAdaptableOptions = (mainAdaptableInstance, gridOptions, adaptableCont
81
81
  const changeKey = rowData === null || rowData === void 0 ? void 0 : rowData['changeKey'];
82
82
  changeKey && onUndoChange(changeKey);
83
83
  };
84
- const actionColumnButton = (0, buildActionColumnButton_1.buildActionColumnButton)((_a = mainAdaptableInstance.adaptableOptions) === null || _a === void 0 ? void 0 : _a.dataChangeHistoryOptions, undoRowNode);
85
- let actionOptions = undefined;
84
+ const actionColumnButton = (0, buildActionColumnButton_1.buildActionColumnButton)((_a = mainAdaptableInstance.adaptableOptions) === null || _a === void 0 ? void 0 : _a.dataChangeHistoryOptions, mainAdaptableInstance.api, undoRowNode);
85
+ let actionColumnOptions = undefined;
86
86
  if (actionColumnButton) {
87
- actionOptions = {
87
+ actionColumnOptions = {
88
88
  actionColumns: [
89
89
  {
90
90
  columnId: 'undoActionColumn',
@@ -116,7 +116,7 @@ const buildAdaptableOptions = (mainAdaptableInstance, gridOptions, adaptableCont
116
116
  createDefaultLayout: false,
117
117
  autoSizeColumnsInLayout: true,
118
118
  },
119
- actionOptions: actionOptions,
119
+ actionColumnOptions: actionColumnOptions,
120
120
  predefinedConfig: {
121
121
  Layout: {
122
122
  Revision: Date.now(),
@@ -1,3 +1,3 @@
1
1
  import { IRowNode } from '@ag-grid-community/core';
2
- import { ActionColumnContext, AdaptableButton, DataChangeHistoryOptions } from '../../types';
3
- export declare const buildActionColumnButton: (options: DataChangeHistoryOptions, undoRowNode: (rowNode: IRowNode) => void) => AdaptableButton<ActionColumnContext<any>>[];
2
+ import { ActionColumnContext, AdaptableApi, AdaptableButton, DataChangeHistoryOptions } from '../../types';
3
+ export declare const buildActionColumnButton: (options: DataChangeHistoryOptions, parentAdapTableApi: AdaptableApi, undoRowNode: (rowNode: IRowNode) => void) => AdaptableButton<ActionColumnContext<any>>[];
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.buildActionColumnButton = void 0;
4
- const buildActionColumnButton = (options, undoRowNode) => {
4
+ const buildActionColumnButton = (options, parentAdapTableApi, undoRowNode) => {
5
5
  let changeHistoryButtons = options.changeHistoryButton;
6
6
  if (!changeHistoryButtons ||
7
7
  (Array.isArray(changeHistoryButtons) && changeHistoryButtons.length === 0)) {
@@ -27,7 +27,8 @@ const buildActionColumnButton = (options, undoRowNode) => {
27
27
  };
28
28
  const buildContext = (context) => {
29
29
  const dataChangedInfo = context.rowNode.data.changeInfo;
30
- return Object.assign(Object.assign({}, context), { isGroupNode: isGroupNode(context), undoDataChange: () => onUndo(context), dataChangedInfo });
30
+ return Object.assign(Object.assign({}, context), { isGroupNode: isGroupNode(context), undoDataChange: () => onUndo(context), dataChangedInfo,
31
+ parentAdapTableApi });
31
32
  };
32
33
  return changeHistoryButtons.map((actionColumnOption) => ({
33
34
  label: (button, context) => {
@@ -85,7 +85,7 @@ class ExportViewPanelComponent extends React.Component {
85
85
  React.createElement(DropdownButton_1.default, { disabled: currentReportId === constants_1.SELECT_REPORT_STRING, width: "100%", fontSize: "small", items: destinationItems, columns: ['label'], className: `ab-${elementType}__Export__export`, onClear: () => this.onSelectedDestinationChanged(null), showClearButton: !!currentDestination, variant: "outlined", marginRight: 2 }, currentDestinationId)),
86
86
  React.createElement(rebass_1.Flex, { className: (0, join_1.default)(accessLevel == 'ReadOnly' ? GeneralConstants.READ_ONLY_STYLE : '', `ab-${elementType}__Export__controls`), style: { width: '100%' } },
87
87
  React.createElement(ButtonExport_1.ButtonExport, { onClick: () => onApplyExport(), tooltip: "Export Report", className: `ab-${elementType}__Export__export`, disabled: currentReport == null || currentDestination == null }),
88
- React.createElement(ButtonEdit_1.ButtonEdit, { onClick: () => this.props.onEditReport(this.props.moduleInfo.Popup), tooltip: "Edit Report", className: `ab-${elementType}__Export__edit`, disabled: currentReport == null || this.props.api.exportApi.isServerReport(currentReport), accessLevel: accessLevel }),
88
+ React.createElement(ButtonEdit_1.ButtonEdit, { onClick: () => this.props.onEditReport(this.props.moduleInfo.Popup), tooltip: "Edit Report", className: `ab-${elementType}__Export__edit`, disabled: currentReport == null || this.props.api.exportApi.isExternalReport(currentReport), accessLevel: accessLevel }),
89
89
  React.createElement(ButtonNew_1.ButtonNew, { variant: "text", className: `ab-${elementType}__Export__new`, tone: "neutral", children: null, onClick: () => this.props.onNewReport(this.props.moduleInfo.Popup), tooltip: "Create New Report", accessLevel: accessLevel }),
90
90
  React.createElement(ButtonDelete_1.ButtonDelete, { tooltip: "Delete Report", className: `ab-${elementType}__Export__delete`, disabled: currentReport == null, ConfirmAction: ExportRedux.ReportDelete(currentReport), ConfirmationMsg: deleteMessage, ConfirmationTitle: 'Delete Report', accessLevel: accessLevel }),
91
91
  this.props.api.internalApi
@@ -103,9 +103,9 @@ class ExportViewPanelComponent extends React.Component {
103
103
  ...this.props.api.exportApi.getAvailableSystemReports(),
104
104
  ...this.props.UserReports.map((r) => r.Name),
105
105
  ];
106
- const serverReports = this.props.api.exportApi.getServerReports();
107
- if (ArrayExtensions_1.default.IsNotNullOrEmpty(serverReports)) {
108
- reportNames.push(...serverReports.map((r) => r.name));
106
+ const externalReports = this.props.api.exportApi.getExternalReports();
107
+ if (ArrayExtensions_1.default.IsNotNullOrEmpty(externalReports)) {
108
+ reportNames.push(...externalReports.map((r) => r.name));
109
109
  }
110
110
  return reportNames;
111
111
  }
@@ -278,7 +278,9 @@ const renderNumberFormat = (data, onChange, setFormatOption, scopedCustomFormatt
278
278
  ? (0, clamp_1.default)(Number(e.currentTarget.value), 0, 20)
279
279
  : undefined) })),
280
280
  React.createElement(FormLayout_1.FormRow, { label: "Integer Digits" },
281
- React.createElement(Input_1.default, { "data-name": "integer-digits", type: "number", min: "0", value: data.DisplayFormat.Options.IntegerDigits, onChange: (e) => setFormatOption('IntegerDigits', Number(e.currentTarget.value)) })),
281
+ React.createElement(Input_1.default, { "data-name": "integer-digits", type: "number", min: "0", value: data.DisplayFormat.Options.IntegerDigits, onChange: (e) => setFormatOption('IntegerDigits', StringExtensions_1.default.IsNumeric(e.currentTarget.value)
282
+ ? (0, clamp_1.default)(Number(e.currentTarget.value), 0, 20)
283
+ : undefined) })),
282
284
  React.createElement(FormLayout_1.FormRow, { label: "Multiplier" },
283
285
  React.createElement(Input_1.default, { "data-name": "multiplier", type: "number", value: data.DisplayFormat.Options.Multiplier, onChange: (e) => setFormatOption('Multiplier', Number(e.currentTarget.value)) })),
284
286
  ' ',
@@ -11,7 +11,6 @@ export interface AdaptableGridInfoState {
11
11
  IsContainerOptionsMinimised: boolean;
12
12
  IsSearchOptionsMinimised: boolean;
13
13
  IsLayoutOptionsMinimised: boolean;
14
- IsGeneralOptionsMinimised: boolean;
15
14
  }
16
15
  export declare const GridInfoPopup: (props: GridInfoPopupProps) => JSX.Element;
17
16
  export {};
@@ -39,7 +39,6 @@ const GridInfoPopup = (props) => {
39
39
  IsContainerOptionsMinimised: true,
40
40
  IsSearchOptionsMinimised: true,
41
41
  IsLayoutOptionsMinimised: true,
42
- IsGeneralOptionsMinimised: true,
43
42
  });
44
43
  const updateState = (partialState) => {
45
44
  setState((state) => {
@@ -52,7 +51,7 @@ const GridInfoPopup = (props) => {
52
51
  const calcColumns = props.api.calculatedColumnApi
53
52
  .getCalculatedColumns()
54
53
  .map((c) => c.ColumnId);
55
- const actionColumns = props.api.actionApi
54
+ const actionColumns = props.api.actionColumnApi
56
55
  .getActionColumns()
57
56
  .map((ac) => ac.columnId);
58
57
  const freeTextColumns = props.api.freeTextColumnApi
@@ -9,7 +9,7 @@ const CheckBox_1 = require("../../components/CheckBox");
9
9
  class GridOptionsComponent extends React.Component {
10
10
  constructor(props) {
11
11
  super(props);
12
- const gridOptions = props.api.internalApi.getAgGridInstance();
12
+ const gridOptions = props.api.gridApi.getAgGridInstance();
13
13
  this.state = {
14
14
  showTotalFooter: gridOptions.groupIncludeTotalFooter,
15
15
  showGroupFooter: gridOptions.groupIncludeFooter,
@@ -24,7 +24,7 @@ class LayoutViewPanelComponent extends React.Component {
24
24
  const cloneAccessLevel = this.props.accessLevel;
25
25
  const newAccessLevel = this.props.accessLevel;
26
26
  const accessLevel = AdaptableHelper_1.default.getAppropriateAccessLevel(layoutEntity, this.props.accessLevel);
27
- const isManualSaveLayout = !this.props.api.layoutApi.shouldAutoSaveLayout(this.props.CurrentDraftLayout);
27
+ const isManualSaveLayout = !this.props.api.layoutApi.shouldAutoSaveLayouts();
28
28
  const availableLayoutOptions = this.props.Layouts.map((layout, index) => {
29
29
  return Object.assign(Object.assign({}, layout), { label: layout.Name, value: layout.Name, onClick: () => this.props.onSelectLayout(layout.Name) });
30
30
  });
@@ -28,6 +28,8 @@ const PivotDetailsPopoup = (props) => {
28
28
  layout: layout,
29
29
  columnId: columnId,
30
30
  adaptableApi: adaptableApi,
31
+ userName: adaptableApi.optionsApi.getUserName(),
32
+ adaptableId: adaptableApi.optionsApi.getAdaptableId(),
31
33
  };
32
34
  pivotPreviewExtraColumns = pivotPreviewOptionColumn(pivotPreviewColumnsContext);
33
35
  }
@@ -16,7 +16,7 @@ const SaveLayoutButton = () => {
16
16
  .getEntitlementAccessLevelForModule(ModuleConstants.LayoutModuleId);
17
17
  const dispatch = (0, react_redux_1.useDispatch)();
18
18
  const currentDraftLayout = (0, react_redux_1.useSelector)((state) => state.Grid.CurrentLayout);
19
- const isManualSaveLayout = !adaptable.api.layoutApi.shouldAutoSaveLayout(currentDraftLayout);
19
+ const isManualSaveLayout = !adaptable.api.layoutApi.shouldAutoSaveLayouts();
20
20
  const handleSave = React.useCallback((layout) => {
21
21
  dispatch(LayoutRedux.LayoutSave(layout));
22
22
  dispatch(GridRedux.LayoutUpdateCurrentDraft(null));
@@ -37,7 +37,7 @@ const LayoutWizard = (props) => {
37
37
  }
38
38
  if (preparedLayout.SuppressAggFuncInHeader === undefined) {
39
39
  preparedLayout.SuppressAggFuncInHeader =
40
- !!adaptable.api.internalApi.getAgGridInstance().suppressAggFuncInHeader;
40
+ !!adaptable.api.gridApi.getAgGridInstance().suppressAggFuncInHeader;
41
41
  }
42
42
  return preparedLayout;
43
43
  });
@@ -13,7 +13,7 @@ const isValidNamedQueryExpression = (data, api) => {
13
13
  if (!data.BooleanExpression) {
14
14
  return 'Expression is empty';
15
15
  }
16
- const valid = api.queryLanguageApi.isValidBooleanExpression(data.BooleanExpression, ModuleConstants_1.QueryModuleId);
16
+ const valid = api.expressionApi.isValidBooleanExpression(data.BooleanExpression, ModuleConstants_1.QueryModuleId);
17
17
  if (!valid) {
18
18
  return 'Query is not a valid Boolean Query';
19
19
  }
@@ -62,7 +62,7 @@ const ShortcutSettingsWizard = (props) => {
62
62
  React.createElement(Tabs_1.Tabs, { autoFocus: false },
63
63
  React.createElement(Tabs_1.Tabs.Tab, null, "Shortcut Settings"),
64
64
  React.createElement(Tabs_1.Tabs.Content, null,
65
- React.createElement(FormLayout_1.default, { width: 800 },
65
+ React.createElement(FormLayout_1.default, null,
66
66
  React.createElement(FormLayout_1.FormRow, null,
67
67
  ' ',
68
68
  React.createElement(HelpBlock_1.default, { fontSize: 2, mb: 0 }, "Keyboard key that, when pressed, triggers the shortcut")),
@@ -10,11 +10,11 @@ const DropdownButton_1 = tslib_1.__importDefault(require("../../../components/Dr
10
10
  const ErrorBox_1 = tslib_1.__importDefault(require("../../../components/ErrorBox"));
11
11
  const FormLayout_1 = tslib_1.__importStar(require("../../../components/FormLayout"));
12
12
  const HelpBlock_1 = tslib_1.__importDefault(require("../../../components/HelpBlock"));
13
- const IconSelector_1 = require("../../../components/IconSelector");
14
13
  const SimpleButton_1 = tslib_1.__importDefault(require("../../../components/SimpleButton"));
15
14
  const Tabs_1 = require("../../../components/Tabs");
16
15
  const ObjectFactory_1 = tslib_1.__importDefault(require("../../../Utilities/ObjectFactory"));
17
16
  const AdaptablePopover_1 = require("../../AdaptablePopover");
17
+ const AdaptableIconSelector_1 = require("../../Components/AdaptableIconSelector");
18
18
  const PredicateEditor_1 = require("../../Components/PredicateEditor/PredicateEditor");
19
19
  const StyleComponent_1 = require("../../Components/StyleComponent");
20
20
  const OnePageAdaptableWizard_1 = require("../../Wizard/OnePageAdaptableWizard");
@@ -51,7 +51,7 @@ const BadgeEditor = (props) => {
51
51
  React.createElement(HelpBlock_1.default, { fontSize: 2, mb: 1, mt: 2 }, "Select (optional) Icon (and Icon position) to display in the Badge"),
52
52
  ' ',
53
53
  // for now, only show for system icons the
54
- !badge.Icon || 'name' in badge.Icon ? (React.createElement(IconSelector_1.IconSelector, { value: (badge === null || badge === void 0 ? void 0 : badge.Icon) && 'name' in (badge === null || badge === void 0 ? void 0 : badge.Icon) ? badge.Icon.name : undefined, onChange: (iconName) => {
54
+ !badge.Icon || 'name' in badge.Icon ? (React.createElement(AdaptableIconSelector_1.AdaptableIconSelector, { value: (badge === null || badge === void 0 ? void 0 : badge.Icon) && 'name' in (badge === null || badge === void 0 ? void 0 : badge.Icon) ? badge.Icon.name : undefined, onChange: (iconName) => {
55
55
  if (iconName) {
56
56
  onChange(Object.assign(Object.assign({}, badge), { Icon: {
57
57
  name: iconName,
@@ -21,8 +21,15 @@ const StyledColumnBadgePreview = ({ data }) => {
21
21
  const predicateStr = badge.Predicate
22
22
  ? adaptable.api.predicateApi.predicateToString(badge.Predicate)
23
23
  : 'No Predicate';
24
+ let icon = badge.Icon;
25
+ const customIcon = badge.Icon &&
26
+ 'name' in badge.Icon &&
27
+ adaptable.api.userInterfaceApi.getCustomIconDefinition(badge.Icon.name);
28
+ if (customIcon) {
29
+ icon = customIcon;
30
+ }
24
31
  return (React.createElement(rebass_1.Box, { mb: 1, key: index },
25
- React.createElement(Badge_1.Badge, { icon: badge.Icon, adaptableStyle: badge.Style, iconPosition: badge.IconPosition }, value),
32
+ React.createElement(Badge_1.Badge, { icon: icon, adaptableStyle: badge.Style, iconPosition: badge.IconPosition }, value),
26
33
  React.createElement(Tag_1.Tag, { ml: 2 }, predicateStr)));
27
34
  })));
28
35
  };
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { ICellRendererComp, ICellRendererParams } from '@ag-grid-community/core';
3
- import { ActionColumn } from '../AdaptableOptions/ActionOptions';
3
+ import { ActionColumn } from '../types';
4
4
  interface ActionColumnCellRendererParams extends ICellRendererParams {
5
5
  actionColumn?: ActionColumn;
6
6
  }
@@ -10,7 +10,7 @@ function getActionButtonsAndActionColumn(adaptable, actionColumn, colId) {
10
10
  var _a;
11
11
  const actionCol = actionColumn
12
12
  ? actionColumn
13
- : (_a = adaptable.api.actionApi.getActionColumns()) === null || _a === void 0 ? void 0 : _a.find((ac) => ac.columnId == colId);
13
+ : (_a = adaptable.api.actionColumnApi.getActionColumns()) === null || _a === void 0 ? void 0 : _a.find((ac) => ac.columnId == colId);
14
14
  if (actionCol && actionCol.actionColumnButton) {
15
15
  let actionButtons = Array.isArray(actionCol.actionColumnButton)
16
16
  ? actionCol.actionColumnButton
@@ -71,6 +71,8 @@ const ReactActionColumnRenderer = (props) => {
71
71
  primaryKeyValue: pkValue,
72
72
  rowNode: props.node,
73
73
  adaptableApi: adaptable.api,
74
+ userName: adaptable.adaptableOptions.userName,
75
+ adaptableId: adaptable.adaptableOptions.adaptableId,
74
76
  data: props.data,
75
77
  };
76
78
  return (React.createElement("div", { className: "ab-ActionColumn" }, renderActionButtons(actionButtons, adaptable.api, buttonContext, rerender)));
@@ -98,6 +100,8 @@ class ActionColumnRenderer {
98
100
  primaryKeyValue: pkValue,
99
101
  rowNode: params.node,
100
102
  adaptableApi: adaptable.api,
103
+ userName: adaptable.adaptableOptions.userName,
104
+ adaptableId: adaptable.adaptableOptions.adaptableId,
101
105
  data: params.data,
102
106
  };
103
107
  const eGui = this.eGui;
@@ -33,7 +33,7 @@ import { IQueryLanguageService } from '../Utilities/Services/Interface/IQueryLan
33
33
  import { IAlertService } from '../Utilities/Services/Interface/IAlertService';
34
34
  import { ColumnSetupInfo } from './ColumnSetupInfo';
35
35
  import { CustomSort } from '../PredefinedConfig/CustomSortState';
36
- import { ColumnValuesComparer } from '../AdaptableOptions/GeneralOptions';
36
+ import { ColumnValuesComparer } from '../AdaptableOptions/CustomSortOptions';
37
37
  import { IMetamodelService } from '../Utilities/Services/Interface/IMetamodelService';
38
38
  import { IRowEditService } from '../Utilities/Services/Interface/IRowEditService';
39
39
  import { RenderReactRootFn } from '../renderReactRoot';
@@ -43,6 +43,7 @@ declare type RuntimeConfig = {
43
43
  supressReact18RenderWarning?: boolean;
44
44
  renderReactRoot?: RenderReactRootFn;
45
45
  variant?: AdaptableVariant;
46
+ agGridModules?: Module[];
46
47
  };
47
48
  export declare class Adaptable implements IAdaptable {
48
49
  api: AdaptableApi;
@@ -194,6 +195,15 @@ export declare class Adaptable implements IAdaptable {
194
195
  setColumnOrder(VisibleColumnList: string[]): void;
195
196
  private persistLayout;
196
197
  setLayout(layout?: Layout): void;
198
+ /**
199
+ * Setting layout works by modifing the column state.
200
+ * The column state is based on the current existing columns.
201
+ * At this point the column groups do not exist, and the widths from layout are not applied.
202
+ *
203
+ * After the col sate is applied and the column groups are created we need
204
+ * to apply the state again to update the widths of the group columns.
205
+ */
206
+ private applyGroupColumnWidth;
197
207
  updateRowGroupsExpandedState(layout?: Layout): void;
198
208
  private updateLayoutFromGrid;
199
209
  setSelectedCells(): SelectedCellInfo | undefined;
@@ -266,10 +276,10 @@ export declare class Adaptable implements IAdaptable {
266
276
  */
267
277
  private mapColumnDefs;
268
278
  private getColDefsForSpecialColumns;
269
- getColDefsForFreeTextColumns(): ColDef<any>[];
279
+ getColDefsForFreeTextColumns(): ColDef<any, any>[];
270
280
  setupColumnValueGetter({ col }: ColumnSetupInfo): void;
271
281
  private getColDefsForRowEditColumns;
272
- getColDefsForActionColumns(): ColDef<any>[];
282
+ getColDefsForActionColumns(): ColDef<any, any>[];
273
283
  updateColDefsForSpecialColumns(): void;
274
284
  private getColDefsForCalculatedColumns;
275
285
  private isRegularColDef;
@@ -307,6 +317,7 @@ export declare class Adaptable implements IAdaptable {
307
317
  setupAllowedAggFuncs({ col, abColumn }: ColumnSetupInfo): void;
308
318
  triggerSetupColumnKeyCreator(colId: string): void;
309
319
  setupColumnKeyCreator(columnSetupInfo: ColumnSetupInfo): void;
320
+ setupColumnCellDataType(columnSetupInfo: ColumnSetupInfo): void;
310
321
  setupColumnHeader({ col, abColumn }: ColumnSetupInfo): boolean;
311
322
  setupColumnFilter({ col, colDef }: ColumnSetupInfo): void;
312
323
  setupColumnFloatingFilter({ col, colDef }: ColumnSetupInfo): void;