@adaptabletools/adaptable 18.0.0-canary.3 → 18.0.0-canary.30

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 (453) hide show
  1. package/agGrid.d.ts +4 -21
  2. package/agGrid.js +9 -26
  3. package/base.css +27 -21
  4. package/base.css.map +1 -1
  5. package/index.css +108 -88
  6. package/index.css.map +1 -1
  7. package/package.json +4 -5
  8. package/src/AdaptableInterfaces/IAdaptable.d.ts +61 -109
  9. package/src/AdaptableOptions/AdaptableFrameworkComponent.d.ts +3 -0
  10. package/src/AdaptableOptions/AdaptableOptions.d.ts +7 -7
  11. package/src/AdaptableOptions/AdaptablePlugin.d.ts +2 -0
  12. package/src/AdaptableOptions/AdaptablePlugin.js +2 -0
  13. package/src/AdaptableOptions/ColumnFilterOptions.d.ts +11 -4
  14. package/src/AdaptableOptions/ColumnOptions.d.ts +9 -4
  15. package/src/AdaptableOptions/CommentOptions.d.ts +39 -0
  16. package/src/AdaptableOptions/DataImportOptions.d.ts +2 -2
  17. package/src/AdaptableOptions/GroupingOptions.d.ts +0 -26
  18. package/src/AdaptableOptions/MenuOptions.d.ts +11 -71
  19. package/src/AdaptableOptions/MenuOptions.js +1 -99
  20. package/src/AdaptableOptions/NoteOptions.d.ts +25 -0
  21. package/src/AdaptableOptions/StateOptions.d.ts +6 -0
  22. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +17 -0
  23. package/src/Api/AdaptableApi.d.ts +9 -4
  24. package/src/Api/BulkUpdateApi.d.ts +0 -5
  25. package/src/Api/ColumnApi.d.ts +13 -0
  26. package/src/Api/CommentApi.d.ts +20 -22
  27. package/src/Api/ConfigApi.d.ts +4 -5
  28. package/src/Api/EventApi.d.ts +7 -9
  29. package/src/Api/Events/AdaptableReady.d.ts +3 -3
  30. package/src/Api/Events/CommentChanged.d.ts +11 -0
  31. package/src/Api/Events/GridDataChanged.d.ts +4 -4
  32. package/src/Api/GridApi.d.ts +42 -14
  33. package/src/Api/Implementation/ActionColumnApiImpl.d.ts +2 -0
  34. package/src/Api/Implementation/ActionColumnApiImpl.js +30 -0
  35. package/src/Api/Implementation/ActionRowApiImpl.js +3 -7
  36. package/src/Api/Implementation/AdaptableApiImpl.d.ts +3 -2
  37. package/src/Api/Implementation/AdaptableApiImpl.js +5 -2
  38. package/src/Api/Implementation/AlertApiImpl.js +5 -10
  39. package/src/Api/Implementation/ApiBase.d.ts +5 -3
  40. package/src/Api/Implementation/ApiBase.js +8 -2
  41. package/src/Api/Implementation/BulkUpdateApiImpl.d.ts +0 -1
  42. package/src/Api/Implementation/BulkUpdateApiImpl.js +0 -4
  43. package/src/Api/Implementation/CalendarApiImpl.js +1 -6
  44. package/src/Api/Implementation/CellSummaryApiImpl.d.ts +0 -5
  45. package/src/Api/Implementation/CellSummaryApiImpl.js +2 -23
  46. package/src/Api/Implementation/ChartingApiImpl.js +3 -3
  47. package/src/Api/Implementation/ColumnApiImpl.d.ts +5 -0
  48. package/src/Api/Implementation/ColumnApiImpl.js +45 -15
  49. package/src/Api/Implementation/ColumnFilterApiImpl.js +7 -7
  50. package/src/Api/Implementation/CommentsApiImpl.d.ts +8 -5
  51. package/src/Api/Implementation/CommentsApiImpl.js +12 -6
  52. package/src/Api/Implementation/ConfigApiImpl.d.ts +2 -2
  53. package/src/Api/Implementation/ConfigApiImpl.js +34 -30
  54. package/src/Api/Implementation/DashboardApiImpl.js +1 -6
  55. package/src/Api/Implementation/ExportApiImpl.js +5 -10
  56. package/src/Api/Implementation/ExpressionApiImpl.js +14 -19
  57. package/src/Api/Implementation/Fdc3ApiImpl.js +1 -1
  58. package/src/Api/Implementation/FlashingCellApiImpl.js +3 -8
  59. package/src/Api/Implementation/FormatColumnApiImpl.js +4 -4
  60. package/src/Api/Implementation/FreeTextColumnApiImpl.js +1 -1
  61. package/src/Api/Implementation/GridApiImpl.d.ts +10 -3
  62. package/src/Api/Implementation/GridApiImpl.js +78 -23
  63. package/src/Api/Implementation/LayoutApiImpl.d.ts +4 -7
  64. package/src/Api/Implementation/LayoutApiImpl.js +19 -13
  65. package/src/Api/Implementation/NoteApiImpl.d.ts +18 -0
  66. package/src/Api/Implementation/NoteApiImpl.js +40 -0
  67. package/src/Api/Implementation/OptionsApiImpl.d.ts +4 -4
  68. package/src/Api/Implementation/OptionsApiImpl.js +4 -4
  69. package/src/Api/Implementation/PredicateApiImpl.js +2 -2
  70. package/src/Api/Implementation/ScheduleApiImpl.js +6 -6
  71. package/src/Api/Implementation/ScopeApiImpl.d.ts +2 -0
  72. package/src/Api/Implementation/ScopeApiImpl.js +64 -18
  73. package/src/Api/Implementation/StatusBarApiImpl.d.ts +0 -1
  74. package/src/Api/Implementation/StatusBarApiImpl.js +0 -3
  75. package/src/Api/Implementation/TeamSharingApiImpl.js +3 -15
  76. package/src/Api/Implementation/ThemeApiImpl.js +2 -7
  77. package/src/Api/Implementation/ToolPanelApiImpl.js +6 -6
  78. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +14 -8
  79. package/src/Api/Implementation/UserInterfaceApiImpl.js +30 -25
  80. package/src/Api/Internal/ActionRowInternalApi.d.ts +6 -1
  81. package/src/Api/Internal/ActionRowInternalApi.js +117 -38
  82. package/src/Api/Internal/AdaptableInternalApi.d.ts +6 -8
  83. package/src/Api/Internal/AdaptableInternalApi.js +25 -37
  84. package/src/Api/Internal/AlertInternalApi.js +4 -17
  85. package/src/Api/Internal/CalculatedColumnInternalApi.d.ts +2 -0
  86. package/src/Api/Internal/CalculatedColumnInternalApi.js +78 -14
  87. package/src/Api/Internal/ChartingInternalApi.js +13 -13
  88. package/src/Api/Internal/ColumnFilterInternalApi.d.ts +2 -0
  89. package/src/Api/Internal/ColumnFilterInternalApi.js +35 -31
  90. package/src/Api/Internal/ColumnInternalApi.d.ts +6 -1
  91. package/src/Api/Internal/ColumnInternalApi.js +19 -1
  92. package/src/Api/Internal/CommentsInternalApi.d.ts +4 -0
  93. package/src/Api/Internal/CommentsInternalApi.js +14 -0
  94. package/src/Api/Internal/CustomSortInternalApi.d.ts +3 -2
  95. package/src/Api/Internal/CustomSortInternalApi.js +33 -2
  96. package/src/Api/Internal/DashboardInternalApi.js +5 -11
  97. package/src/Api/Internal/DataImportInternalApi.js +3 -9
  98. package/src/Api/Internal/DataSetInternalApi.js +3 -8
  99. package/src/Api/Internal/ExportInternalApi.d.ts +2 -1
  100. package/src/Api/Internal/ExportInternalApi.js +8 -5
  101. package/src/Api/Internal/ExpressionInternalApi.js +2 -12
  102. package/src/Api/Internal/Fdc3InternalApi.js +3 -12
  103. package/src/Api/Internal/FormatColumnInternalApi.d.ts +1 -4
  104. package/src/Api/Internal/FormatColumnInternalApi.js +26 -28
  105. package/src/Api/Internal/FreeTextColumnInternalApi.d.ts +2 -0
  106. package/src/Api/Internal/FreeTextColumnInternalApi.js +61 -1
  107. package/src/Api/Internal/GridFilterInternalApi.d.ts +5 -0
  108. package/src/Api/Internal/GridFilterInternalApi.js +9 -9
  109. package/src/Api/Internal/GridInternalApi.d.ts +23 -3
  110. package/src/Api/Internal/GridInternalApi.js +151 -44
  111. package/src/Api/Internal/LayoutInternalApi.d.ts +2 -0
  112. package/src/Api/Internal/LayoutInternalApi.js +26 -19
  113. package/src/Api/Internal/NoteInternalApi.d.ts +4 -0
  114. package/src/Api/Internal/NoteInternalApi.js +14 -0
  115. package/src/Api/Internal/PredicateInternalApi.js +5 -40
  116. package/src/Api/Internal/ScheduleInternalApi.js +1 -6
  117. package/src/Api/Internal/StyledColumnInternalApi.js +5 -5
  118. package/src/Api/Internal/SystemStatusInternalApi.js +1 -7
  119. package/src/Api/Internal/TeamSharingInternalApi.js +3 -8
  120. package/src/Api/Internal/ThemeInternalApi.js +1 -1
  121. package/src/Api/Internal/UserInterfaceInternalApi.js +1 -1
  122. package/src/Api/InteropioPluginApi.d.ts +2 -2
  123. package/src/Api/LayoutApi.d.ts +17 -9
  124. package/src/Api/NoteApi.d.ts +48 -0
  125. package/src/Api/OptionsApi.d.ts +8 -8
  126. package/src/Api/ScopeApi.d.ts +10 -0
  127. package/src/Api/UserInterfaceApi.d.ts +15 -13
  128. package/src/EnvVars.d.ts +3 -0
  129. package/src/EnvVars.js +4 -0
  130. package/src/PredefinedConfig/AdaptableState.d.ts +2 -2
  131. package/src/PredefinedConfig/CommentState.d.ts +27 -23
  132. package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +4 -0
  133. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
  134. package/src/PredefinedConfig/Common/AdaptableScope.d.ts +4 -1
  135. package/src/PredefinedConfig/Common/AggregationColumns.d.ts +1 -0
  136. package/src/PredefinedConfig/Common/AggregationColumns.js +3 -0
  137. package/src/PredefinedConfig/Common/CellSummary.d.ts +5 -14
  138. package/src/PredefinedConfig/Common/DataUpdateConfig.d.ts +4 -0
  139. package/src/PredefinedConfig/Common/Enums.d.ts +4 -1
  140. package/src/PredefinedConfig/Common/Enums.js +3 -0
  141. package/src/PredefinedConfig/Common/Fdc3Intent.d.ts +2 -2
  142. package/src/PredefinedConfig/Common/Menu.d.ts +15 -1
  143. package/src/PredefinedConfig/Common/Menu.js +116 -1
  144. package/src/PredefinedConfig/Common/RowSummary.d.ts +21 -0
  145. package/src/PredefinedConfig/Common/RowSummary.js +17 -0
  146. package/src/PredefinedConfig/Common/TransposeConfig.d.ts +30 -0
  147. package/src/PredefinedConfig/Common/Types.d.ts +4 -4
  148. package/src/PredefinedConfig/Common/Types.js +4 -1
  149. package/src/PredefinedConfig/FormatColumnState.d.ts +6 -1
  150. package/src/PredefinedConfig/LayoutState.d.ts +5 -0
  151. package/src/PredefinedConfig/{NotesState.d.ts → NoteState.d.ts} +12 -22
  152. package/src/PredefinedConfig/PopupState.d.ts +1 -2
  153. package/src/PredefinedConfig/PredefinedConfig.d.ts +3 -3
  154. package/src/PredefinedConfig/Selection/GridCell.d.ts +13 -0
  155. package/src/PredefinedConfig/StyledColumnState.d.ts +5 -0
  156. package/src/PredefinedConfig/SystemState.d.ts +12 -4
  157. package/src/Redux/ActionsReducers/CommentsRedux.d.ts +0 -4
  158. package/src/Redux/ActionsReducers/CommentsRedux.js +0 -34
  159. package/src/Redux/ActionsReducers/LayoutRedux.d.ts +9 -0
  160. package/src/Redux/ActionsReducers/LayoutRedux.js +32 -10
  161. package/src/Redux/ActionsReducers/NoteRedux.d.ts +38 -0
  162. package/src/Redux/ActionsReducers/{NotesRedux.js → NoteRedux.js} +29 -28
  163. package/src/Redux/ActionsReducers/PopupRedux.d.ts +5 -13
  164. package/src/Redux/ActionsReducers/PopupRedux.js +0 -19
  165. package/src/Redux/ActionsReducers/SystemRedux.d.ts +15 -4
  166. package/src/Redux/ActionsReducers/SystemRedux.js +24 -9
  167. package/src/Redux/Store/AdaptableStore.d.ts +4 -6
  168. package/src/Redux/Store/AdaptableStore.js +70 -80
  169. package/src/Redux/Store/Interface/IAdaptableStore.d.ts +8 -2
  170. package/src/Strategy/AdaptableModuleBase.d.ts +11 -12
  171. package/src/Strategy/AdaptableModuleBase.js +17 -23
  172. package/src/Strategy/AlertModule.d.ts +2 -3
  173. package/src/Strategy/AlertModule.js +4 -57
  174. package/src/Strategy/BulkUpdateModule.d.ts +1 -1
  175. package/src/Strategy/BulkUpdateModule.js +2 -1
  176. package/src/Strategy/CalculatedColumnModule.d.ts +4 -5
  177. package/src/Strategy/CalculatedColumnModule.js +8 -28
  178. package/src/Strategy/CellSummaryModule.d.ts +10 -8
  179. package/src/Strategy/CellSummaryModule.js +85 -70
  180. package/src/Strategy/ChartingModule.d.ts +0 -1
  181. package/src/Strategy/ChartingModule.js +2 -22
  182. package/src/Strategy/ColumnFilterModule.d.ts +3 -4
  183. package/src/Strategy/ColumnFilterModule.js +37 -121
  184. package/src/Strategy/ColumnInfoModule.d.ts +2 -2
  185. package/src/Strategy/ColumnInfoModule.js +6 -4
  186. package/src/Strategy/CommentModule.d.ts +11 -0
  187. package/src/Strategy/CommentModule.js +70 -0
  188. package/src/Strategy/CustomSortModule.d.ts +1 -1
  189. package/src/Strategy/CustomSortModule.js +4 -3
  190. package/src/Strategy/DashboardModule.d.ts +3 -4
  191. package/src/Strategy/DashboardModule.js +11 -28
  192. package/src/Strategy/DataChangeHistoryModule.d.ts +1 -0
  193. package/src/Strategy/DataChangeHistoryModule.js +3 -1
  194. package/src/Strategy/DataImportModule.d.ts +4 -4
  195. package/src/Strategy/DataImportModule.js +8 -8
  196. package/src/Strategy/DataSetModule.d.ts +1 -1
  197. package/src/Strategy/DataSetModule.js +1 -1
  198. package/src/Strategy/ExportModule.d.ts +1 -2
  199. package/src/Strategy/ExportModule.js +39 -42
  200. package/src/Strategy/Fdc3Module.d.ts +1 -1
  201. package/src/Strategy/Fdc3Module.js +3 -13
  202. package/src/Strategy/FlashingCellModule.d.ts +3 -4
  203. package/src/Strategy/FlashingCellModule.js +8 -21
  204. package/src/Strategy/FormatColumnModule.d.ts +1 -3
  205. package/src/Strategy/FormatColumnModule.js +27 -91
  206. package/src/Strategy/FreeTextColumnModule.d.ts +1 -2
  207. package/src/Strategy/FreeTextColumnModule.js +2 -32
  208. package/src/Strategy/GridFilterModule.d.ts +0 -1
  209. package/src/Strategy/GridFilterModule.js +0 -37
  210. package/src/Strategy/GridInfoModule.d.ts +2 -2
  211. package/src/Strategy/GridInfoModule.js +5 -3
  212. package/src/Strategy/Interface/IModule.d.ts +3 -4
  213. package/src/Strategy/LayoutModule.d.ts +5 -6
  214. package/src/Strategy/LayoutModule.js +77 -122
  215. package/src/Strategy/NamedQueryModule.d.ts +0 -1
  216. package/src/Strategy/NamedQueryModule.js +0 -19
  217. package/src/Strategy/{NotesModule.d.ts → NoteModule.d.ts} +3 -3
  218. package/src/Strategy/NoteModule.js +55 -0
  219. package/src/Strategy/PlusMinusModule.d.ts +2 -2
  220. package/src/Strategy/PlusMinusModule.js +3 -3
  221. package/src/Strategy/ScheduleModule.d.ts +1 -1
  222. package/src/Strategy/ScheduleModule.js +1 -1
  223. package/src/Strategy/SettingsPanelModule.d.ts +3 -3
  224. package/src/Strategy/SettingsPanelModule.js +6 -6
  225. package/src/Strategy/ShortcutModule.d.ts +1 -1
  226. package/src/Strategy/ShortcutModule.js +1 -1
  227. package/src/Strategy/SmartEditModule.d.ts +1 -1
  228. package/src/Strategy/SmartEditModule.js +2 -1
  229. package/src/Strategy/StyledColumnModule.d.ts +2 -2
  230. package/src/Strategy/StyledColumnModule.js +45 -40
  231. package/src/Strategy/SystemStatusModule.d.ts +2 -2
  232. package/src/Strategy/SystemStatusModule.js +4 -3
  233. package/src/Strategy/TeamSharingModule.d.ts +1 -0
  234. package/src/Strategy/TeamSharingModule.js +5 -5
  235. package/src/Strategy/ToolPanelModule.d.ts +0 -1
  236. package/src/Strategy/ToolPanelModule.js +0 -23
  237. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +1 -0
  238. package/src/Strategy/Utilities/getScopeViewItems.js +3 -0
  239. package/src/Utilities/Constants/DocumentationLinkConstants.js +1 -1
  240. package/src/Utilities/Constants/GeneralConstants.d.ts +2 -0
  241. package/src/Utilities/Constants/GeneralConstants.js +2 -0
  242. package/src/Utilities/Constants/ModuleConstants.d.ts +6 -6
  243. package/src/Utilities/Constants/ModuleConstants.js +6 -6
  244. package/src/Utilities/Defaults/DefaultSettingsPanel.js +7 -6
  245. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +3 -2
  246. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +433 -3
  247. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +3 -3
  248. package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.js +1 -1
  249. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +1 -1
  250. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +15 -0
  251. package/src/Utilities/Extensions/ArrayExtensions.d.ts +2 -0
  252. package/src/Utilities/Extensions/ArrayExtensions.js +4 -0
  253. package/src/Utilities/Helpers/AdaptableHelper.d.ts +3 -4
  254. package/src/Utilities/Helpers/AdaptableHelper.js +19 -58
  255. package/src/Utilities/Helpers/Helper.d.ts +2 -0
  256. package/src/Utilities/Helpers/Helper.js +4 -0
  257. package/src/Utilities/Interface/MessagePopups.d.ts +0 -3
  258. package/src/Utilities/MenuItem.d.ts +7 -4
  259. package/src/Utilities/MenuItem.js +6 -3
  260. package/src/Utilities/ObjectFactory.d.ts +3 -3
  261. package/src/Utilities/ObjectFactory.js +6 -24
  262. package/src/Utilities/Services/AggregatedScalarLiveValue.d.ts +4 -2
  263. package/src/Utilities/Services/AggregatedScalarLiveValue.js +26 -19
  264. package/src/Utilities/Services/CellPopupService.js +2 -3
  265. package/src/Utilities/Services/Interface/IQueryLanguageService.d.ts +1 -1
  266. package/src/Utilities/Services/Interface/IReportService.d.ts +1 -4
  267. package/src/Utilities/Services/LicenseService/index.d.ts +3 -0
  268. package/src/Utilities/Services/LicenseService/index.js +1 -181
  269. package/src/Utilities/Services/MetamodelService.d.ts +1 -1
  270. package/src/Utilities/Services/MetamodelService.js +6 -3
  271. package/src/Utilities/Services/ModuleService.js +6 -2
  272. package/src/Utilities/Services/QueryLanguageService.d.ts +1 -1
  273. package/src/Utilities/Services/QueryLanguageService.js +4 -3
  274. package/src/Utilities/Services/ReportService.d.ts +7 -5
  275. package/src/Utilities/Services/ReportService.js +243 -24
  276. package/src/Utilities/Services/RowEditService.d.ts +3 -2
  277. package/src/Utilities/Services/RowEditService.js +3 -1
  278. package/src/Utilities/Services/RowSummaryService.d.ts +22 -0
  279. package/src/Utilities/Services/RowSummaryService.js +141 -0
  280. package/src/Utilities/adaptableQlUtils.d.ts +2 -0
  281. package/src/Utilities/adaptableQlUtils.js +14 -0
  282. package/src/Utilities/license/decode.js +1 -65
  283. package/src/Utilities/license/hashing.js +1 -43
  284. package/src/View/AdaptableView.js +1 -3
  285. package/src/View/AdaptableViewFactory.js +2 -2
  286. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +2 -2
  287. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +1 -1
  288. package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
  289. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.d.ts +1 -1
  290. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +3 -3
  291. package/src/View/CalculatedColumn/utils.d.ts +1 -1
  292. package/src/View/CellSummary/CellSummaryPopup.js +1 -1
  293. package/src/View/Comments/CommentsEditor.js +28 -17
  294. package/src/View/Comments/CommentsPopup.js +25 -13
  295. package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
  296. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.d.ts +5 -0
  297. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.js +42 -0
  298. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +5 -2
  299. package/src/View/Components/CellPopup/index.d.ts +1 -0
  300. package/src/View/Components/CellPopup/index.js +6 -3
  301. package/src/View/Components/FilterForm/FilterForm.js +20 -12
  302. package/src/View/Components/FilterForm/QuickFilterForm.js +15 -8
  303. package/src/View/Components/FilterForm/QuickFilterValues.js +39 -23
  304. package/src/View/Components/NewScopeComponent.js +34 -1
  305. package/src/View/Components/Popups/AdaptableLoadingScreen.d.ts +6 -5
  306. package/src/View/Components/Popups/AdaptableLoadingScreen.js +19 -9
  307. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +9 -1
  308. package/src/View/Components/Popups/AdaptableToaster.js +1 -1
  309. package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +7 -7
  310. package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +1 -0
  311. package/src/View/Components/Popups/WindowPopups/windowFactory.js +3 -0
  312. package/src/View/Components/Selectors/PermittedValuesSelector.js +2 -2
  313. package/src/View/Components/ValueSelector/index.d.ts +1 -0
  314. package/src/View/Components/ValueSelector/index.js +2 -2
  315. package/src/View/CustomSort/CustomSortSummary.js +1 -1
  316. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +8 -9
  317. package/src/View/DataImport/DataImportWizard/DataImportWizard.js +1 -1
  318. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +19 -6
  319. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +11 -7
  320. package/src/View/FreeTextColumn/FreeTextColumnSummary.js +1 -1
  321. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +3 -1
  322. package/src/View/GridFilter/GridFilterViewPanel.js +9 -5
  323. package/src/View/GridFilter/useGridFilterExpressionEditor.js +1 -1
  324. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +2 -3
  325. package/src/View/Layout/LayoutViewPanel.js +2 -1
  326. package/src/View/Layout/TransposedPopup.d.ts +3 -0
  327. package/src/View/Layout/TransposedPopup.js +195 -0
  328. package/src/View/Layout/Wizard/LayoutWizard.js +38 -3
  329. package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -1
  330. package/src/View/Layout/Wizard/sections/FilterSection.js +1 -1
  331. package/src/View/Layout/Wizard/sections/RowGroupingSection.js +17 -1
  332. package/src/View/Layout/Wizard/sections/RowSummarySection.d.ts +9 -0
  333. package/src/View/Layout/Wizard/sections/RowSummarySection.js +174 -0
  334. package/src/View/License/LicenseWatermark.js +1 -61
  335. package/src/View/Note/NotePopup.d.ts +2 -0
  336. package/src/View/{Notes/NotesPopup.js → Note/NotePopup.js} +20 -17
  337. package/src/View/SpecialColumnSettingsWizardStep.js +4 -4
  338. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +1 -1
  339. package/src/View/StyledColumn/Wizard/StyledColumnWizardSettingsSection.js +14 -10
  340. package/src/View/Theme/ThemeSelector.js +3 -3
  341. package/src/agGrid/ActionColumnRenderer.js +7 -6
  342. package/src/agGrid/Adaptable.d.ts +3 -455
  343. package/src/agGrid/Adaptable.js +8 -5292
  344. package/src/agGrid/AdaptableAgGrid.d.ts +346 -0
  345. package/src/agGrid/AdaptableAgGrid.js +3910 -0
  346. package/src/agGrid/AdaptableLogger.js +77 -11
  347. package/src/agGrid/AgGridAdapter.d.ts +64 -0
  348. package/src/agGrid/AgGridAdapter.js +589 -0
  349. package/src/agGrid/AgGridColumnAdapter.d.ts +54 -0
  350. package/src/agGrid/AgGridColumnAdapter.js +794 -0
  351. package/src/agGrid/AgGridMenuAdapter.d.ts +44 -0
  352. package/src/agGrid/AgGridMenuAdapter.js +600 -0
  353. package/src/agGrid/AgGridOptionsService.d.ts +15 -0
  354. package/src/agGrid/AgGridOptionsService.js +76 -0
  355. package/src/agGrid/BadgeRenderer.js +8 -2
  356. package/src/agGrid/CheckboxRenderer.js +1 -1
  357. package/src/agGrid/FilterWrapper.d.ts +2 -2
  358. package/src/agGrid/FilterWrapper.js +1 -1
  359. package/src/agGrid/PercentBarRenderer.js +3 -1
  360. package/src/agGrid/attachAddaptableColumnTypes.d.ts +12 -12
  361. package/src/agGrid/buildSortedColumnStateForLayout.d.ts +7 -0
  362. package/src/agGrid/buildSortedColumnStateForLayout.js +120 -0
  363. package/src/agGrid/defaultAdaptableOptions.d.ts +3 -0
  364. package/src/{Utilities/Defaults/DefaultAdaptableOptions.js → agGrid/defaultAdaptableOptions.js} +71 -18
  365. package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +1 -1
  366. package/src/agGrid/editors/AdaptableDateEditor/index.js +3 -3
  367. package/src/agGrid/editors/AdaptableNumberEditor/index.d.ts +2 -2
  368. package/src/agGrid/editors/AdaptableNumberEditor/index.js +2 -2
  369. package/src/agGrid/sortColumnStateForVisibleColumns.d.ts +12 -0
  370. package/src/agGrid/sortColumnStateForVisibleColumns.js +46 -0
  371. package/src/agGrid/weightedAverage.d.ts +0 -2
  372. package/src/agGrid/weightedAverage.js +0 -54
  373. package/src/components/CheckBox/index.js +1 -1
  374. package/src/components/ColorPicker/ColorPicker.d.ts +1 -1
  375. package/src/components/Datepicker/index.d.ts +1 -1
  376. package/src/components/Datepicker/index.js +10 -2
  377. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +2 -1
  378. package/src/components/ExpressionEditor/QueryBuilder/utils.d.ts +0 -1
  379. package/src/components/ExpressionEditor/QueryBuilder/utils.js +1 -14
  380. package/src/components/InfiniteTable/index.js +2 -2
  381. package/src/components/Input/index.d.ts +1 -2
  382. package/src/components/List/ListGroupItem/index.d.ts +1 -1
  383. package/src/components/Modal/index.d.ts +1 -0
  384. package/src/components/Modal/index.js +4 -3
  385. package/src/components/ProgressIndicator/ProgressIndicator.js +15 -6
  386. package/src/components/Select/Select.d.ts +3 -1
  387. package/src/components/Select/Select.js +4 -2
  388. package/src/components/Textarea/index.d.ts +2 -2
  389. package/src/components/icons/copy.d.ts +3 -0
  390. package/src/components/icons/copy.js +4 -0
  391. package/src/components/icons/filter-off.d.ts +3 -0
  392. package/src/components/icons/filter-off.js +4 -0
  393. package/src/components/icons/grid-info.d.ts +3 -0
  394. package/src/components/icons/grid-info.js +4 -0
  395. package/src/components/icons/index.js +14 -0
  396. package/src/components/icons/note.js +2 -2
  397. package/src/components/icons/rows.d.ts +3 -0
  398. package/src/components/icons/rows.js +4 -0
  399. package/src/components/icons/select-all.d.ts +3 -0
  400. package/src/components/icons/select-all.js +4 -0
  401. package/src/components/icons/select-fwd.d.ts +3 -0
  402. package/src/components/icons/select-fwd.js +4 -0
  403. package/src/components/icons/select-off.d.ts +3 -0
  404. package/src/components/icons/select-off.js +4 -0
  405. package/src/env.js +2 -2
  406. package/src/metamodel/adaptable.metamodel.d.ts +203 -47
  407. package/src/metamodel/adaptable.metamodel.js +1 -9313
  408. package/src/migration/AdaptableUpgradeHelper.d.ts +38 -0
  409. package/src/migration/AdaptableUpgradeHelper.js +48 -0
  410. package/src/migration/VersionUpgrade.d.ts +8 -0
  411. package/src/migration/VersionUpgrade.js +11 -0
  412. package/src/migration/VersionUpgrade17.d.ts +18 -0
  413. package/src/migration/VersionUpgrade17.js +342 -0
  414. package/src/migration/VersionUpgrade18.d.ts +5 -0
  415. package/src/migration/VersionUpgrade18.js +6 -0
  416. package/src/parser/src/parser.js +576 -553
  417. package/src/parser/src/predicate/mapExpressionToQlPredicate.js +1 -1
  418. package/src/parser/src/predicate/mapQlPredicateToExpression.js +3 -4
  419. package/src/parser/src/types.d.ts +7 -2
  420. package/src/parser/src/types.js +1 -2
  421. package/src/types.d.ts +27 -20
  422. package/tsconfig.esm.tsbuildinfo +1 -1
  423. package/src/AdaptableOptions/CommentsOptions.d.ts +0 -28
  424. package/src/AdaptableOptions/NotesOptions.d.ts +0 -16
  425. package/src/Api/Events/CommentsChangedInfo.d.ts +0 -5
  426. package/src/Api/Implementation/NotesApiImpl.d.ts +0 -16
  427. package/src/Api/Implementation/NotesApiImpl.js +0 -39
  428. package/src/Api/NotesApi.d.ts +0 -48
  429. package/src/PredefinedConfig/CellAddress.d.ts +0 -13
  430. package/src/PredefinedConfig/CellAddress.js +0 -4
  431. package/src/Redux/ActionsReducers/NotesRedux.d.ts +0 -39
  432. package/src/Strategy/CommentsModule.d.ts +0 -16
  433. package/src/Strategy/CommentsModule.js +0 -77
  434. package/src/Strategy/NotesModule.js +0 -57
  435. package/src/Utilities/Defaults/DefaultAdaptableOptions.d.ts +0 -2
  436. package/src/Utilities/Services/Interface/IRowEditService.d.ts +0 -3
  437. package/src/View/Components/ScopeComponent.d.ts +0 -24
  438. package/src/View/Components/ScopeComponent.js +0 -133
  439. package/src/View/Export/Wizard/ReportScopeWizard.d.ts +0 -17
  440. package/src/View/Export/Wizard/ReportScopeWizard.js +0 -47
  441. package/src/View/Notes/NotesPopup.d.ts +0 -2
  442. package/src/agGrid/agGridHelper.d.ts +0 -57
  443. package/src/agGrid/agGridHelper.js +0 -686
  444. package/src/agGrid/agGridMenuHelper.d.ts +0 -46
  445. package/src/agGrid/agGridMenuHelper.js +0 -668
  446. /package/src/AdaptableOptions/{CommentsOptions.js → CommentOptions.js} +0 -0
  447. /package/src/AdaptableOptions/{NotesOptions.js → NoteOptions.js} +0 -0
  448. /package/src/Api/Events/{CommentsChangedInfo.js → CommentChanged.js} +0 -0
  449. /package/src/Api/{NotesApi.js → NoteApi.js} +0 -0
  450. /package/src/PredefinedConfig/{NotesState.js → Common/TransposeConfig.js} +0 -0
  451. /package/src/{Utilities/Services/Interface/IRowEditService.js → PredefinedConfig/NoteState.js} +0 -0
  452. /package/src/View/{Notes → Note}/NoteEditor.d.ts +0 -0
  453. /package/src/View/{Notes → Note}/NoteEditor.js +0 -0
