@adaptabletools/adaptable-cjs 18.0.0-canary.3 → 18.0.0-canary.31

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 (482) hide show
  1. package/agGrid.d.ts +4 -21
  2. package/agGrid.js +5 -21
  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/ActionColumnOptions.d.ts +3 -2
  10. package/src/AdaptableOptions/AdaptableFrameworkComponent.d.ts +3 -0
  11. package/src/AdaptableOptions/AdaptableOptions.d.ts +7 -7
  12. package/src/AdaptableOptions/AdaptablePlugin.d.ts +2 -0
  13. package/src/AdaptableOptions/AdaptablePlugin.js +2 -0
  14. package/src/AdaptableOptions/ColumnFilterOptions.d.ts +11 -4
  15. package/src/AdaptableOptions/ColumnOptions.d.ts +9 -4
  16. package/src/AdaptableOptions/CommentOptions.d.ts +39 -0
  17. package/src/AdaptableOptions/CustomSortOptions.d.ts +2 -2
  18. package/src/AdaptableOptions/DataImportOptions.d.ts +2 -2
  19. package/src/AdaptableOptions/FormatColumnOptions.d.ts +2 -2
  20. package/src/AdaptableOptions/GroupingOptions.d.ts +0 -26
  21. package/src/AdaptableOptions/MenuOptions.d.ts +11 -71
  22. package/src/AdaptableOptions/MenuOptions.js +0 -101
  23. package/src/AdaptableOptions/NoteOptions.d.ts +25 -0
  24. package/src/AdaptableOptions/PredicateOptions.d.ts +2 -2
  25. package/src/AdaptableOptions/StateOptions.d.ts +6 -0
  26. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +19 -2
  27. package/src/Api/AdaptableApi.d.ts +9 -4
  28. package/src/Api/BulkUpdateApi.d.ts +0 -5
  29. package/src/Api/ColumnApi.d.ts +13 -0
  30. package/src/Api/CommentApi.d.ts +20 -22
  31. package/src/Api/ConfigApi.d.ts +4 -5
  32. package/src/Api/EventApi.d.ts +7 -9
  33. package/src/Api/Events/AdaptableReady.d.ts +3 -3
  34. package/src/Api/Events/CommentChanged.d.ts +11 -0
  35. package/src/Api/Events/GridDataChanged.d.ts +4 -4
  36. package/src/Api/FlashingCellApi.d.ts +2 -2
  37. package/src/Api/GridApi.d.ts +42 -14
  38. package/src/Api/Implementation/ActionColumnApiImpl.d.ts +2 -0
  39. package/src/Api/Implementation/ActionColumnApiImpl.js +30 -0
  40. package/src/Api/Implementation/ActionRowApiImpl.js +3 -7
  41. package/src/Api/Implementation/AdaptableApiImpl.d.ts +3 -2
  42. package/src/Api/Implementation/AdaptableApiImpl.js +5 -2
  43. package/src/Api/Implementation/AlertApiImpl.js +5 -10
  44. package/src/Api/Implementation/ApiBase.d.ts +5 -3
  45. package/src/Api/Implementation/ApiBase.js +8 -2
  46. package/src/Api/Implementation/BulkUpdateApiImpl.d.ts +0 -1
  47. package/src/Api/Implementation/BulkUpdateApiImpl.js +0 -4
  48. package/src/Api/Implementation/CalendarApiImpl.js +1 -6
  49. package/src/Api/Implementation/CellSummaryApiImpl.d.ts +0 -5
  50. package/src/Api/Implementation/CellSummaryApiImpl.js +2 -23
  51. package/src/Api/Implementation/ChartingApiImpl.js +3 -3
  52. package/src/Api/Implementation/ColumnApiImpl.d.ts +5 -0
  53. package/src/Api/Implementation/ColumnApiImpl.js +48 -16
  54. package/src/Api/Implementation/ColumnFilterApiImpl.js +7 -7
  55. package/src/Api/Implementation/CommentsApiImpl.d.ts +8 -5
  56. package/src/Api/Implementation/CommentsApiImpl.js +12 -6
  57. package/src/Api/Implementation/ConfigApiImpl.d.ts +2 -2
  58. package/src/Api/Implementation/ConfigApiImpl.js +34 -30
  59. package/src/Api/Implementation/DashboardApiImpl.js +1 -6
  60. package/src/Api/Implementation/ExportApiImpl.js +5 -10
  61. package/src/Api/Implementation/ExpressionApiImpl.js +14 -19
  62. package/src/Api/Implementation/Fdc3ApiImpl.js +1 -1
  63. package/src/Api/Implementation/FlashingCellApiImpl.d.ts +2 -2
  64. package/src/Api/Implementation/FlashingCellApiImpl.js +3 -8
  65. package/src/Api/Implementation/FormatColumnApiImpl.js +4 -4
  66. package/src/Api/Implementation/FreeTextColumnApiImpl.js +1 -1
  67. package/src/Api/Implementation/GridApiImpl.d.ts +10 -3
  68. package/src/Api/Implementation/GridApiImpl.js +78 -23
  69. package/src/Api/Implementation/LayoutApiImpl.d.ts +4 -7
  70. package/src/Api/Implementation/LayoutApiImpl.js +19 -13
  71. package/src/Api/Implementation/NoteApiImpl.d.ts +18 -0
  72. package/src/Api/Implementation/NoteApiImpl.js +45 -0
  73. package/src/Api/Implementation/OptionsApiImpl.d.ts +4 -4
  74. package/src/Api/Implementation/OptionsApiImpl.js +4 -4
  75. package/src/Api/Implementation/PredicateApiImpl.js +2 -2
  76. package/src/Api/Implementation/ScheduleApiImpl.js +6 -6
  77. package/src/Api/Implementation/ScopeApiImpl.d.ts +26 -24
  78. package/src/Api/Implementation/ScopeApiImpl.js +64 -18
  79. package/src/Api/Implementation/StatusBarApiImpl.d.ts +0 -1
  80. package/src/Api/Implementation/StatusBarApiImpl.js +0 -3
  81. package/src/Api/Implementation/TeamSharingApiImpl.js +3 -15
  82. package/src/Api/Implementation/ThemeApiImpl.js +2 -7
  83. package/src/Api/Implementation/ToolPanelApiImpl.js +6 -6
  84. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +14 -8
  85. package/src/Api/Implementation/UserInterfaceApiImpl.js +30 -25
  86. package/src/Api/Internal/ActionRowInternalApi.d.ts +6 -1
  87. package/src/Api/Internal/ActionRowInternalApi.js +118 -38
  88. package/src/Api/Internal/AdaptableInternalApi.d.ts +6 -8
  89. package/src/Api/Internal/AdaptableInternalApi.js +25 -37
  90. package/src/Api/Internal/AlertInternalApi.d.ts +2 -2
  91. package/src/Api/Internal/AlertInternalApi.js +4 -17
  92. package/src/Api/Internal/CalculatedColumnInternalApi.d.ts +2 -0
  93. package/src/Api/Internal/CalculatedColumnInternalApi.js +79 -14
  94. package/src/Api/Internal/ChartingInternalApi.js +13 -13
  95. package/src/Api/Internal/ColumnFilterInternalApi.d.ts +2 -0
  96. package/src/Api/Internal/ColumnFilterInternalApi.js +35 -31
  97. package/src/Api/Internal/ColumnInternalApi.d.ts +6 -1
  98. package/src/Api/Internal/ColumnInternalApi.js +20 -1
  99. package/src/Api/Internal/CommentsInternalApi.d.ts +4 -0
  100. package/src/Api/Internal/CommentsInternalApi.js +18 -0
  101. package/src/Api/Internal/CustomSortInternalApi.d.ts +3 -2
  102. package/src/Api/Internal/CustomSortInternalApi.js +33 -2
  103. package/src/Api/Internal/DashboardInternalApi.js +5 -11
  104. package/src/Api/Internal/DataImportInternalApi.js +3 -9
  105. package/src/Api/Internal/DataSetInternalApi.js +3 -8
  106. package/src/Api/Internal/ExportInternalApi.d.ts +2 -1
  107. package/src/Api/Internal/ExportInternalApi.js +8 -5
  108. package/src/Api/Internal/ExpressionInternalApi.js +2 -12
  109. package/src/Api/Internal/Fdc3InternalApi.js +3 -12
  110. package/src/Api/Internal/FormatColumnInternalApi.d.ts +3 -6
  111. package/src/Api/Internal/FormatColumnInternalApi.js +39 -30
  112. package/src/Api/Internal/FreeTextColumnInternalApi.d.ts +2 -0
  113. package/src/Api/Internal/FreeTextColumnInternalApi.js +62 -1
  114. package/src/Api/Internal/GridFilterInternalApi.d.ts +5 -0
  115. package/src/Api/Internal/GridFilterInternalApi.js +9 -9
  116. package/src/Api/Internal/GridInternalApi.d.ts +23 -3
  117. package/src/Api/Internal/GridInternalApi.js +151 -44
  118. package/src/Api/Internal/LayoutInternalApi.d.ts +2 -0
  119. package/src/Api/Internal/LayoutInternalApi.js +26 -19
  120. package/src/Api/Internal/NoteInternalApi.d.ts +4 -0
  121. package/src/Api/Internal/NoteInternalApi.js +18 -0
  122. package/src/Api/Internal/PredicateInternalApi.d.ts +6 -6
  123. package/src/Api/Internal/PredicateInternalApi.js +5 -40
  124. package/src/Api/Internal/ScheduleInternalApi.js +1 -6
  125. package/src/Api/Internal/StyledColumnInternalApi.d.ts +2 -2
  126. package/src/Api/Internal/StyledColumnInternalApi.js +8 -9
  127. package/src/Api/Internal/SystemStatusInternalApi.js +1 -7
  128. package/src/Api/Internal/TeamSharingInternalApi.js +3 -8
  129. package/src/Api/Internal/ThemeInternalApi.js +1 -1
  130. package/src/Api/Internal/UserInterfaceInternalApi.js +1 -1
  131. package/src/Api/InteropioPluginApi.d.ts +2 -2
  132. package/src/Api/LayoutApi.d.ts +17 -9
  133. package/src/Api/NoteApi.d.ts +48 -0
  134. package/src/Api/OptionsApi.d.ts +8 -8
  135. package/src/Api/ScopeApi.d.ts +34 -24
  136. package/src/Api/UserInterfaceApi.d.ts +15 -13
  137. package/src/EnvVars.d.ts +3 -0
  138. package/src/EnvVars.js +8 -0
  139. package/src/PredefinedConfig/AdaptableState.d.ts +2 -2
  140. package/src/PredefinedConfig/AlertState.d.ts +2 -2
  141. package/src/PredefinedConfig/CommentState.d.ts +27 -23
  142. package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +4 -0
  143. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
  144. package/src/PredefinedConfig/Common/AdaptableObject.d.ts +4 -4
  145. package/src/PredefinedConfig/Common/AdaptablePredicate.d.ts +2 -2
  146. package/src/PredefinedConfig/Common/AggregationColumns.d.ts +1 -0
  147. package/src/PredefinedConfig/Common/AggregationColumns.js +5 -1
  148. package/src/PredefinedConfig/Common/CellSummary.d.ts +5 -14
  149. package/src/PredefinedConfig/Common/{AdaptableScope.d.ts → ColumnScope.d.ts} +4 -1
  150. package/src/PredefinedConfig/Common/DataUpdateConfig.d.ts +4 -0
  151. package/src/PredefinedConfig/Common/Enums.d.ts +4 -1
  152. package/src/PredefinedConfig/Common/Enums.js +3 -0
  153. package/src/PredefinedConfig/Common/Fdc3Intent.d.ts +2 -2
  154. package/src/PredefinedConfig/Common/Menu.d.ts +15 -1
  155. package/src/PredefinedConfig/Common/Menu.js +117 -0
  156. package/src/PredefinedConfig/Common/RowScope.d.ts +17 -0
  157. package/src/PredefinedConfig/Common/RowSummary.d.ts +21 -0
  158. package/src/PredefinedConfig/Common/RowSummary.js +20 -0
  159. package/src/PredefinedConfig/Common/TransposeConfig.d.ts +30 -0
  160. package/src/PredefinedConfig/Common/Types.d.ts +4 -4
  161. package/src/PredefinedConfig/Common/Types.js +4 -1
  162. package/src/PredefinedConfig/ExportState.d.ts +2 -2
  163. package/src/PredefinedConfig/FlashingCellState.d.ts +2 -2
  164. package/src/PredefinedConfig/FormatColumnState.d.ts +9 -5
  165. package/src/PredefinedConfig/LayoutState.d.ts +5 -0
  166. package/src/PredefinedConfig/{NotesState.d.ts → NoteState.d.ts} +12 -22
  167. package/src/PredefinedConfig/NoteState.js +2 -0
  168. package/src/PredefinedConfig/PlusMinusState.d.ts +2 -2
  169. package/src/PredefinedConfig/PopupState.d.ts +1 -2
  170. package/src/PredefinedConfig/PredefinedConfig.d.ts +3 -3
  171. package/src/PredefinedConfig/Selection/GridCell.d.ts +13 -0
  172. package/src/PredefinedConfig/ShortcutState.d.ts +2 -2
  173. package/src/PredefinedConfig/StyledColumnState.d.ts +5 -5
  174. package/src/PredefinedConfig/SystemState.d.ts +12 -4
  175. package/src/Redux/ActionsReducers/CommentsRedux.d.ts +0 -4
  176. package/src/Redux/ActionsReducers/CommentsRedux.js +1 -39
  177. package/src/Redux/ActionsReducers/LayoutRedux.d.ts +9 -0
  178. package/src/Redux/ActionsReducers/LayoutRedux.js +34 -11
  179. package/src/Redux/ActionsReducers/NoteRedux.d.ts +38 -0
  180. package/src/Redux/ActionsReducers/NoteRedux.js +89 -0
  181. package/src/Redux/ActionsReducers/PopupRedux.d.ts +5 -13
  182. package/src/Redux/ActionsReducers/PopupRedux.js +1 -22
  183. package/src/Redux/ActionsReducers/SystemRedux.d.ts +15 -4
  184. package/src/Redux/ActionsReducers/SystemRedux.js +27 -11
  185. package/src/Redux/Store/AdaptableStore.d.ts +4 -6
  186. package/src/Redux/Store/AdaptableStore.js +69 -79
  187. package/src/Redux/Store/Interface/IAdaptableStore.d.ts +8 -2
  188. package/src/Strategy/AdaptableModuleBase.d.ts +11 -12
  189. package/src/Strategy/AdaptableModuleBase.js +17 -23
  190. package/src/Strategy/AlertModule.d.ts +2 -3
  191. package/src/Strategy/AlertModule.js +4 -57
  192. package/src/Strategy/BulkUpdateModule.d.ts +1 -1
  193. package/src/Strategy/BulkUpdateModule.js +2 -1
  194. package/src/Strategy/CalculatedColumnModule.d.ts +4 -5
  195. package/src/Strategy/CalculatedColumnModule.js +8 -28
  196. package/src/Strategy/CellSummaryModule.d.ts +10 -8
  197. package/src/Strategy/CellSummaryModule.js +85 -70
  198. package/src/Strategy/ChartingModule.d.ts +0 -1
  199. package/src/Strategy/ChartingModule.js +2 -22
  200. package/src/Strategy/ColumnFilterModule.d.ts +3 -4
  201. package/src/Strategy/ColumnFilterModule.js +37 -121
  202. package/src/Strategy/ColumnInfoModule.d.ts +2 -2
  203. package/src/Strategy/ColumnInfoModule.js +6 -4
  204. package/src/Strategy/CommentModule.d.ts +11 -0
  205. package/src/Strategy/CommentModule.js +75 -0
  206. package/src/Strategy/CustomSortModule.d.ts +1 -1
  207. package/src/Strategy/CustomSortModule.js +4 -3
  208. package/src/Strategy/DashboardModule.d.ts +3 -4
  209. package/src/Strategy/DashboardModule.js +11 -28
  210. package/src/Strategy/DataChangeHistoryModule.d.ts +1 -0
  211. package/src/Strategy/DataChangeHistoryModule.js +3 -1
  212. package/src/Strategy/DataImportModule.d.ts +4 -4
  213. package/src/Strategy/DataImportModule.js +8 -8
  214. package/src/Strategy/DataSetModule.d.ts +1 -1
  215. package/src/Strategy/DataSetModule.js +1 -1
  216. package/src/Strategy/ExportModule.d.ts +1 -2
  217. package/src/Strategy/ExportModule.js +37 -40
  218. package/src/Strategy/Fdc3Module.d.ts +1 -1
  219. package/src/Strategy/Fdc3Module.js +3 -13
  220. package/src/Strategy/FlashingCellModule.d.ts +3 -4
  221. package/src/Strategy/FlashingCellModule.js +8 -21
  222. package/src/Strategy/FormatColumnModule.d.ts +1 -3
  223. package/src/Strategy/FormatColumnModule.js +27 -91
  224. package/src/Strategy/FreeTextColumnModule.d.ts +1 -2
  225. package/src/Strategy/FreeTextColumnModule.js +2 -32
  226. package/src/Strategy/GridFilterModule.d.ts +0 -1
  227. package/src/Strategy/GridFilterModule.js +0 -37
  228. package/src/Strategy/GridInfoModule.d.ts +2 -2
  229. package/src/Strategy/GridInfoModule.js +5 -3
  230. package/src/Strategy/Interface/IModule.d.ts +3 -4
  231. package/src/Strategy/LayoutModule.d.ts +5 -6
  232. package/src/Strategy/LayoutModule.js +77 -122
  233. package/src/Strategy/NamedQueryModule.d.ts +0 -1
  234. package/src/Strategy/NamedQueryModule.js +0 -19
  235. package/src/Strategy/{NotesModule.d.ts → NoteModule.d.ts} +3 -3
  236. package/src/Strategy/NoteModule.js +60 -0
  237. package/src/Strategy/PlusMinusModule.d.ts +2 -2
  238. package/src/Strategy/PlusMinusModule.js +3 -3
  239. package/src/Strategy/ScheduleModule.d.ts +1 -1
  240. package/src/Strategy/ScheduleModule.js +1 -1
  241. package/src/Strategy/SettingsPanelModule.d.ts +3 -3
  242. package/src/Strategy/SettingsPanelModule.js +6 -6
  243. package/src/Strategy/ShortcutModule.d.ts +1 -1
  244. package/src/Strategy/ShortcutModule.js +1 -1
  245. package/src/Strategy/SmartEditModule.d.ts +1 -1
  246. package/src/Strategy/SmartEditModule.js +2 -1
  247. package/src/Strategy/StyledColumnModule.d.ts +2 -2
  248. package/src/Strategy/StyledColumnModule.js +47 -40
  249. package/src/Strategy/SystemStatusModule.d.ts +2 -2
  250. package/src/Strategy/SystemStatusModule.js +4 -3
  251. package/src/Strategy/TeamSharingModule.d.ts +1 -0
  252. package/src/Strategy/TeamSharingModule.js +5 -5
  253. package/src/Strategy/ToolPanelModule.d.ts +0 -1
  254. package/src/Strategy/ToolPanelModule.js +0 -23
  255. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +4 -2
  256. package/src/Strategy/Utilities/getScopeViewItems.d.ts +2 -2
  257. package/src/Strategy/Utilities/getScopeViewItems.js +3 -0
  258. package/src/Utilities/Constants/DocumentationLinkConstants.js +1 -1
  259. package/src/Utilities/Constants/GeneralConstants.d.ts +2 -0
  260. package/src/Utilities/Constants/GeneralConstants.js +4 -2
  261. package/src/Utilities/Constants/ModuleConstants.d.ts +6 -6
  262. package/src/Utilities/Constants/ModuleConstants.js +7 -7
  263. package/src/Utilities/Defaults/DefaultSettingsPanel.js +7 -6
  264. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +3 -2
  265. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +434 -3
  266. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +3 -3
  267. package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.js +1 -1
  268. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +1 -1
  269. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +15 -0
  270. package/src/Utilities/Extensions/ArrayExtensions.d.ts +2 -0
  271. package/src/Utilities/Extensions/ArrayExtensions.js +6 -1
  272. package/src/Utilities/Helpers/AdaptableHelper.d.ts +3 -4
  273. package/src/Utilities/Helpers/AdaptableHelper.js +21 -60
  274. package/src/Utilities/Helpers/Helper.d.ts +2 -0
  275. package/src/Utilities/Helpers/Helper.js +6 -1
  276. package/src/Utilities/Interface/MessagePopups.d.ts +0 -3
  277. package/src/Utilities/MenuItem.d.ts +7 -4
  278. package/src/Utilities/MenuItem.js +6 -3
  279. package/src/Utilities/ObjectFactory.d.ts +3 -3
  280. package/src/Utilities/ObjectFactory.js +7 -25
  281. package/src/Utilities/Services/AggregatedScalarLiveValue.d.ts +4 -2
  282. package/src/Utilities/Services/AggregatedScalarLiveValue.js +26 -19
  283. package/src/Utilities/Services/CellPopupService.js +2 -3
  284. package/src/Utilities/Services/Interface/IQueryLanguageService.d.ts +1 -1
  285. package/src/Utilities/Services/Interface/IReportService.d.ts +1 -4
  286. package/src/Utilities/Services/LicenseService/index.d.ts +3 -0
  287. package/src/Utilities/Services/LicenseService/index.js +1 -186
  288. package/src/Utilities/Services/MetamodelService.d.ts +1 -1
  289. package/src/Utilities/Services/MetamodelService.js +6 -3
  290. package/src/Utilities/Services/ModuleService.js +6 -2
  291. package/src/Utilities/Services/QueryLanguageService.d.ts +1 -1
  292. package/src/Utilities/Services/QueryLanguageService.js +4 -3
  293. package/src/Utilities/Services/ReportService.d.ts +7 -5
  294. package/src/Utilities/Services/ReportService.js +243 -24
  295. package/src/Utilities/Services/RowEditService.d.ts +3 -2
  296. package/src/Utilities/Services/RowEditService.js +3 -1
  297. package/src/Utilities/Services/RowSummaryService.d.ts +22 -0
  298. package/src/Utilities/Services/RowSummaryService.js +146 -0
  299. package/src/Utilities/adaptableQlUtils.d.ts +2 -0
  300. package/src/Utilities/adaptableQlUtils.js +18 -0
  301. package/src/Utilities/license/decode.js +1 -70
  302. package/src/Utilities/license/hashing.js +1 -47
  303. package/src/View/AdaptableView.js +1 -3
  304. package/src/View/AdaptableViewFactory.js +2 -2
  305. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +2 -2
  306. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +1 -1
  307. package/src/View/Alert/Utilities/getAvailablePredicates.d.ts +2 -2
  308. package/src/View/Alert/Utilities/getDefaultAlertDefinition.d.ts +1 -1
  309. package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
  310. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.d.ts +1 -1
  311. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +3 -3
  312. package/src/View/CalculatedColumn/utils.d.ts +1 -1
  313. package/src/View/CellSummary/CellSummaryPopup.js +1 -1
  314. package/src/View/Comments/CommentsEditor.js +28 -17
  315. package/src/View/Comments/CommentsPopup.js +25 -13
  316. package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
  317. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.d.ts +5 -0
  318. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.js +46 -0
  319. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +5 -2
  320. package/src/View/Components/CellPopup/index.d.ts +1 -0
  321. package/src/View/Components/CellPopup/index.js +6 -3
  322. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.d.ts +3 -3
  323. package/src/View/Components/EntityRulesEditor/index.d.ts +3 -3
  324. package/src/View/Components/FilterForm/FilterForm.js +20 -12
  325. package/src/View/Components/FilterForm/QuickFilterForm.js +15 -8
  326. package/src/View/Components/FilterForm/QuickFilterValues.js +39 -23
  327. package/src/View/Components/NewScopeComponent.d.ts +5 -5
  328. package/src/View/Components/NewScopeComponent.js +34 -1
  329. package/src/View/Components/Popups/AdaptableLoadingScreen.d.ts +6 -5
  330. package/src/View/Components/Popups/AdaptableLoadingScreen.js +19 -9
  331. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +9 -1
  332. package/src/View/Components/Popups/AdaptableToaster.js +1 -1
  333. package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +7 -7
  334. package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +1 -0
  335. package/src/View/Components/Popups/WindowPopups/windowFactory.js +4 -1
  336. package/src/View/Components/RangesComponent.d.ts +2 -2
  337. package/src/View/Components/Selectors/PermittedValuesSelector.js +2 -2
  338. package/src/View/Components/SharedProps/WizardScopeState.d.ts +2 -2
  339. package/src/View/Components/ValueSelector/index.d.ts +1 -0
  340. package/src/View/Components/ValueSelector/index.js +2 -2
  341. package/src/View/CustomSort/CustomSortSummary.js +1 -1
  342. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +12 -10
  343. package/src/View/DataImport/DataImportWizard/DataImportWizard.js +1 -1
  344. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +2 -2
  345. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +19 -6
  346. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +27 -12
  347. package/src/View/FreeTextColumn/FreeTextColumnSummary.js +1 -1
  348. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +3 -1
  349. package/src/View/GridFilter/GridFilterViewPanel.js +9 -5
  350. package/src/View/GridFilter/useGridFilterExpressionEditor.js +1 -1
  351. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +2 -3
  352. package/src/View/Layout/LayoutViewPanel.js +2 -1
  353. package/src/View/Layout/TransposedPopup.d.ts +3 -0
  354. package/src/View/Layout/TransposedPopup.js +200 -0
  355. package/src/View/Layout/Wizard/LayoutWizard.js +38 -3
  356. package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -1
  357. package/src/View/Layout/Wizard/sections/FilterSection.js +1 -1
  358. package/src/View/Layout/Wizard/sections/RowGroupingSection.js +17 -1
  359. package/src/View/Layout/Wizard/sections/RowSummarySection.d.ts +9 -0
  360. package/src/View/Layout/Wizard/sections/RowSummarySection.js +181 -0
  361. package/src/View/License/LicenseWatermark.js +1 -66
  362. package/src/View/Note/NotePopup.d.ts +2 -0
  363. package/src/View/{Notes/NotesPopup.js → Note/NotePopup.js} +22 -19
  364. package/src/View/SpecialColumnSettingsWizardStep.js +4 -4
  365. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +1 -1
  366. package/src/View/StyledColumn/Wizard/StyledColumnWizardSettingsSection.js +38 -14
  367. package/src/View/Theme/ThemeSelector.js +2 -2
  368. package/src/agGrid/ActionColumnRenderer.js +48 -10
  369. package/src/agGrid/Adaptable.d.ts +3 -455
  370. package/src/agGrid/Adaptable.js +7 -5291
  371. package/src/agGrid/AdaptableAgGrid.d.ts +346 -0
  372. package/src/agGrid/AdaptableAgGrid.js +3915 -0
  373. package/src/agGrid/AdaptableLogger.js +78 -13
  374. package/src/agGrid/AgGridAdapter.d.ts +64 -0
  375. package/src/agGrid/AgGridAdapter.js +594 -0
  376. package/src/agGrid/AgGridColumnAdapter.d.ts +54 -0
  377. package/src/agGrid/AgGridColumnAdapter.js +800 -0
  378. package/src/agGrid/AgGridMenuAdapter.d.ts +44 -0
  379. package/src/agGrid/AgGridMenuAdapter.js +605 -0
  380. package/src/agGrid/AgGridOptionsService.d.ts +15 -0
  381. package/src/agGrid/AgGridOptionsService.js +80 -0
  382. package/src/agGrid/BadgeRenderer.d.ts +2 -2
  383. package/src/agGrid/BadgeRenderer.js +26 -12
  384. package/src/agGrid/CheckboxRenderer.js +1 -1
  385. package/src/agGrid/FilterWrapper.d.ts +2 -2
  386. package/src/agGrid/FilterWrapper.js +1 -1
  387. package/src/agGrid/PercentBarRenderer.js +2 -1
  388. package/src/agGrid/attachAddaptableColumnTypes.d.ts +12 -12
  389. package/src/agGrid/buildSortedColumnStateForLayout.d.ts +7 -0
  390. package/src/agGrid/buildSortedColumnStateForLayout.js +124 -0
  391. package/src/agGrid/defaultAdaptableOptions.d.ts +3 -0
  392. package/src/{Utilities/Defaults/DefaultAdaptableOptions.js → agGrid/defaultAdaptableOptions.js} +74 -19
  393. package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +1 -1
  394. package/src/agGrid/editors/AdaptableDateEditor/index.js +3 -3
  395. package/src/agGrid/editors/AdaptableNumberEditor/index.d.ts +2 -2
  396. package/src/agGrid/editors/AdaptableNumberEditor/index.js +2 -2
  397. package/src/agGrid/sortColumnStateForVisibleColumns.d.ts +12 -0
  398. package/src/agGrid/sortColumnStateForVisibleColumns.js +50 -0
  399. package/src/agGrid/weightedAverage.d.ts +0 -2
  400. package/src/agGrid/weightedAverage.js +1 -56
  401. package/src/components/ColorPicker/ColorPicker.d.ts +1 -1
  402. package/src/components/Datepicker/index.d.ts +1 -1
  403. package/src/components/Datepicker/index.js +10 -2
  404. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +2 -1
  405. package/src/components/ExpressionEditor/QueryBuilder/utils.d.ts +0 -1
  406. package/src/components/ExpressionEditor/QueryBuilder/utils.js +3 -17
  407. package/src/components/InfiniteTable/index.js +2 -2
  408. package/src/components/Input/index.d.ts +1 -2
  409. package/src/components/List/ListGroupItem/index.d.ts +1 -1
  410. package/src/components/Modal/index.d.ts +1 -0
  411. package/src/components/Modal/index.js +6 -4
  412. package/src/components/ProgressIndicator/ProgressIndicator.js +15 -6
  413. package/src/components/Select/Select.d.ts +3 -1
  414. package/src/components/Select/Select.js +4 -2
  415. package/src/components/Textarea/index.d.ts +2 -2
  416. package/src/components/icons/copy.d.ts +3 -0
  417. package/src/components/icons/copy.js +7 -0
  418. package/src/components/icons/filter-off.d.ts +3 -0
  419. package/src/components/icons/filter-off.js +7 -0
  420. package/src/components/icons/grid-info.d.ts +3 -0
  421. package/src/components/icons/grid-info.js +7 -0
  422. package/src/components/icons/index.js +14 -0
  423. package/src/components/icons/note.js +2 -2
  424. package/src/components/icons/rows.d.ts +3 -0
  425. package/src/components/icons/rows.js +7 -0
  426. package/src/components/icons/select-all.d.ts +3 -0
  427. package/src/components/icons/select-all.js +7 -0
  428. package/src/components/icons/select-fwd.d.ts +3 -0
  429. package/src/components/icons/select-fwd.js +7 -0
  430. package/src/components/icons/select-off.d.ts +3 -0
  431. package/src/components/icons/select-off.js +7 -0
  432. package/src/env.js +2 -2
  433. package/src/metamodel/adaptable.metamodel.d.ts +222 -73
  434. package/src/metamodel/adaptable.metamodel.js +1 -9316
  435. package/src/migration/AdaptableUpgradeHelper.d.ts +38 -0
  436. package/src/migration/AdaptableUpgradeHelper.js +52 -0
  437. package/src/migration/VersionUpgrade.d.ts +8 -0
  438. package/src/migration/VersionUpgrade.js +15 -0
  439. package/src/migration/VersionUpgrade17.d.ts +18 -0
  440. package/src/migration/VersionUpgrade17.js +347 -0
  441. package/src/migration/VersionUpgrade18.d.ts +5 -0
  442. package/src/migration/VersionUpgrade18.js +10 -0
  443. package/src/parser/src/parser.js +576 -553
  444. package/src/parser/src/predicate/mapExpressionToQlPredicate.js +1 -1
  445. package/src/parser/src/predicate/mapQlPredicateToExpression.js +3 -4
  446. package/src/parser/src/types.d.ts +7 -2
  447. package/src/parser/src/types.js +1 -2
  448. package/src/types.d.ts +29 -21
  449. package/tsconfig.cjs.tsbuildinfo +1 -1
  450. package/src/AdaptableOptions/CommentsOptions.d.ts +0 -28
  451. package/src/AdaptableOptions/NotesOptions.d.ts +0 -16
  452. package/src/Api/Events/CommentsChangedInfo.d.ts +0 -5
  453. package/src/Api/Implementation/NotesApiImpl.d.ts +0 -16
  454. package/src/Api/Implementation/NotesApiImpl.js +0 -44
  455. package/src/Api/NotesApi.d.ts +0 -48
  456. package/src/PredefinedConfig/CellAddress.d.ts +0 -13
  457. package/src/PredefinedConfig/CellAddress.js +0 -5
  458. package/src/Redux/ActionsReducers/NotesRedux.d.ts +0 -39
  459. package/src/Redux/ActionsReducers/NotesRedux.js +0 -87
  460. package/src/Strategy/CommentsModule.d.ts +0 -16
  461. package/src/Strategy/CommentsModule.js +0 -82
  462. package/src/Strategy/NotesModule.js +0 -62
  463. package/src/Utilities/Defaults/DefaultAdaptableOptions.d.ts +0 -2
  464. package/src/Utilities/Services/Interface/IRowEditService.d.ts +0 -3
  465. package/src/View/Components/ScopeComponent.d.ts +0 -24
  466. package/src/View/Components/ScopeComponent.js +0 -138
  467. package/src/View/Export/Wizard/ReportScopeWizard.d.ts +0 -17
  468. package/src/View/Export/Wizard/ReportScopeWizard.js +0 -52
  469. package/src/View/Notes/NotesPopup.d.ts +0 -2
  470. package/src/agGrid/agGridHelper.d.ts +0 -57
  471. package/src/agGrid/agGridHelper.js +0 -691
  472. package/src/agGrid/agGridMenuHelper.d.ts +0 -46
  473. package/src/agGrid/agGridMenuHelper.js +0 -673
  474. /package/src/AdaptableOptions/{CommentsOptions.js → CommentOptions.js} +0 -0
  475. /package/src/AdaptableOptions/{NotesOptions.js → NoteOptions.js} +0 -0
  476. /package/src/Api/Events/{CommentsChangedInfo.js → CommentChanged.js} +0 -0
  477. /package/src/Api/{NotesApi.js → NoteApi.js} +0 -0
  478. /package/src/PredefinedConfig/Common/{AdaptableScope.js → ColumnScope.js} +0 -0
  479. /package/src/PredefinedConfig/{NotesState.js → Common/RowScope.js} +0 -0
  480. /package/src/{Utilities/Services/Interface/IRowEditService.js → PredefinedConfig/Common/TransposeConfig.js} +0 -0
  481. /package/src/View/{Notes → Note}/NoteEditor.d.ts +0 -0
  482. /package/src/View/{Notes → Note}/NoteEditor.js +0 -0
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TransposedPopup = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const React = tslib_1.__importStar(require("react"));
6
+ const rebass_1 = require("rebass");
7
+ const FormLayout_1 = tslib_1.__importStar(require("../../components/FormLayout"));
8
+ const Panel_1 = tslib_1.__importDefault(require("../../components/Panel"));
9
+ const AdaptableContext_1 = require("../AdaptableContext");
10
+ const ColumnSelector_1 = require("../Components/Selectors/ColumnSelector");
11
+ const AdaptableAgGrid_1 = require("../../agGrid/AdaptableAgGrid");
12
+ const TransposedPopup = (props) => {
13
+ const adaptable = (0, AdaptableContext_1.useAdaptable)();
14
+ const { transposedColumnId, hideTransposedColumn, visibleColumns, visibleRows, autosize } = props.popupProps;
15
+ const rowNodes = React.useMemo(() => {
16
+ return props.popupProps.visibleRows
17
+ ? adaptable.api.gridApi.getVisibleRowNodes()
18
+ : adaptable.api.gridApi.getAllRowNodes();
19
+ }, [
20
+ // can be later triggered by tickng data
21
+ ]);
22
+ const primaryKey = adaptable.api.optionsApi.getPrimaryKey();
23
+ const [syntheticTransposedByColumnId, setSyntheticTransposedByColumnId] = React.useState(transposedColumnId);
24
+ const columns = React.useMemo(() => {
25
+ // customisable
26
+ return visibleColumns
27
+ ? adaptable.api.columnApi.getVisibleColumns()
28
+ : adaptable.api.columnApi.getColumns();
29
+ }, []);
30
+ const adaptableContainerId = 'transposed-adaptable-container';
31
+ const agGridContainerId = 'transposed-adaptable-ag-grid-container';
32
+ /**
33
+ * This is used as first field
34
+ */
35
+ const transposedFirstColumnField = '_transposed_column_value';
36
+ const transposedFirstColumnHeader = '_transposed_column_header';
37
+ const transposedRowsAndColumns = React.useMemo(() => {
38
+ /**
39
+ * transposed column values become primaryKey of the new tarnsposed rows
40
+ * we build row by row, might be easer
41
+ */
42
+ const transposedColumns = [];
43
+ const transposedRows = [];
44
+ for (const row of rowNodes) {
45
+ // we force the col-ids to be strings, easer to work with
46
+ //row[transposeByColumnId] + '';
47
+ const colId = adaptable.api.gridApi.getNormalisedValueFromRowNode(row, primaryKey) + '';
48
+ //row[synteticTransposedByColumnId] + '';
49
+ const header = adaptable.api.gridApi.getNormalisedValueFromRowNode(row, syntheticTransposedByColumnId) +
50
+ '';
51
+ transposedColumns.push({
52
+ colId,
53
+ header,
54
+ });
55
+ }
56
+ for (const column of columns) {
57
+ /**
58
+ * We can hide the transposed column, if we want
59
+ */
60
+ if (hideTransposedColumn && column.columnId === syntheticTransposedByColumnId) {
61
+ continue;
62
+ }
63
+ const transposedRow = {
64
+ // [transposed-by-column-id]: [other column id],
65
+ // the value can be set to friendlyname
66
+ [transposedFirstColumnField]: column.columnId,
67
+ [transposedFirstColumnHeader]: column.friendlyName,
68
+ };
69
+ for (let row of rowNodes) {
70
+ // [transposed-by-column-value[n]]: [other column value[n]]
71
+ const key = adaptable.api.gridApi.getNormalisedValueFromRowNode(row, primaryKey);
72
+ // row[column.field]
73
+ let value = adaptable.api.gridApi.getDisplayValueFromRowNode(row, column.columnId);
74
+ if (value instanceof Date) {
75
+ value = value.toLocaleString();
76
+ }
77
+ transposedRow[key] = value;
78
+ }
79
+ transposedRows.push(transposedRow);
80
+ }
81
+ return {
82
+ transposedColumns,
83
+ transposedRows,
84
+ };
85
+ }, [rowNodes, primaryKey, syntheticTransposedByColumnId]);
86
+ React.useEffect(() => {
87
+ // Mounting in an effect, so the nodes are rendered/available
88
+ const hostAdaptableOptions = adaptable.adaptableOptions;
89
+ const adaptableOptions = {
90
+ primaryKey: transposedFirstColumnField,
91
+ licenseKey: hostAdaptableOptions.licenseKey,
92
+ userName: `${hostAdaptableOptions.userName}`,
93
+ adaptableId: `${hostAdaptableOptions.adaptableId}::TransposedView`,
94
+ containerOptions: {
95
+ adaptableContainer: adaptableContainerId,
96
+ agGridContainer: agGridContainerId,
97
+ },
98
+ entitlementOptions: {
99
+ defaultAccessLevel: 'Hidden',
100
+ },
101
+ layoutOptions: {
102
+ createDefaultLayout: false,
103
+ autoSizeColumnsInLayout: autosize,
104
+ },
105
+ predefinedConfig: {
106
+ Layout: {
107
+ Revision: Date.now(),
108
+ CurrentLayout: 'TransposedView',
109
+ Layouts: [
110
+ {
111
+ Name: 'TransposedView',
112
+ Columns: [
113
+ transposedFirstColumnHeader,
114
+ ...transposedRowsAndColumns.transposedColumns.map((c) => c.colId),
115
+ ],
116
+ PinnedColumnsMap: {
117
+ [transposedFirstColumnHeader]: 'left',
118
+ },
119
+ },
120
+ ],
121
+ },
122
+ Theme: {
123
+ CurrentTheme: adaptable.api.themeApi.getCurrentTheme(),
124
+ },
125
+ },
126
+ };
127
+ const firstColumn = {
128
+ field: transposedFirstColumnHeader,
129
+ headerName: adaptable.api.columnApi.getFriendlyNameForColumnId(syntheticTransposedByColumnId),
130
+ };
131
+ const agGridOptions = {
132
+ suppressLoadingOverlay: true,
133
+ defaultColDef: {
134
+ floatingFilter: false,
135
+ filter: false,
136
+ sortable: true,
137
+ resizable: true,
138
+ enableRowGroup: false,
139
+ editable: false,
140
+ enablePivot: false,
141
+ enableValue: false,
142
+ lockPinned: true,
143
+ menuTabs: [],
144
+ width: 120,
145
+ },
146
+ columnDefs: [
147
+ {
148
+ field: transposedFirstColumnField,
149
+ hide: true,
150
+ },
151
+ firstColumn,
152
+ ...transposedRowsAndColumns.transposedColumns.map((col) => {
153
+ return {
154
+ field: col.colId,
155
+ type: null,
156
+ headerName: col.header,
157
+ };
158
+ }),
159
+ ],
160
+ rowData: transposedRowsAndColumns.transposedRows,
161
+ sideBar: false,
162
+ };
163
+ const modules = adaptable.getAgGridRegisteredModules();
164
+ let transposedAdaptableApi;
165
+ (async () => {
166
+ transposedAdaptableApi = await AdaptableAgGrid_1.AdaptableAgGrid._initInternal({
167
+ variant: 'vanilla',
168
+ adaptableOptions,
169
+ gridOptions: agGridOptions,
170
+ modules,
171
+ });
172
+ adaptable.api.eventApi.on('ThemeChanged', (event) => {
173
+ transposedAdaptableApi.themeApi.loadTheme(typeof event.theme === 'object' ? event.theme.Name : event.theme);
174
+ });
175
+ })();
176
+ return () => {
177
+ if (transposedAdaptableApi) {
178
+ transposedAdaptableApi.destroy();
179
+ }
180
+ };
181
+ }, [syntheticTransposedByColumnId]);
182
+ /**
183
+ * Need to get all data, manualy pivot the grid using the primary key.
184
+ *
185
+ * 1. get the data, and pivot using the primary key
186
+ * 2. create the col definitios, a col definition for each row
187
+ * 3. create the grid
188
+ */
189
+ return (React.createElement(rebass_1.Flex, { flexDirection: "column", width: "100%", height: "100%" },
190
+ React.createElement(Panel_1.default, null,
191
+ React.createElement(FormLayout_1.default, null,
192
+ React.createElement(FormLayout_1.FormRow, { label: "Elevated Column" },
193
+ React.createElement(ColumnSelector_1.ColumnSelector, { value: syntheticTransposedByColumnId, onChange: (colId) => {
194
+ setSyntheticTransposedByColumnId(colId);
195
+ } })))),
196
+ React.createElement(rebass_1.Flex, { height: "100%" },
197
+ React.createElement(rebass_1.Box, { id: "transposed-adaptable-container" }),
198
+ React.createElement(rebass_1.Box, { height: "100%", width: "100%", id: "transposed-adaptable-ag-grid-container" }))));
199
+ };
200
+ exports.TransposedPopup = TransposedPopup;
@@ -18,6 +18,8 @@ const AggregationsSection_1 = require("./sections/AggregationsSection");
18
18
  const SortSection_1 = require("./sections/SortSection");