@@ -26,6 +26,7 @@ export type ValueSelectorProps<OPTION_TYPE, ID_TYPE extends number | string> = {
26
26
  onShowSelectedOnlyChange?: (selectedOnly: boolean) => void;
27
27
  isOptionDisabled?: (option: OPTION_TYPE) => boolean;
28
28
  disabled?: boolean;
29
+ style?: React.CSSProperties;
29
30
  };
30
31
  export declare function ValueSelector<OPTION_TYPE, ID_TYPE extends number | string>(props: ValueSelectorProps<OPTION_TYPE, ID_TYPE>): JSX.Element;
31
32
  export declare namespace ValueSelector {
@@ -62,7 +62,7 @@ export function ValueSelector(props) {
62
62
  const label = !allowReorder ? preparedToLabel(option) : null;
63
63
  const reorderable = typeof allowReorder === 'function' ? allowReorder(option) : allowReorder;
64
64
  const renderNode = (props, dragHandleProps) => {
65
- return (React.createElement(Flex, Object.assign({ className: `${baseClassName}__option`, alignItems: "center", mt: index ? 1 : 0, key: identifier, backgroundColor: 'primary', padding: 2, "data-index": index, "data-id": identifier, "data-name": "option" }, props),
65
+ return (React.createElement(Flex, Object.assign({ className: `${baseClassName}__option`, alignItems: "center", mt: index ? 1 : 0, key: identifier !== null && identifier !== void 0 ? identifier : index, backgroundColor: 'primary', padding: 2, "data-index": index, "data-id": identifier, "data-name": "option" }, props),
66
66
  React.createElement(Flex, { flex: 1, flexDirection: "row", alignItems: "center" },
67
67
  reorderable ? (React.createElement(Box, Object.assign({ mr: 3 }, dragHandleProps),
68
68
  React.createElement(Icon, { name: "drag", style: { cursor: 'grab' } }))) : null,
@@ -111,7 +111,7 @@ export function ValueSelector(props) {
111
111
  };
112
112
  const showOnlySelectedCheckbox = (React.createElement(CheckBox, { disabled: !value.length, checked: selectedOnly, onChange: setSelectedOnly }, showSelectedOnlyLabel !== null && showSelectedOnlyLabel !== void 0 ? showSelectedOnlyLabel : 'Show Selected Only'));
113
113
  const showSelectedOnlyPosition = (_a = props.showSelectedOnlyPosition) !== null && _a !== void 0 ? _a : 'floating';
114
- return (React.createElement(Flex, { className: baseClassName, flexDirection: "column", flex: 1 },
114
+ return (React.createElement(Flex, { style: props.style, className: baseClassName, flexDirection: "column", flex: 1 },
115
115
  React.createElement(Flex, { mb: 1 },
116
116
  showFilterInput && filter ? (React.createElement(AdaptableFormControlTextClear, { value: searchInputValue, OnTextChange: setSearchInputValue, placeholder: "Type to search", style: { flex: 1, border: 0, margin: 3 } })) : (React.createElement(Box, { flex: 1 })),
117
117
  showSelectedOnlyPosition === 'top' && React.createElement(Box, { ml: 20 }, showOnlySelectedCheckbox)),
@@ -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
  });
@@ -208,7 +208,6 @@ const buildGridOptions = (mainAdaptableInstance, changeHistoryLog) => {
208
208
  },
209
209
  autoGroupColumnDef: {
210
210
  sortable: true,
211
- // suppressMenu: true,
212
211
  },
213
212
  columnDefs: [
214
213
  {
@@ -132,7 +132,7 @@ export const DataImportWizard = (props) => {
132
132
  return [...userDefinedHandlers, ...systemFileHandlers];
133
133
  }, []);
134
134
  const supportedFileFormats = React.useMemo(() => {
135
- return fileHandlers.map((h) => h.fileExtension).join(', ');
135
+ return [...new Set(fileHandlers.map((h) => h.fileExtension)).values()].join(', ');
136
136
  }, [fileHandlers]);
137
137
  const readFile = React.useCallback(async (file) => {
138
138
  var _a, _b;
@@ -143,6 +143,19 @@ export const getFormatDisplayTypeForScope = (scope, api) => {
143
143
  if ('DataTypes' in scope && scope.DataTypes.length == 1 && scope.DataTypes[0] == 'String') {
144
144
  return 'String';
145
145
  }
146
+ if ('ColumnTypes' in scope && scope.ColumnTypes.length) {
147
+ // need to check if all column with this column type has the same data type and return that particular one
148
+ const columns = scope.ColumnTypes.flatMap((columnType) => {
149
+ return api.columnApi.getColumnsByColumnType(columnType);
150
+ });
151
+ // check if all have the same type
152
+ if (columns.length &&
153
+ columns.every((column) => column.dataType === columns[0].dataType) &&
154
+ // supported data types
155
+ ['Number', 'Date', 'String'].includes(columns[0].dataType)) {
156
+ return columns[0].dataType;
157
+ }
158
+ }
146
159
  return undefined;
147
160
  };
148
161
  const renderDateFormat = (data, _onChange, setFormatOption, scopedCustomFormatters) => {
@@ -189,7 +202,7 @@ const renderDateFormat = (data, _onChange, setFormatOption, scopedCustomFormatte
189
202
  ] })))))));
190
203
  };
191
204
  const renderNumberFormat = (data, onChange, setFormatOption, scopedCustomFormatters, formatColumnApi) => {
192
- var _a, _b, _c;
205
+ var _a, _b, _c, _d, _e;
193
206
  if (data.DisplayFormat.Formatter !== 'NumberFormatter') {
194
207
  return null;
195
208
  }
@@ -248,13 +261,13 @@ const renderNumberFormat = (data, onChange, setFormatOption, scopedCustomFormatt
248
261
  React.createElement(Flex, { flexDirection: "row" },
249
262
  React.createElement(FormLayout, { mr: 3 },
250
263
  React.createElement(FormRow, { label: "Fraction Separator" },
251
- React.createElement(Input, { "data-name": "fraction-separator", value: data.DisplayFormat.Options.FractionSeparator, onChange: (e) => setFormatOption('FractionSeparator', e.currentTarget.value) })),
264
+ React.createElement(Input, { "data-name": "fraction-separator", value: (_a = data.DisplayFormat.Options.FractionSeparator) !== null && _a !== void 0 ? _a : '', onChange: (e) => setFormatOption('FractionSeparator', e.currentTarget.value) })),
252
265
  React.createElement(FormRow, { label: "Integer Separator" },
253
- React.createElement(Input, { "data-name": "integer-separator", value: data.DisplayFormat.Options.IntegerSeparator, onChange: (e) => setFormatOption('IntegerSeparator', e.currentTarget.value) })),
266
+ React.createElement(Input, { "data-name": "integer-separator", value: (_b = data.DisplayFormat.Options.IntegerSeparator) !== null && _b !== void 0 ? _b : '', onChange: (e) => setFormatOption('IntegerSeparator', e.currentTarget.value) })),
254
267
  React.createElement(FormRow, { label: "Prefix" },
255
- React.createElement(Input, { "data-name": "prefix", value: (_a = data.DisplayFormat.Options.Prefix) !== null && _a !== void 0 ? _a : '', onChange: (e) => setFormatOption('Prefix', e.currentTarget.value) })),
268
+ React.createElement(Input, { "data-name": "prefix", value: (_c = data.DisplayFormat.Options.Prefix) !== null && _c !== void 0 ? _c : '', onChange: (e) => setFormatOption('Prefix', e.currentTarget.value) })),
256
269
  React.createElement(FormRow, { label: "Suffix" },
257
- React.createElement(Input, { "data-name": "suffix", value: (_b = data.DisplayFormat.Options.Suffix) !== null && _b !== void 0 ? _b : '', onChange: (e) => setFormatOption('Suffix', e.currentTarget.value) })),
270
+ React.createElement(Input, { "data-name": "suffix", value: (_d = data.DisplayFormat.Options.Suffix) !== null && _d !== void 0 ? _d : '', onChange: (e) => setFormatOption('Suffix', e.currentTarget.value) })),
258
271
  React.createElement(FormRow, { label: "Truncate" },
259
272
  React.createElement(CheckBox, { "data-name": "truncate-checkbox", checked: data.DisplayFormat.Options.Truncate, onChange: (checked) => setFormatOption('Truncate', checked) })),
260
273
  React.createElement(FormRow, { label: "Ceiling" },
@@ -279,7 +292,7 @@ const renderNumberFormat = (data, onChange, setFormatOption, scopedCustomFormatt
279
292
  React.createElement(Input, { "data-name": "multiplier", type: "number", value: data.DisplayFormat.Options.Multiplier, onChange: (e) => setFormatOption('Multiplier', Number(e.currentTarget.value)) })),
280
293
  ' ',
281
294
  React.createElement(FormRow, { label: "Content" },
282
- React.createElement(Input, { "data-name": "content", value: (_c = data.DisplayFormat.Options.Content) !== null && _c !== void 0 ? _c : '', onChange: (e) => setFormatOption('Content', e.currentTarget.value) })),
295
+ React.createElement(Input, { "data-name": "content", value: (_e = data.DisplayFormat.Options.Content) !== null && _e !== void 0 ? _e : '', onChange: (e) => setFormatOption('Content', e.currentTarget.value) })),
283
296
  ' ',
284
297
  React.createElement(FormRow, { label: "Parentheses" },
285
298
  React.createElement(CheckBox, { "data-name": "parentheses-checkbox", checked: data.DisplayFormat.Options.Parentheses, onChange: (checked) => setFormatOption('Parentheses', checked) })),
@@ -7,11 +7,6 @@ import { useOnePageAdaptableWizardContext } from '../../Wizard/OnePageAdaptableW
7
7
  import { Tag } from '../../../components/Tag';
8
8
  import { ToggleGroup } from '../../../components/Toggle/ToggleGroup';
9
9
  import { Toggle } from '../../../components/Toggle/Toggle';
10
- let alignmentOptions = [
11
- { value: 'Left', label: 'Left' },
12
- { value: 'Right', label: 'Right' },
13
- { value: 'Center', label: 'Center' },
14
- ];
15
10
  export const renderFormatColumnSettingsSummary = (data) => {
16
11
  var _a;
17
12
  return (React.createElement(Box, { padding: 2 },
@@ -20,7 +15,10 @@ export const renderFormatColumnSettingsSummary = (data) => {
20
15
  React.createElement(Tag, null, (_a = data.CellAlignment) !== null && _a !== void 0 ? _a : 'default')),
21
16
  React.createElement(Text, { mt: 3 },
22
17
  "Include grouped rows ",
23
- React.createElement(Tag, null, data.IncludeGroupedRows ? 'yes' : 'no'))));
18
+ React.createElement(Tag, null, data.IncludeGroupedRows ? 'yes' : 'no')),
19
+ React.createElement(Text, { mt: 3 },
20
+ "Include row summaries ",
21
+ React.createElement(Tag, null, data.IncludeRowSummaries ? 'yes' : 'no'))));
24
22
  };
25
23
  export const FormatColumnSettingsWizardSection = (props) => {
26
24
  const { data } = useOnePageAdaptableWizardContext();
@@ -34,6 +32,9 @@ export const FormatColumnSettingsWizardSection = (props) => {
34
32
  const onIncludeGroupedRowsChanged = (IncludeGroupedRows) => {
35
33
  props.onChange(Object.assign(Object.assign({}, data), { IncludeGroupedRows }));
36
34
  };
35
+ const onIncludeRowSummariesChanged = (IncludeRowSummaries) => {
36
+ props.onChange(Object.assign(Object.assign({}, data), { IncludeRowSummaries }));
37
+ };
37
38
  return (React.createElement(Tabs, null,
38
39
  React.createElement(Tabs.Tab, null, "Settings"),
39
40
  React.createElement(Tabs.Content, null,
@@ -52,5 +53,8 @@ export const FormatColumnSettingsWizardSection = (props) => {
52
53
  : onCellAlignmentSelectChanged(null) }))),
53
54
  React.createElement(FormRow, { label: "Include Grouped Rows:" },
54
55
  React.createElement(Flex, { alignItems: "center", marginLeft: 2 },
55
- React.createElement(CheckBox, { "data-name": "include-grouped-rows-checkbox", checked: data.IncludeGroupedRows, onChange: onIncludeGroupedRowsChanged, mr: 2 }))))))));
56
+ React.createElement(CheckBox, { "data-name": "include-grouped-rows-checkbox", checked: data.IncludeGroupedRows, onChange: onIncludeGroupedRowsChanged, mr: 2 }))),
57
+ React.createElement(FormRow, { label: "Include Row Summaries:" },
58
+ React.createElement(Flex, { alignItems: "center", marginLeft: 2 },
59
+ React.createElement(CheckBox, { "data-name": "include-grouped-rows-checkbox", checked: data.IncludeRowSummaries, onChange: onIncludeRowSummariesChanged, mr: 2 }))))))));
56
60
  };
@@ -45,7 +45,7 @@ export class FreeTextColumnSummaryComponent extends React.Component {
45
45
  this.state.editedAdaptableObject && (React.createElement(FreeTextColumnWizard, { moduleInfo: this.props.moduleInfo, data: this.state.editedAdaptableObject, configEntities: this.props.FreeTextColumns, onCloseWizard: () => this.onCloseWizard(), onFinishWizard: this.onFinishWizard }))));
46
46
  }
47
47
  onNew() {
48
- let configEntity = ObjectFactory.CreateEmptyFreeTextColumn();
48
+ let configEntity = ObjectFactory.CreateEmptyFreeTextColumn(this.props.api.gridApi.internalApi.deriveSpecialColumnSettingsFromAgGridDefaultColDef());
49
49
  configEntity.ColumnId = this.props.summarisedColumn.columnId;
50
50
  this.setState({
51
51
  editedAdaptableObject: configEntity,
@@ -8,8 +8,10 @@ import ObjectFactory from '../../../Utilities/ObjectFactory';
8
8
  import * as FreeTextColumnRedux from '../../../Redux/ActionsReducers/FreeTextColumnRedux';
9
9
  import { useDispatch, useSelector } from 'react-redux';
10
10
  import { ObjectTagsWizardSection, renderObjectTagsSummary, } from '../../Wizard/ObjectTagsWizardSection';
11
+ import { useAdaptable } from '../../AdaptableContext';
11
12
  export const FreeTextColumnWizard = (props) => {
12
13
  var _a;
14
+ const adaptable = useAdaptable();
13
15
  const allFreeTextColumns = useSelector((state) => state.FreeTextColumn.FreeTextColumns);
14
16
  const [freeTextColumn, setFreeTextColumn] = useState(() => {
15
17
  var _a, _b;
@@ -19,7 +21,7 @@ export const FreeTextColumnWizard = (props) => {
19
21
  if (((_a = props.popupParams) === null || _a === void 0 ? void 0 : _a.action) === 'Edit' && ((_b = props.popupParams) === null || _b === void 0 ? void 0 : _b.column)) {
20
22
  return allFreeTextColumns.find((column) => column.ColumnId === props.popupParams.column.columnId);
21
23
  }
22
- return ObjectFactory.CreateEmptyFreeTextColumn();
24
+ return ObjectFactory.CreateEmptyFreeTextColumn(adaptable.api.gridApi.internalApi.deriveSpecialColumnSettingsFromAgGridDefaultColDef());
23
25
  });
24
26
  const dispatch = useDispatch();
25
27
  const isEdit = props.data || ((_a = props.popupParams) === null || _a === void 0 ? void 0 : _a.action) === 'Edit';
@@ -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,10 +45,11 @@ 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
- }, placehoder: "Grid Filter", onChange: (x) => setExpression(x.target.value), value: expression })),
52
+ }, placeholder: "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 })),
52
54
  gridFilter && !isExpressionValid && (React.createElement(ButtonInvalid, { variant: "text", tone: "neutral", tooltip: "Invalid Grid Filter", marginRight: 1 })),