19
19
  const FilterSection_1 = require("./sections/FilterSection");
20
20
  const GridFilterSection_1 = require("./sections/GridFilterSection");
21
+ const RowSummarySection_1 = require("./sections/RowSummarySection");
22
+ const RowSummary_1 = require("../../../PredefinedConfig/Common/RowSummary");
21
23
  const LayoutWizard = (props) => {
22
24
  var _a, _b;
23
25
  const dispatch = (0, react_redux_1.useDispatch)();
@@ -31,14 +33,16 @@ const LayoutWizard = (props) => {
31
33
  preparedLayout = (0, Helper_1.cloneObject)(initialLayout);
32
34
  if (((_a = props === null || props === void 0 ? void 0 : props.popupParams) === null || _a === void 0 ? void 0 : _a.action) === 'Clone') {
33
35
  preparedLayout.Name = '';
36
+ delete preparedLayout.Uuid;
34
37
  }
35
38
  }
36
39
  else {
37
40
  preparedLayout = ObjectFactory_1.default.CreateEmptyLayout({ Name: '' });
38
41
  }
39
42
  if (preparedLayout.SuppressAggFuncInHeader === undefined) {
40
- preparedLayout.SuppressAggFuncInHeader =
41
- !!adaptable.api.gridApi.getAgGridInstance().suppressAggFuncInHeader;
43
+ preparedLayout.SuppressAggFuncInHeader = !!adaptable.agGridAdapter
44
+ .getAgGridApi()
45
+ .getGridOption('suppressAggFuncInHeader');
42
46
  }
43
47
  return preparedLayout;
44
48
  });