53
55
  ' ',
@@ -71,11 +73,13 @@ const QueryViewPanelComponent = (props) => {
71
73
  maxHeight: 60,
72
74
  paddingTop: 7,
73
75
  zIndex: 100,
74
- }, placehoder: "Grid Filter", onChange: (x) => setExpression(x.target.value), value: expression }))));
76
+ height: '100%',
77
+ overflow: 'hidden',
78
+ }, placeholder: "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 }));
77
81
  const suspendButton = (React.createElement(ButtonPause, { onClick: () => suspendGridFilter(), tooltip: "Suspend Grid Filter", accessLevel: gridFilterAccessLevel, disabled: disabled || !isExpressionValid, variant: "text", tone: "neutral", marginRight: 1 }));
78
- const unSuspendButton = (React.createElement(ButtonUnsuspend, { onClick: () => unSuspendGridFilter(), tooltip: "Unsuspend Grid Filter", accessLevel: gridFilterAccessLevel, disabled: disabled || !isExpressionValid, variant: "text", tone: "neutral", marginRight: 1 }));
82
+ const unSuspendButton = (React.createElement(ButtonUnsuspend, { onClick: () => unSuspendGridFilter(), tooltip: "Unsuspend Grid Filter", accessLevel: gridFilterAccessLevel, disabled: !isExpressionValid, variant: "text", tone: "neutral", marginRight: 1 }));
79
83
  const namedQuerySelector = (React.createElement(NamedQuerySelector, { namedQueries: namedQueries, cachedQueries: cachedQueries, currentQuery: gridFilter === null || gridFilter === void 0 ? void 0 : gridFilter.Expression, onSelect: (query) => runQuery(query), setGridFilterExpression: (query) => setGridFilterExpression(query) }));