@@ -105,6 +109,7 @@ const LayoutWizard = (props) => {
105
109
  {
106
110
  title: 'Row Groups',
107
111
  isVisible: () => layoutSupportedFeatures.RowGroupedColumns,
112
+ isValid: RowSummarySection_1.areSummaryRowsValid,
108
113
  details: 'Configure Row Grouping',
109
114
  renderSummary: () => React.createElement(RowGroupingSection_1.RowGroupingSectionSummary, null),
110
115
  render: () => (React.createElement(rebass_1.Box, { p: 2, style: { height: '100%' } },
@@ -117,7 +122,37 @@ const LayoutWizard = (props) => {
117
122
  renderSummary: () => React.createElement(AggregationsSection_1.AggregationsSectionSummary, null),
118
123
  isValid: (data) => (0, AggregationsSection_1.isAggregationsSectionValid)(data),
119
124
  render: () => (React.createElement(rebass_1.Box, { p: 2, style: { height: '100%' } },
120
- React.createElement(AggregationsSection_1.AggregationsSection, { onChange: setLayout }))),
125
+ React.createElement(AggregationsSection_1.AggregationsSection, { onChange: (layout) => {
126
+ let newLayout = (0, Helper_1.cloneObject)(layout);
127
+ // if we do not have an weighted avg col, we need to clear the row summary if one exists
128
+ if (newLayout.RowSummaries) {
129
+ newLayout.RowSummaries = newLayout.RowSummaries.map((rowSummary) => {
130
+ return Object.assign(Object.assign({}, rowSummary), { ColumnsMap: Object.entries(rowSummary.ColumnsMap).reduce((acc, [columnId, aggFunc]) => {
131
+ if (
132
+ // see if it is weighted avg
133
+ aggFunc === RowSummary_1.WEIGHTED_AVERAGE_AGGREATED_FUNCTION &&
134
+ // see if we have a weight in the agg columns
135
+ newLayout.AggregationColumns[columnId] &&
136
+ (typeof newLayout.AggregationColumns[columnId] !== 'object' ||
137
+ newLayout.AggregationColumns[columnId].weightColumnId)) {
138
+ // need to remove the row summary
139
+ return acc;
140
+ }
141
+ acc[columnId] = aggFunc;
142
+ return acc;
143
+ }, {}) });
144
+ });
145
+ }
146
+ setLayout(newLayout);
147
+ } }))),
148
+ },
149
+ {
150
+ title: 'Row Summaries',
151
+ details: 'Configure Row Summaries',
152
+ renderSummary: () => React.createElement(RowGroupingSection_1.RowGroupingSectionSummary, null),
153
+ isVisible: () => layoutSupportedFeatures.RowSummaries,
154
+ render: () => (React.createElement(rebass_1.Box, { p: 2, style: { height: '100%' } },
155
+ React.createElement(RowSummarySection_1.RowSummarySection, { onChange: setLayout }))),
121
156
  },
122
157
  {
123
158
  title: 'Sort',
@@ -175,7 +175,7 @@ const ColumnRow = (props) => {
175
175
  React.createElement(FormLayout_1.FormRow, { label: "ColumnId" },
176
176
  React.createElement(Tag_1.Tag, null, props.column.columnId)),
177
177
  React.createElement(FormLayout_1.FormRow, { label: "Header" },
178
- React.createElement(Input_1.default, { "data-name": "column-header", className: "ab-Layout-Wizard__ColumnRow__Input", placehoder: "Custom name (optional)", onChange: () => {
178
+ React.createElement(Input_1.default, { "data-name": "column-header", className: "ab-Layout-Wizard__ColumnRow__Input", placeholder: "Custom name (optional)", onChange: () => {
179
179
  props.onColumnNameChange(props.column.columnId, event.target.value);
180
180
  }, value: customHeader })),
181
181
  React.createElement(FormLayout_1.FormRow, { label: "Width" },
@@ -58,7 +58,7 @@ const FilterSection = (props) => {
58
58
  React.createElement(Tabs_1.Tabs.Content, null,
59
59
  React.createElement(FormLayout_1.default, { mb: 2 },
60
60
  React.createElement(FormLayout_1.FormRow, { label: "Add Column Filter" },
61
- React.createElement(ColumnSelector_1.ColumnSelector, { filterColumn: (column) => column.filterable && !layoutFilters.some((f) => f.ColumnId === column.columnId), placeholder: "Select column to create filter", onChange: (option) => {
61
+ React.createElement(ColumnSelector_1.ColumnSelector, { filterColumn: (column) => column.filterable && !layoutFilters.some((f) => f.ColumnId === column.columnId), placeholder: "Select Column to create Filter", onChange: (option) => {
62
62
  props.onChange(Object.assign(Object.assign({}, layout), { ColumnFilters: [
63
63
  ...layoutFilters,
64
64
  {
@@ -16,7 +16,23 @@ const RowGroupingSectionSummary = () => {
16
16
  var _a;
17
17
  const adaptable = (0, AdaptableContext_1.useAdaptable)();
18
18
  const { data: layout } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
19
- return (React.createElement(rebass_1.Box, null, ((_a = layout.RowGroupedColumns) === null || _a === void 0 ? void 0 : _a.length) ? (layout.RowGroupedColumns.map((columnId) => (React.createElement(Tag_1.Tag, { mr: 1, key: columnId }, adaptable.api.columnApi.getFriendlyNameForColumnId(columnId))))) : (React.createElement(Tag_1.Tag, null, "No Row Grouping"))));
19
+ return (React.createElement(rebass_1.Box, null, ((_a = layout.RowSummaries) === null || _a === void 0 ? void 0 : _a.length) ? (layout === null || layout === void 0 ? void 0 : layout.RowSummaries.map((rowSummary, index) => {
20
+ var _a;
21
+ const columns = Object.entries((_a = rowSummary.ColumnsMap) !== null && _a !== void 0 ? _a : {})
22
+ .map(([columnId, expression]) => {
23
+ if (columnId === 'Source' || columnId === 'Uuid') {
24
+ return '';
25
+ }
26
+ return `${expression}(${adaptable.api.columnApi.getFriendlyNameForColumnId(columnId)})`;
27
+ })
28
+ .filter(Boolean)
29
+ .join(', ');
30
+ return (React.createElement(rebass_1.Box, { mb: 2 },
31
+ React.createElement(Tag_1.Tag, { key: index },
32
+ rowSummary.Position,
33
+ " ",
34
+ columns)));
35
+ })) : (React.createElement(Tag_1.Tag, null, "No Row Summaries"))));
20
36
  };
21
37
  exports.RowGroupingSectionSummary = RowGroupingSectionSummary;
22
38
  const RowGroupingSection = (props) => {
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ import { Layout } from '../../../../../types';
3
+ export declare const areSummaryRowsValid: (layout: Layout) => true | string;
4
+ export declare const RowGroupingSectionSummary: React.FunctionComponent;
5
+ interface RowSummarySectionProps {
6
+ onChange: (data: Layout) => void;
7
+ }
8
+ export declare const RowSummarySection: React.FunctionComponent<RowSummarySectionProps>;
9
+ export {};
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RowSummarySection = exports.RowGroupingSectionSummary = exports.areSummaryRowsValid = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const React = tslib_1.__importStar(require("react"));
6
+ const rebass_1 = require("rebass");
7
+ const FormLayout_1 = tslib_1.__importStar(require("../../../../components/FormLayout"));
8
+ const Panel_1 = tslib_1.__importDefault(require("../../../../components/Panel"));
9
+ const Select_1 = require("../../../../components/Select");
10
+ const SimpleButton_1 = tslib_1.__importDefault(require("../../../../components/SimpleButton"));
11
+ const Tabs_1 = require("../../../../components/Tabs");
12
+ const Tag_1 = require("../../../../components/Tag");
13
+ const RowSummary_1 = require("../../../../PredefinedConfig/Common/RowSummary");
14
+ const adaptableQlUtils_1 = require("../../../../Utilities/adaptableQlUtils");
15
+ const ModuleConstants_1 = require("../../../../Utilities/Constants/ModuleConstants");
16
+ const sortWithOrder_1 = require("../../../../Utilities/sortWithOrder");
17
+ const AdaptableContext_1 = require("../../../AdaptableContext");
18
+ const ValueSelector_1 = require("../../../Components/ValueSelector");
19
+ const OnePageAdaptableWizard_1 = require("../../../Wizard/OnePageAdaptableWizard");
20
+ const Utilities_1 = require("./Utilities");
21
+ const areSummaryRowsValid = (layout) => {
22
+ var _a;
23
+ if (!layout.RowSummaries)
24
+ return true;
25
+ let valid = true;
26
+ (_a = layout.RowSummaries) === null || _a === void 0 ? void 0 : _a.find((rowSummary) => {
27
+ var _a;
28
+ for (const [_, fn] of Object.entries((_a = rowSummary.ColumnsMap) !== null && _a !== void 0 ? _a : {})) {
29
+ if (!fn) {
30
+ valid = 'All row summary columns must have an aggregation function.';
31
+ return true;
32
+ }
33
+ }
34
+ });
35
+ return valid;
36
+ };
37
+ exports.areSummaryRowsValid = areSummaryRowsValid;
38
+ const getAvailableExpressionsForColumnType = (columnType, availableScalarExpressions) => {
39
+ const inputType = (0, adaptableQlUtils_1.mapColumnDataTypeToExpressionFunctionType)(columnType);
40
+ // Object.entries(availableScalarExpressions ?? {})
41
+ return RowSummary_1.summarySupportedExpressions
42
+ .filter((expression) => availableScalarExpressions[expression])
43
+ .map((expression) => {
44
+ var _a, _b;
45
+ const expressionDef = availableScalarExpressions[expression];
46
+ let firstArg = null;
47
+ if (Array.isArray((_a = expressionDef === null || expressionDef === void 0 ? void 0 : expressionDef.inputs) === null || _a === void 0 ? void 0 : _a[0])) {
48
+ // @ts-ignore
49
+ firstArg = (_b = expressionDef.inputs.find((input) => input.includes(inputType))) === null || _b === void 0 ? void 0 : _b[0];
50
+ }
51
+ else {
52
+ firstArg = expressionDef.inputs[0];
53
+ }
54
+ if (inputType === firstArg) {
55
+ return expression;
56
+ }
57
+ else {
58
+ return null;
59
+ }
60
+ })
61
+ .filter(Boolean);
62
+ };
63
+ const RowGroupingSectionSummary = () => {
64
+ var _a;
65
+ const adaptable = (0, AdaptableContext_1.useAdaptable)();
66
+ const { data: layout } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
67
+ return (React.createElement(rebass_1.Box, null, ((_a = layout.RowGroupedColumns) === null || _a === void 0 ? void 0 : _a.length) ? (layout.RowGroupedColumns.map((columnId) => (React.createElement(Tag_1.Tag, { mr: 1, key: columnId }, adaptable.api.columnApi.getFriendlyNameForColumnId(columnId))))) : (React.createElement(Tag_1.Tag, null, "No Row Grouping"))));
68
+ };
69
+ exports.RowGroupingSectionSummary = RowGroupingSectionSummary;
70
+ const RowSummaryEditor = ({ rowSummary, onChange, availableScalarExpressions, onDelete, }) => {
71
+ const { data: layout } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
72
+ const adaptable = (0, AdaptableContext_1.useAdaptable)();
73
+ const columns = React.useMemo(() => {
74
+ const colIds = adaptable.api.columnApi
75
+ .getColumns()
76
+ .filter((column) => {
77
+ var _a, _b;
78
+ if (!['Number', 'String', 'Date'].includes(column.dataType))
79
+ return false;
80
+ return (_b = (_a = layout.Columns) === null || _a === void 0 ? void 0 : _a.includes) === null || _b === void 0 ? void 0 : _b.call(_a, column.columnId);
81
+ })
82
+ .map((c) => c.columnId);
83
+ return (0, sortWithOrder_1.sortWithOrderArray)(colIds, Object.keys(rowSummary.ColumnsMap), {
84
+ sortUnorderedItems: false,
85
+ }).map((colId) => adaptable.api.columnApi.getColumnWithColumnId(colId));
86
+ }, [rowSummary.ColumnsMap]);
87
+ return (React.createElement(Panel_1.default, { header: React.createElement(rebass_1.Flex, { style: { width: '100%' } },
88
+ React.createElement(rebass_1.Flex, { flex: 1, alignItems: "center" }, "Row Summary"),
89
+ React.createElement(SimpleButton_1.default, { icon: "delete", onClick: () => {
90
+ onDelete();
91
+ } })), p: 2 },
92
+ React.createElement(FormLayout_1.default, null,
93
+ React.createElement(FormLayout_1.FormRow, { label: "Position" },
94
+ React.createElement(Select_1.Select, { options: [
95
+ {
96
+ label: 'Top',
97
+ value: 'Top',
98
+ },
99
+ {
100
+ label: 'Bottom',
101
+ value: 'Bottom',
102
+ },
103
+ ], value: rowSummary.Position, onChange: (position) => {
104
+ onChange(Object.assign(Object.assign({}, rowSummary), { Position: position }));
105
+ } }))),
106
+ React.createElement(rebass_1.Flex, { flexDirection: 'column', mt: 2, mb: 1 },
107
+ React.createElement(rebass_1.Flex, { alignItems: "center", flex: 1, mb: 2 }, "Column Aggregations"),
108
+ React.createElement(Panel_1.default, { bodyProps: { maxHeight: '100%' }, style: { height: 360 } },
109
+ React.createElement(ValueSelector_1.ValueSelector, { style: { maxHeight: '100%' }, showFilterInput: true, filter: Utilities_1.columnFilter, toIdentifier: (column) => column.columnId, toLabel: (option) => { var _a; return (_a = option.friendlyName) !== null && _a !== void 0 ? _a : option.columnId; }, options: columns, xSelectedLabel: () => {
110
+ return 'Active Aggregations:';
111
+ }, toListLabel: (column) => {
112
+ var _a, _b, _c;
113
+ const label = (_a = column.friendlyName) !== null && _a !== void 0 ? _a : column.columnId;
114
+ if (!(column.columnId in ((_b = rowSummary.ColumnsMap) !== null && _b !== void 0 ? _b : {}))) {
115
+ return label;
116
+ }
117
+ const expressionOptions = getAvailableExpressionsForColumnType(column.dataType, availableScalarExpressions).map((expression) => ({
118
+ label: expression,
119
+ value: expression,
120
+ }));
121
+ // check out if this layout has a aggregation with wighted column
122
+ const aggregation = (_c = layout.AggregationColumns) === null || _c === void 0 ? void 0 : _c[column.columnId];
123
+ if (aggregation && typeof aggregation === 'object' && aggregation.weightedColumnId) {
124
+ expressionOptions.push({
125
+ label: 'WEIGHTERD_AVG',
126
+ value: RowSummary_1.WEIGHTED_AVERAGE_AGGREATED_FUNCTION,
127
+ });
128
+ }
129
+ const expression = rowSummary.ColumnsMap[column.columnId];
130
+ return (React.createElement(rebass_1.Flex, null,
131
+ React.createElement(rebass_1.Flex, { mr: 2, alignItems: 'center' }, label),
132
+ React.createElement(Select_1.Select, { value: expression, options: expressionOptions, onChange: (expression) => {
133
+ onChange(Object.assign(Object.assign({}, rowSummary), { ColumnsMap: Object.assign(Object.assign({}, rowSummary.ColumnsMap), { [column.columnId]: expression }) }));
134
+ } })));
135
+ }, value: Object.keys(rowSummary.ColumnsMap), onChange: (colIds) => {
136
+ const newColumnsMap = {};
137
+ colIds.forEach((colId) => {
138
+ var _a;
139
+ newColumnsMap[colId] = (_a = rowSummary.ColumnsMap[colId]) !== null && _a !== void 0 ? _a : null;
140
+ });
141
+ onChange(Object.assign(Object.assign({}, rowSummary), { ColumnsMap: newColumnsMap }));
142
+ } })))));
143
+ };
144
+ const RowSummarySection = (props) => {
145
+ var _a;
146
+ const adaptable = (0, AdaptableContext_1.useAdaptable)();
147
+ const { data: layout } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
148
+ const availableScalarExpressions = React.useMemo(() => {
149
+ return adaptable.api.internalApi
150
+ .getQueryLanguageService()
151
+ .getModuleExpressionFunctionsMap(ModuleConstants_1.LayoutModuleId).aggregatedScalarFunctions;
152
+ }, []);
153
+ return (React.createElement(Tabs_1.Tabs, { style: { height: '100%' } },
154
+ React.createElement(Tabs_1.Tabs.Tab, null, "Row Summaries"),
155
+ React.createElement(Tabs_1.Tabs.Content, null,
156
+ React.createElement("div", null,
157
+ React.createElement(rebass_1.Flex, { mb: 1 },
158
+ React.createElement(rebass_1.Flex, { flex: 1 }),
159
+ React.createElement(SimpleButton_1.default, { onClick: () => {
160
+ var _a;
161
+ props.onChange(Object.assign(Object.assign({}, layout), { RowSummaries: [
162
+ ...((_a = layout.RowSummaries) !== null && _a !== void 0 ? _a : []),
163
+ {
164
+ Position: 'Top',
165
+ ColumnsMap: {},
166
+ },
167
+ ] }));
168
+ }, icon: "plus" }, "Add Row Summary")),
169
+ ((_a = layout.RowSummaries) !== null && _a !== void 0 ? _a : []).map((rowSummary, index) => {
170
+ return (React.createElement(RowSummaryEditor, { key: index, onDelete: () => {
171
+ const newSummaries = [...layout.RowSummaries];
172
+ newSummaries.splice(index, 1);
173
+ props.onChange(Object.assign(Object.assign({}, layout), { RowSummaries: newSummaries }));
174
+ }, availableScalarExpressions: availableScalarExpressions, rowSummary: rowSummary, onChange: (rowSummary) => {
175
+ const newSummaries = [...layout.RowSummaries];
176
+ newSummaries[index] = rowSummary;
177
+ props.onChange(Object.assign(Object.assign({}, layout), { RowSummaries: newSummaries }));
178
+ } }));
179
+ })))));
180
+ };
181
+ exports.RowSummarySection = RowSummarySection;
@@ -1,66 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LicenseWatermark = void 0;
4
- const tslib_1 = require("tslib");
5
- const React = tslib_1.__importStar(require("react"));
6
- const Logo_1 = require("../../components/Logo");
7
- const rebass_1 = require("rebass");
8
- const style = {
9
- border: '1px solid var(--ab-color-error)',
10
- padding: '5px',
11
- fontWeight: 600,
12
- margin: '5px',
13
- fontSize: '14px',
14
- alignItems: 'center',
15
- color: 'var(--ab-color-text-on-defaultbackground)',
16
- background: 'var(--ab-color-defaultbackground)',
17
- };
18
- const isStyleValid = (element) => {
19
- const notAllowedProperties = [
20
- ['display', 'none'],
21
- ['opacity', '0'],
22
- ['position', 'absolute'],
23
- ['position', 'fixed'],
24
- ['position', 'relative'],
25
- ['visibility', 'hidden'],
26
- ];
27
- for (const [prop, value] of notAllowedProperties) {
28
- if (element.style[prop] === value) {
29
- return false;
30
- }
31
- }
32
- return true;
33
- };
34
- const LicenseWatermark = (props) => {
35
- const ref = React.useRef(null);
36
- React.useEffect(() => {
37
- const checkWatermark = () => {
38
- var _a, _b;
39
- if (!((_a = ref.current) === null || _a === void 0 ? void 0 : _a.isConnected)) {
40
- alert('It is not allowed to remove the Adaptable watermark.');
41
- }
42
- if (!isStyleValid(ref.current)) {
43
- alert('It is not allowed to modify the Adaptable watermark.');
44
- }
45
- if ((_b = ref === null || ref === void 0 ? void 0 : ref.current) === null || _b === void 0 ? void 0 : _b.style) {
46
- ref.current.style.border = style.border;
47
- ref.current.style.padding = style.padding;
48
- ref.current.style.fontWeight = `${style.fontWeight}`;
49
- ref.current.style.margin = style.margin;
50
- ref.current.style.fontSize = style.fontSize;
51
- ref.current.style.color = style.color;
52
- ref.current.style.background = style.background;
53
- ref.current.style.display = 'flex';
54
- ref.current.style.position = 'static';
55
- ref.current.style.opacity = '1';
56
- ref.current.style.visibility = 'visible';
57
- }
58
- };
59
- const timerId = setInterval(checkWatermark, 5000);
60
- return () => clearTimeout(timerId);
61
- }, []);
62
- return (React.createElement(rebass_1.Flex, { style: style, ref: ref },
63
- React.createElement(Logo_1.Logo, { style: { marginRight: 10 } }),
64
- React.createElement("div", null, props.children)));
65
- };
66
- exports.LicenseWatermark = LicenseWatermark;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.LicenseWatermark=void 0;const e=require("tslib"),t=e.__importStar(require("react")),r=require("../../components/Logo"),o=require("rebass"),n={border:"1px solid var(--ab-color-error)",padding:"5px",fontWeight:600,margin:"5px",fontSize:"14px",alignItems:"center",color:"var(--ab-color-text-on-defaultbackground)",background:"var(--ab-color-defaultbackground)"},i=e=>{const t=[["display","none"],["opacity","0"],["position","absolute"],["position","fixed"],["position","relative"],["visibility","hidden"]];for(const[r,o]of t)if(e.style[r]===o)return!1;return!0},l=e=>{const l=t.useRef(null);return t.useEffect((()=>{const e=setInterval((()=>{var e,t;(null===(e=l.current)||void 0===e?void 0:e.isConnected)||alert("It is not allowed to remove the Adaptable watermark."),i(l.current)||alert("It is not allowed to modify the Adaptable watermark."),(null===(t=null==l?void 0:l.current)||void 0===t?void 0:t.style)&&(l.current.style.border=n.border,l.current.style.padding=n.padding,l.current.style.fontWeight=`${n.fontWeight}`,l.current.style.margin=n.margin,l.current.style.fontSize=n.fontSize,l.current.style.color=n.color,l.current.style.background=n.background,l.current.style.display="flex",l.current.style.position="static",l.current.style.opacity="1",l.current.style.visibility="visible")}),5e3);return()=>clearTimeout(e)}),[]),t.createElement(o.Flex,{style:n,ref:l},t.createElement(r.Logo,{style:{marginRight:10}}),t.createElement("div",null,e.children))};exports.LicenseWatermark=l;
@@ -0,0 +1,2 @@
1
+ import * as React from 'react';
2
+ export declare const NotePopup: React.FunctionComponent;