80
84
  const columnsDropdown = (React.createElement(DropdownButton, { disabled: disabled, accessLevel: gridFilterAccessLevel, variant: "text", items: availableColumns, marginRight: 1, tooltip: "Pick Columns" },
81
85
  React.createElement(Icon, { name: 'list' })));
@@ -59,7 +59,7 @@ export const useGridFilterExpressionEditor = () => {
59
59
  const runQuery = (newExpression = expression) => {
60
60
  if (StringExtensions.IsNullOrEmpty(newExpression) &&
61
61
  StringExtensions.IsNotNullOrEmpty(gridFilter === null || gridFilter === void 0 ? void 0 : gridFilter.Expression)) {
62
- // user pressed enter key with an empty input => clear existing current query
62
+ // user pressed enter key with an empty input => clear existing expression
63
63
  adaptable.api.gridFilterApi.setGridFilterExpression('');
64
64
  return;
65
65
  }
@@ -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()));
@@ -25,8 +25,9 @@ class LayoutViewPanelComponent extends React.Component {
25
25
  return Object.assign(Object.assign({}, layout), { label: layout.Name, value: layout.Name, onClick: () => this.props.onSelectLayout(layout.Name) });
26
26
  });
27
27
  const elementType = this.props.viewType === 'Toolbar' ? 'DashboardToolbar' : 'ToolPanel';
28
+ let layoutSelectStyle = elementType === 'ToolPanel' ? { minWidth: '100%' } : {};
28
29
  return (React.createElement(Flex, { flexDirection: "row", className: `ab-${elementType}__Layout__wrap`, flexWrap: this.props.viewType === 'ToolPanel' ? 'wrap' : 'nowrap' },
29
- React.createElement(Flex, { flex: 1 },
30
+ React.createElement(Flex, { style: layoutSelectStyle, flex: 1 },
30
31
  React.createElement(Select, { style: { width: '100%' }, options: availableLayoutOptions, className: `ab-${elementType}__Layout__select`, value: layoutEntity ? layoutEntity.Name : null, onChange: (layout) => this.props.onSelectLayout(layout) })),
31
32
  React.createElement(Flex, { flexDirection: "row", className: join(this.props.accessLevel == 'ReadOnly' ? GeneralConstants.READ_ONLY_STYLE : '', `ab-${elementType}__Layout__wrap`) },
32
33
  isManualSaveLayout && (React.createElement(ButtonSave, { className: `ab-${elementType}__Layout__save`, onClick: () => this.onSaveLayout(), tooltip: "Save Changes to Current Layout", disabled: !this.props.CanSave, accessLevel: accessLevel })),
@@ -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,195 @@
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 { transposedColumnId, hideTransposedColumn, visibleColumns, visibleRows, autosize } = props.popupProps;
11
+ const rowNodes = React.useMemo(() => {
12
+ return props.popupProps.visibleRows
13
+ ? adaptable.api.gridApi.getVisibleRowNodes()
14
+ : adaptable.api.gridApi.getAllRowNodes();
15
+ }, [
16
+ // can be later triggered by tickng data
17
+ ]);
18
+ const primaryKey = adaptable.api.optionsApi.getPrimaryKey();
19
+ const [syntheticTransposedByColumnId, setSyntheticTransposedByColumnId] = React.useState(transposedColumnId);
20
+ const columns = React.useMemo(() => {
21
+ // customisable
22
+ return visibleColumns
23
+ ? adaptable.api.columnApi.getVisibleColumns()
24
+ : 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, primaryKey) + '';
44
+ //row[synteticTransposedByColumnId] + '';
45
+ const header = adaptable.api.gridApi.getNormalisedValueFromRowNode(row, syntheticTransposedByColumnId) +
46
+ '';
47
+ transposedColumns.push({
48
+ colId,
49
+ header,
50
+ });
51
+ }
52
+ for (const column of columns) {
53
+ /**
54
+ * We can hide the transposed column, if we want
55
+ */
56
+ if (hideTransposedColumn && column.columnId === syntheticTransposedByColumnId) {
57
+ continue;
58
+ }
59
+ const transposedRow = {
60
+ // [transposed-by-column-id]: [other column id],
61
+ // the value can be set to friendlyname
62
+ [transposedFirstColumnField]: column.columnId,
63
+ [transposedFirstColumnHeader]: column.friendlyName,
64
+ };
65
+ for (let row of rowNodes) {
66
+ // [transposed-by-column-value[n]]: [other column value[n]]
67
+ const key = adaptable.api.gridApi.getNormalisedValueFromRowNode(row, primaryKey);
68
+ // row[column.field]
69
+ let value = adaptable.api.gridApi.getDisplayValueFromRowNode(row, column.columnId);
70
+ if (value instanceof Date) {
71
+ value = value.toLocaleString();
72
+ }
73
+ transposedRow[key] = value;
74
+ }
75
+ transposedRows.push(transposedRow);
76
+ }
77
+ return {
78
+ transposedColumns,
79
+ transposedRows,
80
+ };
81
+ }, [rowNodes, primaryKey, syntheticTransposedByColumnId]);
82
+ React.useEffect(() => {
83
+ // Mounting in an effect, so the nodes are rendered/available
84
+ const hostAdaptableOptions = adaptable.adaptableOptions;
85
+ const adaptableOptions = {
86
+ primaryKey: transposedFirstColumnField,
87
+ licenseKey: hostAdaptableOptions.licenseKey,
88
+ userName: `${hostAdaptableOptions.userName}`,
89
+ adaptableId: `${hostAdaptableOptions.adaptableId}::TransposedView`,
90
+ containerOptions: {
91
+ adaptableContainer: adaptableContainerId,
92
+ agGridContainer: agGridContainerId,
93
+ },
94
+ entitlementOptions: {
95
+ defaultAccessLevel: 'Hidden',
96
+ },
97
+ layoutOptions: {
98
+ createDefaultLayout: false,
99
+ autoSizeColumnsInLayout: autosize,
100
+ },
101
+ predefinedConfig: {
102
+ Layout: {
103
+ Revision: Date.now(),
104
+ CurrentLayout: 'TransposedView',
105
+ Layouts: [
106
+ {
107
+ Name: 'TransposedView',
108
+ Columns: [
109
+ transposedFirstColumnHeader,
110
+ ...transposedRowsAndColumns.transposedColumns.map((c) => c.colId),
111
+ ],
112
+ PinnedColumnsMap: {
113
+ [transposedFirstColumnHeader]: 'left',
114
+ },
115
+ },
116
+ ],
117
+ },
118
+ Theme: {
119
+ CurrentTheme: adaptable.api.themeApi.getCurrentTheme(),
120
+ },
121
+ },
122
+ };
123
+ const firstColumn = {
124
+ field: transposedFirstColumnHeader,
125
+ headerName: adaptable.api.columnApi.getFriendlyNameForColumnId(syntheticTransposedByColumnId),
126
+ };
127
+ const agGridOptions = {
128
+ suppressLoadingOverlay: true,
129
+ defaultColDef: {
130
+ floatingFilter: false,
131
+ filter: false,
132
+ sortable: true,
133
+ resizable: true,
134
+ enableRowGroup: false,
135
+ editable: false,
136
+ enablePivot: false,
137
+ enableValue: false,
138
+ lockPinned: true,
139
+ menuTabs: [],
140
+ width: 120,
141
+ },
142
+ columnDefs: [
143
+ {
144
+ field: transposedFirstColumnField,
145
+ hide: true,
146
+ },
147
+ firstColumn,
148
+ ...transposedRowsAndColumns.transposedColumns.map((col) => {
149
+ return {
150
+ field: col.colId,
151
+ type: null,
152
+ headerName: col.header,
153
+ };
154
+ }),
155
+ ],
156
+ rowData: transposedRowsAndColumns.transposedRows,
157
+ sideBar: false,
158
+ };
159
+ const modules = adaptable.getAgGridRegisteredModules();
160
+ let transposedAdaptableApi;
161
+ (async () => {
162
+ transposedAdaptableApi = await AdaptableAgGrid._initInternal({
163
+ variant: 'vanilla',
164
+ adaptableOptions,
165
+ gridOptions: agGridOptions,
166
+ modules,
167
+ });
168
+ adaptable.api.eventApi.on('ThemeChanged', (event) => {
169
+ transposedAdaptableApi.themeApi.loadTheme(typeof event.theme === 'object' ? event.theme.Name : event.theme);
170
+ });
171
+ })();
172
+ return () => {
173
+ if (transposedAdaptableApi) {
174
+ transposedAdaptableApi.destroy();
175
+ }
176
+ };
177
+ }, [syntheticTransposedByColumnId]);
178
+ /**
179
+ * Need to get all data, manualy pivot the grid using the primary key.
180
+ *
181
+ * 1. get the data, and pivot using the primary key
182
+ * 2. create the col definitios, a col definition for each row
183
+ * 3. create the grid
184
+ */
185
+ return (React.createElement(Flex, { flexDirection: "column", width: "100%", height: "100%" },
186
+ React.createElement(Panel, null,
187
+ React.createElement(FormLayout, null,
188
+ React.createElement(FormRow, { label: "Elevated Column" },
189
+ React.createElement(ColumnSelector, { value: syntheticTransposedByColumnId, onChange: (colId) => {
190
+ setSyntheticTransposedByColumnId(colId);
191
+ } })))),
192
+ React.createElement(Flex, { height: "100%" },
193
+ React.createElement(Box, { id: "transposed-adaptable-container" }),
194
+ React.createElement(Box, { height: "100%", width: "100%", id: "transposed-adaptable-ag-grid-container" }))));
195
+ };
@@ -14,6 +14,8 @@ import { AggregationsSection, AggregationsSectionSummary, isAggregationsSectionV
14
14
  import { SortSection, SortSectionSummary } from './sections/SortSection';
15
15
  import { FilterSection, FilterSectionSummary, isColumnFiltersValid, } from './sections/FilterSection';
16
16
  import { GridFilterSection, GridFilterSectionSummary, isGridFiltersValid, } from './sections/GridFilterSection';
17
+ import { areSummaryRowsValid, RowSummarySection } from './sections/RowSummarySection';
18
+ import { WEIGHTED_AVERAGE_AGGREATED_FUNCTION } from '../../../PredefinedConfig/Common/RowSummary';
17
19
  export const LayoutWizard = (props) => {
18
20
  var _a, _b;
19
21
  const dispatch = useDispatch();
@@ -27,14 +29,16 @@ export const LayoutWizard = (props) => {
27
29
  preparedLayout = cloneObject(initialLayout);
28
30
  if (((_a = props === null || props === void 0 ? void 0 : props.popupParams) === null || _a === void 0 ? void 0 : _a.action) === 'Clone') {
29
31
  preparedLayout.Name = '';
32
+ delete preparedLayout.Uuid;
30
33
  }
31
34
  }
32
35
  else {
33
36
  preparedLayout = ObjectFactory.CreateEmptyLayout({ Name: '' });
34
37
  }
35
38
  if (preparedLayout.SuppressAggFuncInHeader === undefined) {
36
- preparedLayout.SuppressAggFuncInHeader =
37
- !!adaptable.api.gridApi.getAgGridInstance().suppressAggFuncInHeader;
39
+ preparedLayout.SuppressAggFuncInHeader = !!adaptable.agGridAdapter
40
+ .getAgGridApi()
41
+ .getGridOption('suppressAggFuncInHeader');
38
42
  }
39
43
  return preparedLayout;
40
44
  });
@@ -101,6 +105,7 @@ export const LayoutWizard = (props) => {
101
105
  {
102
106
  title: 'Row Groups',
103
107
  isVisible: () => layoutSupportedFeatures.RowGroupedColumns,
108
+ isValid: areSummaryRowsValid,
104
109
  details: 'Configure Row Grouping',
105
110
  renderSummary: () => React.createElement(RowGroupingSectionSummary, null),
106
111
  render: () => (React.createElement(Box, { p: 2, style: { height: '100%' } },
@@ -113,7 +118,37 @@ export const LayoutWizard = (props) => {
113
118
  renderSummary: () => React.createElement(AggregationsSectionSummary, null),
114
119
  isValid: (data) => isAggregationsSectionValid(data),
115
120
  render: () => (React.createElement(Box, { p: 2, style: { height: '100%' } },
116
- React.createElement(AggregationsSection, { onChange: setLayout }))),
121
+ React.createElement(AggregationsSection, { onChange: (layout) => {
122
+ let newLayout = cloneObject(layout);
123
+ // if we do not have an weighted avg col, we need to clear the row summary if one exists
124
+ if (newLayout.RowSummaries) {
125
+ newLayout.RowSummaries = newLayout.RowSummaries.map((rowSummary) => {
126
+ return Object.assign(Object.assign({}, rowSummary), { ColumnsMap: Object.entries(rowSummary.ColumnsMap).reduce((acc, [columnId, aggFunc]) => {
127
+ if (
128
+ // see if it is weighted avg
129
+ aggFunc === WEIGHTED_AVERAGE_AGGREATED_FUNCTION &&
130
+ // see if we have a weight in the agg columns
131
+ newLayout.AggregationColumns[columnId] &&
132
+ (typeof newLayout.AggregationColumns[columnId] !== 'object' ||
133
+ newLayout.AggregationColumns[columnId].weightColumnId)) {
134
+ // need to remove the row summary
135
+ return acc;
136
+ }
137
+ acc[columnId] = aggFunc;
138
+ return acc;
139
+ }, {}) });
140
+ });
141
+ }
142
+ setLayout(newLayout);
143
+ } }))),
144
+ },
145
+ {
146
+ title: 'Row Summaries',
147
+ details: 'Configure Row Summaries',
148
+ renderSummary: () => React.createElement(RowGroupingSectionSummary, null),
149
+ isVisible: () => layoutSupportedFeatures.RowSummaries,
150
+ render: () => (React.createElement(Box, { p: 2, style: { height: '100%' } },
151
+ React.createElement(RowSummarySection, { onChange: setLayout }))),
117
152
  },
118
153
  {
119
154
  title: 'Sort',
@@ -170,7 +170,7 @@ const ColumnRow = (props) => {
170
170
  React.createElement(FormRow, { label: "ColumnId" },
171
171
  React.createElement(Tag, null, props.column.columnId)),
172
172
  React.createElement(FormRow, { label: "Header" },
173
- React.createElement(Input, { "data-name": "column-header", className: "ab-Layout-Wizard__ColumnRow__Input", placehoder: "Custom name (optional)", onChange: () => {
173
+ React.createElement(Input, { "data-name": "column-header", className: "ab-Layout-Wizard__ColumnRow__Input", placeholder: "Custom name (optional)", onChange: () => {
174
174
  props.onColumnNameChange(props.column.columnId, event.target.value);
175
175
  }, value: customHeader })),
176
176
  React.createElement(FormRow, { label: "Width" },
@@ -52,7 +52,7 @@ export const FilterSection = (props) => {
52
52
  React.createElement(Tabs.Content, null,
53
53
  React.createElement(FormLayout, { mb: 2 },
54
54
  React.createElement(FormRow, { label: "Add Column Filter" },
55
- React.createElement(ColumnSelector, { filterColumn: (column) => column.filterable && !layoutFilters.some((f) => f.ColumnId === column.columnId), placeholder: "Select column to create filter", onChange: (option) => {
55
+ React.createElement(ColumnSelector, { filterColumn: (column) => column.filterable && !layoutFilters.some((f) => f.ColumnId === column.columnId), placeholder: "Select Column to create Filter", onChange: (option) => {
56
56
  props.onChange(Object.assign(Object.assign({}, layout), { ColumnFilters: [
57
57
  ...layoutFilters,
58
58
  {