@adaptabletools/adaptable 18.0.0-canary.2 → 18.0.0-canary.20

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 (366) hide show
  1. package/agGrid.d.ts +4 -21
  2. package/agGrid.js +9 -26
  3. package/base.css +22 -8
  4. package/base.css.map +1 -1
  5. package/index.css +101 -75
  6. package/index.css.map +1 -1
  7. package/package.json +4 -5
  8. package/src/AdaptableInterfaces/IAdaptable.d.ts +58 -108
  9. package/src/AdaptableOptions/AdaptableOptions.d.ts +13 -7
  10. package/src/AdaptableOptions/ColumnFilterOptions.d.ts +11 -4
  11. package/src/AdaptableOptions/ColumnOptions.d.ts +9 -4
  12. package/src/AdaptableOptions/CommentOptions.d.ts +33 -0
  13. package/src/AdaptableOptions/GroupingOptions.d.ts +0 -7
  14. package/src/AdaptableOptions/MenuOptions.d.ts +6 -54
  15. package/src/AdaptableOptions/MenuOptions.js +71 -74
  16. package/src/AdaptableOptions/{NotesOptions.d.ts → NoteOptions.d.ts} +7 -4
  17. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +17 -0
  18. package/src/Api/AdaptableApi.d.ts +9 -4
  19. package/src/Api/BulkUpdateApi.d.ts +0 -5
  20. package/src/Api/ColumnApi.d.ts +4 -0
  21. package/src/Api/CommentApi.d.ts +11 -12
  22. package/src/Api/ConfigApi.d.ts +4 -5
  23. package/src/Api/EventApi.d.ts +7 -9
  24. package/src/Api/Events/AdaptableReady.d.ts +3 -3
  25. package/src/Api/Events/CommentChanged.d.ts +11 -0
  26. package/src/Api/Events/GridDataChanged.d.ts +4 -4
  27. package/src/Api/GridApi.d.ts +23 -13
  28. package/src/Api/Implementation/ActionColumnApiImpl.d.ts +2 -0
  29. package/src/Api/Implementation/ActionColumnApiImpl.js +30 -0
  30. package/src/Api/Implementation/AdaptableApiImpl.d.ts +3 -2
  31. package/src/Api/Implementation/AdaptableApiImpl.js +5 -2
  32. package/src/Api/Implementation/ApiBase.d.ts +5 -3
  33. package/src/Api/Implementation/ApiBase.js +8 -2
  34. package/src/Api/Implementation/BulkUpdateApiImpl.d.ts +0 -1
  35. package/src/Api/Implementation/BulkUpdateApiImpl.js +0 -4
  36. package/src/Api/Implementation/CellSummaryApiImpl.d.ts +0 -5
  37. package/src/Api/Implementation/CellSummaryApiImpl.js +2 -23
  38. package/src/Api/Implementation/ColumnApiImpl.d.ts +1 -0
  39. package/src/Api/Implementation/ColumnApiImpl.js +10 -0
  40. package/src/Api/Implementation/CommentsApiImpl.d.ts +5 -2
  41. package/src/Api/Implementation/CommentsApiImpl.js +7 -1
  42. package/src/Api/Implementation/ConfigApiImpl.d.ts +2 -2
  43. package/src/Api/Implementation/ConfigApiImpl.js +21 -13
  44. package/src/Api/Implementation/GridApiImpl.d.ts +6 -3
  45. package/src/Api/Implementation/GridApiImpl.js +49 -14
  46. package/src/Api/Implementation/LayoutApiImpl.d.ts +3 -0
  47. package/src/Api/Implementation/LayoutApiImpl.js +18 -0
  48. package/src/Api/Implementation/NoteApiImpl.d.ts +18 -0
  49. package/src/Api/Implementation/NoteApiImpl.js +40 -0
  50. package/src/Api/Implementation/OptionsApiImpl.d.ts +4 -4
  51. package/src/Api/Implementation/OptionsApiImpl.js +4 -4
  52. package/src/Api/Implementation/ScopeApiImpl.d.ts +2 -0
  53. package/src/Api/Implementation/ScopeApiImpl.js +20 -7
  54. package/src/Api/Implementation/StatusBarApiImpl.d.ts +0 -1
  55. package/src/Api/Implementation/StatusBarApiImpl.js +0 -3
  56. package/src/Api/Implementation/ToolPanelApiImpl.js +6 -6
  57. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +0 -3
  58. package/src/Api/Implementation/UserInterfaceApiImpl.js +0 -8
  59. package/src/Api/Internal/ActionRowInternalApi.d.ts +5 -1
  60. package/src/Api/Internal/ActionRowInternalApi.js +106 -0
  61. package/src/Api/Internal/AdaptableInternalApi.d.ts +6 -7
  62. package/src/Api/Internal/AdaptableInternalApi.js +21 -19
  63. package/src/Api/Internal/CalculatedColumnInternalApi.d.ts +2 -0
  64. package/src/Api/Internal/CalculatedColumnInternalApi.js +71 -0
  65. package/src/Api/Internal/ColumnFilterInternalApi.d.ts +2 -0
  66. package/src/Api/Internal/ColumnFilterInternalApi.js +23 -1
  67. package/src/Api/Internal/ColumnInternalApi.d.ts +4 -1
  68. package/src/Api/Internal/ColumnInternalApi.js +12 -0
  69. package/src/Api/Internal/CommentsInternalApi.d.ts +4 -0
  70. package/src/Api/Internal/CommentsInternalApi.js +14 -0
  71. package/src/Api/Internal/CustomSortInternalApi.d.ts +3 -2
  72. package/src/Api/Internal/CustomSortInternalApi.js +32 -1
  73. package/src/Api/Internal/DataSetInternalApi.js +1 -1
  74. package/src/Api/Internal/ExportInternalApi.d.ts +2 -1
  75. package/src/Api/Internal/ExportInternalApi.js +4 -1
  76. package/src/Api/Internal/Fdc3InternalApi.js +2 -2
  77. package/src/Api/Internal/FormatColumnInternalApi.js +3 -2
  78. package/src/Api/Internal/FreeTextColumnInternalApi.d.ts +2 -0
  79. package/src/Api/Internal/FreeTextColumnInternalApi.js +60 -0
  80. package/src/Api/Internal/GridFilterInternalApi.d.ts +5 -0
  81. package/src/Api/Internal/GridFilterInternalApi.js +7 -1
  82. package/src/Api/Internal/GridInternalApi.d.ts +23 -3
  83. package/src/Api/Internal/GridInternalApi.js +141 -7
  84. package/src/Api/Internal/LayoutInternalApi.d.ts +1 -0
  85. package/src/Api/Internal/LayoutInternalApi.js +16 -0
  86. package/src/Api/Internal/NoteInternalApi.d.ts +4 -0
  87. package/src/Api/Internal/NoteInternalApi.js +14 -0
  88. package/src/Api/Internal/TeamSharingInternalApi.js +1 -1
  89. package/src/Api/InteropioPluginApi.d.ts +2 -2
  90. package/src/Api/LayoutApi.d.ts +15 -0
  91. package/src/Api/NoteApi.d.ts +48 -0
  92. package/src/Api/OptionsApi.d.ts +8 -8
  93. package/src/Api/ScopeApi.d.ts +10 -0
  94. package/src/Api/UserInterfaceApi.d.ts +0 -11
  95. package/src/EnvVars.d.ts +3 -0
  96. package/src/EnvVars.js +4 -0
  97. package/src/PredefinedConfig/AdaptableState.d.ts +2 -2
  98. package/src/PredefinedConfig/CommentState.d.ts +27 -23
  99. package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +4 -0
  100. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
  101. package/src/PredefinedConfig/Common/AdaptableScope.d.ts +4 -1
  102. package/src/PredefinedConfig/Common/AggregationColumns.d.ts +1 -0
  103. package/src/PredefinedConfig/Common/AggregationColumns.js +3 -0
  104. package/src/PredefinedConfig/Common/DataUpdateConfig.d.ts +4 -0
  105. package/src/PredefinedConfig/Common/Enums.d.ts +2 -1
  106. package/src/PredefinedConfig/Common/Enums.js +1 -0
  107. package/src/PredefinedConfig/Common/Menu.d.ts +15 -1
  108. package/src/PredefinedConfig/Common/Menu.js +97 -1
  109. package/src/PredefinedConfig/Common/RowSummary.d.ts +21 -0
  110. package/src/PredefinedConfig/Common/RowSummary.js +17 -0
  111. package/src/PredefinedConfig/Common/TransposeConfig.d.ts +25 -0
  112. package/src/PredefinedConfig/Common/Types.d.ts +4 -4
  113. package/src/PredefinedConfig/Common/Types.js +4 -1
  114. package/src/PredefinedConfig/LayoutState.d.ts +5 -0
  115. package/src/PredefinedConfig/{NotesState.d.ts → NoteState.d.ts} +12 -22
  116. package/src/PredefinedConfig/PredefinedConfig.d.ts +3 -3
  117. package/src/PredefinedConfig/Selection/GridCell.d.ts +13 -0
  118. package/src/PredefinedConfig/SystemState.d.ts +9 -3
  119. package/src/Redux/ActionsReducers/LayoutRedux.d.ts +9 -0
  120. package/src/Redux/ActionsReducers/LayoutRedux.js +32 -10
  121. package/src/Redux/ActionsReducers/NoteRedux.d.ts +38 -0
  122. package/src/Redux/ActionsReducers/{NotesRedux.js → NoteRedux.js} +29 -28
  123. package/src/Redux/ActionsReducers/SystemRedux.d.ts +6 -1
  124. package/src/Redux/ActionsReducers/SystemRedux.js +16 -4
  125. package/src/Redux/Store/AdaptableStore.d.ts +4 -6
  126. package/src/Redux/Store/AdaptableStore.js +67 -77
  127. package/src/Redux/Store/Interface/IAdaptableStore.d.ts +8 -2
  128. package/src/Strategy/AdaptableModuleBase.d.ts +8 -8
  129. package/src/Strategy/AdaptableModuleBase.js +13 -15
  130. package/src/Strategy/AlertModule.d.ts +1 -2
  131. package/src/Strategy/AlertModule.js +3 -56
  132. package/src/Strategy/BulkUpdateModule.js +1 -1
  133. package/src/Strategy/CalculatedColumnModule.d.ts +2 -3
  134. package/src/Strategy/CalculatedColumnModule.js +6 -26
  135. package/src/Strategy/CellSummaryModule.d.ts +8 -6
  136. package/src/Strategy/CellSummaryModule.js +78 -23
  137. package/src/Strategy/ChartingModule.d.ts +0 -1
  138. package/src/Strategy/ChartingModule.js +2 -22
  139. package/src/Strategy/ColumnFilterModule.d.ts +2 -3
  140. package/src/Strategy/ColumnFilterModule.js +44 -103
  141. package/src/Strategy/ColumnInfoModule.js +2 -0
  142. package/src/Strategy/{CommentsModule.d.ts → CommentModule.d.ts} +2 -5
  143. package/src/Strategy/{CommentsModule.js → CommentModule.js} +17 -23
  144. package/src/Strategy/CustomSortModule.js +3 -2
  145. package/src/Strategy/DashboardModule.d.ts +1 -2
  146. package/src/Strategy/DashboardModule.js +9 -15
  147. package/src/Strategy/DataChangeHistoryModule.d.ts +1 -0
  148. package/src/Strategy/DataChangeHistoryModule.js +3 -1
  149. package/src/Strategy/DataImportModule.d.ts +1 -1
  150. package/src/Strategy/DataImportModule.js +5 -5
  151. package/src/Strategy/DataSetModule.d.ts +1 -1
  152. package/src/Strategy/DataSetModule.js +1 -1
  153. package/src/Strategy/ExportModule.d.ts +1 -0
  154. package/src/Strategy/ExportModule.js +17 -2
  155. package/src/Strategy/Fdc3Module.js +3 -0
  156. package/src/Strategy/FlashingCellModule.d.ts +1 -2
  157. package/src/Strategy/FlashingCellModule.js +6 -19
  158. package/src/Strategy/FormatColumnModule.d.ts +0 -2
  159. package/src/Strategy/FormatColumnModule.js +6 -51
  160. package/src/Strategy/FreeTextColumnModule.d.ts +0 -1
  161. package/src/Strategy/FreeTextColumnModule.js +1 -31
  162. package/src/Strategy/GridFilterModule.d.ts +0 -1
  163. package/src/Strategy/GridFilterModule.js +0 -37
  164. package/src/Strategy/GridInfoModule.js +2 -0
  165. package/src/Strategy/Interface/IModule.d.ts +0 -1
  166. package/src/Strategy/LayoutModule.d.ts +9 -3
  167. package/src/Strategy/LayoutModule.js +143 -63
  168. package/src/Strategy/NamedQueryModule.d.ts +0 -1
  169. package/src/Strategy/NamedQueryModule.js +0 -19
  170. package/src/Strategy/{NotesModule.d.ts → NoteModule.d.ts} +2 -1
  171. package/src/Strategy/NoteModule.js +57 -0
  172. package/src/Strategy/PlusMinusModule.d.ts +1 -1
  173. package/src/Strategy/PlusMinusModule.js +2 -2
  174. package/src/Strategy/ScheduleModule.d.ts +1 -1
  175. package/src/Strategy/ScheduleModule.js +1 -1
  176. package/src/Strategy/SettingsPanelModule.js +3 -3
  177. package/src/Strategy/ShortcutModule.d.ts +1 -1
  178. package/src/Strategy/ShortcutModule.js +1 -1
  179. package/src/Strategy/SmartEditModule.js +1 -1
  180. package/src/Strategy/StyledColumnModule.d.ts +1 -1
  181. package/src/Strategy/StyledColumnModule.js +26 -26
  182. package/src/Strategy/SystemStatusModule.js +2 -2
  183. package/src/Strategy/TeamSharingModule.d.ts +1 -0
  184. package/src/Strategy/TeamSharingModule.js +5 -5
  185. package/src/Strategy/ToolPanelModule.d.ts +0 -1
  186. package/src/Strategy/ToolPanelModule.js +0 -23
  187. package/src/Strategy/Utilities/getScopeViewItems.js +3 -0
  188. package/src/Utilities/Constants/DocumentationLinkConstants.js +1 -1
  189. package/src/Utilities/Constants/GeneralConstants.d.ts +1 -0
  190. package/src/Utilities/Constants/GeneralConstants.js +1 -0
  191. package/src/Utilities/Constants/ModuleConstants.d.ts +6 -6
  192. package/src/Utilities/Constants/ModuleConstants.js +6 -6
  193. package/src/Utilities/Defaults/DefaultSettingsPanel.js +7 -6
  194. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +3 -2
  195. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +429 -1
  196. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +3 -3
  197. package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.js +1 -1
  198. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +1 -1
  199. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +15 -0
  200. package/src/Utilities/Extensions/ArrayExtensions.d.ts +2 -0
  201. package/src/Utilities/Extensions/ArrayExtensions.js +4 -0
  202. package/src/Utilities/Helpers/AdaptableHelper.d.ts +3 -4
  203. package/src/Utilities/Helpers/AdaptableHelper.js +18 -58
  204. package/src/Utilities/Helpers/Helper.d.ts +2 -0
  205. package/src/Utilities/Helpers/Helper.js +4 -0
  206. package/src/Utilities/MenuItem.d.ts +7 -4
  207. package/src/Utilities/MenuItem.js +6 -3
  208. package/src/Utilities/ObjectFactory.d.ts +3 -3
  209. package/src/Utilities/ObjectFactory.js +4 -24
  210. package/src/Utilities/Services/AggregatedScalarLiveValue.d.ts +4 -2
  211. package/src/Utilities/Services/AggregatedScalarLiveValue.js +26 -19
  212. package/src/Utilities/Services/CellPopupService.js +2 -3
  213. package/src/Utilities/Services/Interface/IQueryLanguageService.d.ts +1 -1
  214. package/src/Utilities/Services/Interface/IReportService.d.ts +1 -4
  215. package/src/Utilities/Services/LicenseService/index.d.ts +3 -0
  216. package/src/Utilities/Services/LicenseService/index.js +1 -181
  217. package/src/Utilities/Services/MetamodelService.d.ts +1 -1
  218. package/src/Utilities/Services/MetamodelService.js +6 -3
  219. package/src/Utilities/Services/ModuleService.js +4 -0
  220. package/src/Utilities/Services/QueryLanguageService.d.ts +1 -1
  221. package/src/Utilities/Services/QueryLanguageService.js +4 -3
  222. package/src/Utilities/Services/ReportService.d.ts +7 -5
  223. package/src/Utilities/Services/ReportService.js +238 -22
  224. package/src/Utilities/Services/RowEditService.d.ts +3 -2
  225. package/src/Utilities/Services/RowEditService.js +3 -1
  226. package/src/Utilities/adaptableQlUtils.d.ts +2 -0
  227. package/src/Utilities/adaptableQlUtils.js +14 -0
  228. package/src/Utilities/license/decode.js +1 -65
  229. package/src/Utilities/license/hashing.js +1 -43
  230. package/src/View/AdaptableView.js +1 -3
  231. package/src/View/AdaptableViewFactory.js +2 -2
  232. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +2 -2
  233. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +1 -1
  234. package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
  235. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +3 -3
  236. package/src/View/CalculatedColumn/utils.d.ts +1 -1
  237. package/src/View/CellSummary/CellSummaryPopup.js +1 -1
  238. package/src/View/Comments/CommentsEditor.js +24 -11
  239. package/src/View/Comments/CommentsPopup.js +20 -11
  240. package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
  241. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.d.ts +5 -0
  242. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.js +42 -0
  243. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +5 -2
  244. package/src/View/Components/CellPopup/index.d.ts +1 -0
  245. package/src/View/Components/CellPopup/index.js +5 -2
  246. package/src/View/Components/FilterForm/FilterForm.js +20 -12
  247. package/src/View/Components/FilterForm/QuickFilterForm.js +15 -8
  248. package/src/View/Components/NewScopeComponent.js +34 -1
  249. package/src/View/Components/Popups/AdaptableLoadingScreen.d.ts +6 -5
  250. package/src/View/Components/Popups/AdaptableLoadingScreen.js +19 -9
  251. package/src/View/Components/Popups/AdaptableToaster.js +1 -1
  252. package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +7 -7
  253. package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +1 -0
  254. package/src/View/Components/Popups/WindowPopups/windowFactory.js +3 -0
  255. package/src/View/Components/Selectors/PermittedValuesSelector.js +2 -2
  256. package/src/View/Components/ValueSelector/index.d.ts +1 -0
  257. package/src/View/Components/ValueSelector/index.js +2 -2
  258. package/src/View/CustomSort/CustomSortSummary.js +1 -1
  259. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +8 -9
  260. package/src/View/FreeTextColumn/FreeTextColumnSummary.js +1 -1
  261. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +3 -1
  262. package/src/View/GridFilter/GridFilterViewPanel.js +9 -5
  263. package/src/View/GridFilter/useGridFilterExpressionEditor.js +1 -1
  264. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +2 -3
  265. package/src/View/Layout/LayoutViewPanel.js +2 -1
  266. package/src/View/Layout/TransposedPopup.d.ts +3 -0
  267. package/src/View/Layout/TransposedPopup.js +195 -0
  268. package/src/View/Layout/Wizard/LayoutWizard.js +36 -3
  269. package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -1
  270. package/src/View/Layout/Wizard/sections/RowSummarySection.d.ts +9 -0
  271. package/src/View/Layout/Wizard/sections/RowSummarySection.js +174 -0
  272. package/src/View/License/LicenseWatermark.js +1 -61
  273. package/src/View/Note/NotePopup.d.ts +2 -0
  274. package/src/View/{Notes/NotesPopup.js → Note/NotePopup.js} +17 -17
  275. package/src/View/SpecialColumnSettingsWizardStep.js +4 -4
  276. package/src/View/Theme/ThemeSelector.js +3 -3
  277. package/src/agGrid/ActionColumnRenderer.js +7 -6
  278. package/src/agGrid/Adaptable.d.ts +3 -455
  279. package/src/agGrid/Adaptable.js +8 -5292
  280. package/src/agGrid/AdaptableAgGrid.d.ts +352 -0
  281. package/src/agGrid/AdaptableAgGrid.js +3963 -0
  282. package/src/agGrid/AdaptableLogger.js +77 -11
  283. package/src/agGrid/AgGridAdapter.d.ts +64 -0
  284. package/src/agGrid/AgGridAdapter.js +585 -0
  285. package/src/agGrid/AgGridColumnAdapter.d.ts +56 -0
  286. package/src/agGrid/AgGridColumnAdapter.js +831 -0
  287. package/src/agGrid/AgGridMenuAdapter.d.ts +28 -0
  288. package/src/agGrid/AgGridMenuAdapter.js +277 -0
  289. package/src/agGrid/AgGridOptionsService.d.ts +15 -0
  290. package/src/agGrid/AgGridOptionsService.js +76 -0
  291. package/src/agGrid/BadgeRenderer.js +1 -1
  292. package/src/agGrid/CheckboxRenderer.js +1 -1
  293. package/src/agGrid/FilterWrapper.d.ts +2 -2
  294. package/src/agGrid/FilterWrapper.js +1 -1
  295. package/src/agGrid/attachAddaptableColumnTypes.d.ts +12 -12
  296. package/src/agGrid/defaultAdaptableOptions.d.ts +3 -0
  297. package/src/{Utilities/Defaults/DefaultAdaptableOptions.js → agGrid/defaultAdaptableOptions.js} +71 -17
  298. package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +1 -1
  299. package/src/agGrid/editors/AdaptableDateEditor/index.js +3 -3
  300. package/src/agGrid/editors/AdaptableNumberEditor/index.d.ts +2 -2
  301. package/src/agGrid/editors/AdaptableNumberEditor/index.js +2 -2
  302. package/src/agGrid/weightedAverage.d.ts +0 -2
  303. package/src/agGrid/weightedAverage.js +0 -54
  304. package/src/components/ColorPicker/ColorPicker.d.ts +1 -1
  305. package/src/components/Datepicker/index.d.ts +1 -1
  306. package/src/components/Datepicker/index.js +10 -2
  307. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +2 -1
  308. package/src/components/ExpressionEditor/QueryBuilder/utils.d.ts +0 -1
  309. package/src/components/ExpressionEditor/QueryBuilder/utils.js +1 -14
  310. package/src/components/InfiniteTable/index.js +2 -2
  311. package/src/components/Input/index.d.ts +1 -2
  312. package/src/components/List/ListGroupItem/index.d.ts +1 -1
  313. package/src/components/Modal/index.d.ts +1 -0
  314. package/src/components/Modal/index.js +4 -3
  315. package/src/components/Select/Select.d.ts +3 -1
  316. package/src/components/Select/Select.js +4 -2
  317. package/src/components/Textarea/index.d.ts +2 -2
  318. package/src/components/icons/index.js +2 -0
  319. package/src/components/icons/note.js +2 -2
  320. package/src/components/icons/rows.d.ts +3 -0
  321. package/src/components/icons/rows.js +4 -0
  322. package/src/env.js +2 -2
  323. package/src/metamodel/adaptable.metamodel.d.ts +186 -32
  324. package/src/metamodel/adaptable.metamodel.js +1 -9313
  325. package/src/migration/AdaptableUpgradeHelper.d.ts +38 -0
  326. package/src/migration/AdaptableUpgradeHelper.js +48 -0
  327. package/src/migration/VersionUpgrade.d.ts +8 -0
  328. package/src/migration/VersionUpgrade.js +11 -0
  329. package/src/migration/VersionUpgrade17.d.ts +18 -0
  330. package/src/migration/VersionUpgrade17.js +342 -0
  331. package/src/migration/VersionUpgrade18.d.ts +5 -0
  332. package/src/migration/VersionUpgrade18.js +6 -0
  333. package/src/parser/src/parser.js +117 -1257
  334. package/src/parser/src/predicate/mapExpressionToQlPredicate.js +1 -1
  335. package/src/parser/src/predicate/mapQlPredicateToExpression.js +2 -1
  336. package/src/parser/src/types.d.ts +7 -2
  337. package/src/types.d.ts +26 -19
  338. package/tsconfig.esm.tsbuildinfo +1 -1
  339. package/src/AdaptableOptions/CommentsOptions.d.ts +0 -28
  340. package/src/Api/Events/CommentsChangedInfo.d.ts +0 -5
  341. package/src/Api/Implementation/NotesApiImpl.d.ts +0 -16
  342. package/src/Api/Implementation/NotesApiImpl.js +0 -39
  343. package/src/Api/NotesApi.d.ts +0 -48
  344. package/src/PredefinedConfig/CellAddress.d.ts +0 -13
  345. package/src/PredefinedConfig/CellAddress.js +0 -4
  346. package/src/Redux/ActionsReducers/NotesRedux.d.ts +0 -39
  347. package/src/Strategy/NotesModule.js +0 -57
  348. package/src/Utilities/Defaults/DefaultAdaptableOptions.d.ts +0 -2
  349. package/src/Utilities/Services/Interface/IRowEditService.d.ts +0 -3
  350. package/src/View/Components/ScopeComponent.d.ts +0 -24
  351. package/src/View/Components/ScopeComponent.js +0 -133
  352. package/src/View/Export/Wizard/ReportScopeWizard.d.ts +0 -17
  353. package/src/View/Export/Wizard/ReportScopeWizard.js +0 -47
  354. package/src/View/Notes/NotesPopup.d.ts +0 -2
  355. package/src/agGrid/agGridHelper.d.ts +0 -57
  356. package/src/agGrid/agGridHelper.js +0 -686
  357. package/src/agGrid/agGridMenuHelper.d.ts +0 -46
  358. package/src/agGrid/agGridMenuHelper.js +0 -668
  359. /package/src/AdaptableOptions/{CommentsOptions.js → CommentOptions.js} +0 -0
  360. /package/src/AdaptableOptions/{NotesOptions.js → NoteOptions.js} +0 -0
  361. /package/src/Api/Events/{CommentsChangedInfo.js → CommentChanged.js} +0 -0
  362. /package/src/Api/{NotesApi.js → NoteApi.js} +0 -0
  363. /package/src/PredefinedConfig/{NotesState.js → Common/TransposeConfig.js} +0 -0
  364. /package/src/{Utilities/Services/Interface/IRowEditService.js → PredefinedConfig/NoteState.js} +0 -0
  365. /package/src/View/{Notes → Note}/NoteEditor.d.ts +0 -0
  366. /package/src/View/{Notes → Note}/NoteEditor.js +0 -0
@@ -54,4 +54,4 @@ export interface AdaptableBaseIcon {
54
54
  /**
55
55
  * All AdapTable System Icon names
56
56
  */
57
- export type AdaptableSystemIconName = 'add' | 'alert' | 'building' | 'laptop' | 'arrow-down' | 'arrow-left' | 'arrow-right' | 'arrow-up' | 'arrow-up-long' | 'arrow-down-long' | 'arrow-expand' | 'paperclip' | 'unfilled-circle' | 'boolean-list' | 'broadcast' | 'brush' | 'spanner' | 'edit-table' | 'chart-and-grid' | 'calendar' | 'call' | 'cells' | 'fdc3' | 'flag' | 'chart' | 'chat' | 'check' | 'check-circle' | 'checked' | 'clone' | 'close' | 'cloud-upload' | 'collapse' | 'column-add' | 'columns' | 'filter-list' | 'comment' | 'comments' | 'contains' | 'dashboard' | 'data-set' | 'date-range' | 'delete' | 'division' | 'dock' | 'dollar' | 'drag' | 'edit' | 'ends-with' | 'equals' | 'equation' | 'error' | 'expand' | 'exponent' | 'export' | 'export-data' | 'fast-backward' | 'fast-forward' | 'filter' | 'lightning' | 'folder' | 'folder-open' | 'folder-shared' | 'color-palette' | 'horizontal-lines' | 'function' | 'greater-than' | 'greater-than-or-equal' | 'history' | 'home' | 'import-export' | 'info' | 'brain' | 'download' | 'grid' | 'interactions' | 'less-than' | 'less-than-or-equal' | 'list' | 'logout' | 'mail' | 'menu' | 'minus' | 'multiplication' | 'money' | 'newpage' | 'news' | 'filled-circle' | 'not-contains' | 'not-equal' | 'open-in-new' | 'order' | 'organisation' | 'pause' | 'percent' | 'percent-tag' | 'person' | 'contact' | 'pie-chart' | 'play' | 'plus' | 'add-circle' | 'search' | 'search-table' | 'quote' | 'refresh' | 'regex' | 'reminder' | 'save' | 'schedule' | 'science' | 'settings' | 'link' | 'sort-asc' | 'sort-desc' | 'spark-line' | 'resume' | 'starts-with' | 'assignment' | 'statusbar' | 'stop' | 'traffic-lights' | 'tab-unselected' | 'theme' | 'clipboard' | 'target' | 'triangle-down' | 'triangle-up' | 'unchecked' | 'undo' | 'downloaded' | 'upload' | 'warning' | 'gradient' | 'badge' | 'italic' | 'bold' | 'align-left' | 'align-right' | 'align-center' | 'align-justify' | 'underline' | 'strikethrough' | 'overline' | 'case-upper' | 'case-lower' | 'case-sentence' | 'visibility-on' | 'visibility-off' | 'visibility-off-bold' | 'visibility-on-bold' | 'note' | 'import' | 'grid-filter';
57
+ export type AdaptableSystemIconName = 'add' | 'alert' | 'building' | 'laptop' | 'arrow-down' | 'arrow-left' | 'arrow-right' | 'arrow-up' | 'arrow-up-long' | 'arrow-down-long' | 'arrow-expand' | 'paperclip' | 'unfilled-circle' | 'boolean-list' | 'broadcast' | 'brush' | 'spanner' | 'edit-table' | 'chart-and-grid' | 'calendar' | 'call' | 'cells' | 'fdc3' | 'flag' | 'chart' | 'chat' | 'check' | 'check-circle' | 'checked' | 'clone' | 'close' | 'cloud-upload' | 'collapse' | 'column-add' | 'columns' | 'filter-list' | 'comment' | 'comments' | 'contains' | 'dashboard' | 'data-set' | 'date-range' | 'delete' | 'division' | 'dock' | 'dollar' | 'drag' | 'edit' | 'ends-with' | 'equals' | 'equation' | 'error' | 'expand' | 'exponent' | 'export' | 'export-data' | 'fast-backward' | 'fast-forward' | 'filter' | 'lightning' | 'folder' | 'folder-open' | 'folder-shared' | 'color-palette' | 'horizontal-lines' | 'function' | 'greater-than' | 'greater-than-or-equal' | 'history' | 'home' | 'import-export' | 'info' | 'brain' | 'download' | 'grid' | 'interactions' | 'less-than' | 'less-than-or-equal' | 'list' | 'logout' | 'mail' | 'menu' | 'minus' | 'multiplication' | 'money' | 'newpage' | 'news' | 'filled-circle' | 'not-contains' | 'not-equal' | 'open-in-new' | 'order' | 'organisation' | 'pause' | 'percent' | 'percent-tag' | 'person' | 'contact' | 'pie-chart' | 'play' | 'plus' | 'add-circle' | 'search' | 'search-table' | 'quote' | 'refresh' | 'regex' | 'reminder' | 'save' | 'schedule' | 'science' | 'settings' | 'link' | 'sort-asc' | 'sort-desc' | 'spark-line' | 'resume' | 'starts-with' | 'assignment' | 'statusbar' | 'stop' | 'traffic-lights' | 'tab-unselected' | 'theme' | 'clipboard' | 'target' | 'triangle-down' | 'triangle-up' | 'unchecked' | 'undo' | 'downloaded' | 'upload' | 'warning' | 'gradient' | 'badge' | 'italic' | 'bold' | 'align-left' | 'align-right' | 'align-center' | 'align-justify' | 'underline' | 'strikethrough' | 'overline' | 'case-upper' | 'case-lower' | 'case-sentence' | 'visibility-on' | 'visibility-off' | 'visibility-off-bold' | 'visibility-on-bold' | 'note' | 'import' | 'grid-filter' | 'rows';
@@ -8,7 +8,10 @@ export type ScopeDataTypes<Type = ScopeDataType> = {
8
8
  export type ScopeColumnIds = {
9
9
  ColumnIds: string[];
10
10
  };
11
+ export type ScopeColumnTypes = {
12
+ ColumnTypes: string[];
13
+ };
11
14
  /**
12
15
  * Defines where a given Object / Module is active
13
16
  */
14
- export type AdaptableScope<Type = ScopeDataType> = ScopeAll | ScopeDataTypes<Type> | ScopeColumnIds;
17
+ export type AdaptableScope<Type = ScopeDataType> = ScopeAll | ScopeDataTypes<Type> | ScopeColumnIds | ScopeColumnTypes;
@@ -16,3 +16,4 @@ export interface WeightedAverageAggregation {
16
16
  * Defines which Columns in a Layout display Aggregated values when Row-Grouped
17
17
  */
18
18
  export type AggregationColumns = Record<string, string | true | WeightedAverageAggregation>;
19
+ export declare const isWeightedAverageAggregation: (aggFunc: AggregationColumns[keyof AggregationColumns]) => aggFunc is WeightedAverageAggregation;
@@ -1 +1,4 @@
1
1
  export const WEIGHTED_AVERAGE_AGG_FN_NAME = 'weightedAvg';
2
+ export const isWeightedAverageAggregation = (aggFunc) => {
3
+ return (aggFunc === null || aggFunc === void 0 ? void 0 : aggFunc.type) === 'weightedAverage';
4
+ };
@@ -6,6 +6,10 @@ export interface DataUpdateConfig {
6
6
  * Whether data should be updated asynchronously
7
7
  */
8
8
  runAsync?: boolean;
9
+ /**
10
+ * Whether to flush async updates
11
+ */
12
+ flushAsync?: boolean;
9
13
  /**
10
14
  * Callback function invoked when a batch successfully updates
11
15
  */
@@ -60,7 +60,8 @@ export declare enum SummaryOperation {
60
60
  Min = "Min",
61
61
  Count = "Count",
62
62
  Std_Deviation = "Std Deviation",
63
- Only = "Only"
63
+ Only = "Only",
64
+ Weighted_Average = "Weighted Avg"
64
65
  }
65
66
  export declare enum FilterOnDataChangeOptions {
66
67
  Always = "Always",
@@ -75,6 +75,7 @@ export var SummaryOperation;
75
75
  SummaryOperation["Count"] = "Count";
76
76
  SummaryOperation["Std_Deviation"] = "Std Deviation";
77
77
  SummaryOperation["Only"] = "Only";
78
+ SummaryOperation["Weighted_Average"] = "Weighted Avg";
78
79
  })(SummaryOperation || (SummaryOperation = {}));
79
80
  export var FilterOnDataChangeOptions;
80
81
  (function (FilterOnDataChangeOptions) {
@@ -5,12 +5,26 @@ import { SelectedCellInfo } from '../Selection/SelectedCellInfo';
5
5
  import { SelectedRowInfo } from '../Selection/SelectedRowInfo';
6
6
  import { Column, IRowNode } from '@ag-grid-community/core';
7
7
  import { AdaptableIcon, BaseContext } from '../../types';
8
+ export type AdaptableColumnMenuItemName = (typeof ADAPTABLE_COLUMN_MENU_ITEMS)[number];
9
+ export type AdaptableContextMenuItemName = (typeof ADAPTABLE_CONTEXT_MENU_ITEMS)[number];
10
+ /**
11
+ * List of Shipped Adaptable Column Menu Items
12
+ */
13
+ export declare const ADAPTABLE_COLUMN_MENU_ITEMS: readonly ["calculated-column-edit", "cell-summary-show", "column-filter-bar-hide", "column-filter-bar-show", "column-filter-clear", "column-filter-on-cell-value", "column-filter-suspend", "column-filter-unsuspend", "column-info-show", "custom-sort-add", "custom-sort-edit", "dashboard-collapse", "dashboard-configure", "dashboard-dock", "dashboard-expand", "dashboard-float", "dashboard-hide", "dashboard-show", "data-import", "flashing-cell-add", "flashing-cell-delete", "format-column-add", "format-column-edit", "free-text-column-edit", "grid-info-show", "layout-column-caption-change", "layout-column-hide", "layout-column-select", "layout-column-select-preserve", "layout-column-select-reset", "layout-edit", "layout-grid-parent", "layout-select-parent", "layout-select-all", "plus-minus-add", "settings-panel-open", "styled-column-badge-add", "styled-column-badge-edit", "styled-column-gradient-add", "styled-column-gradient-edit", "styled-column-percent-bar-add", "styled-column-percent-bar-edit", "styled-column-sparkline-add", "styled-column-sparkline-edit", "system-status-show", "internal", "parent"];
14
+ /**
15
+ * List of Shipped Adaptable Context Menu Items
16
+ */
17
+ export declare const ADAPTABLE_CONTEXT_MENU_ITEMS: readonly ["alert-clear", "bulk-update-apply", "calculated-column-edit", "cell-summary-show", "column-filter-on-cell-value", "column-filter-clear", "column-filter-suspend", "column-filter-unsuspend", "column-info-show", "comment-add", "comment-remove", "dashboard-collapse", "dashboard-configure", "dashboard-dock", "dashboard-expand", "dashboard-float", "dashboard-hide", "dashboard-show", "data-import", "export-clipboard", "export-csv", "export-excel", "export-json", "export-table", "export-custom-destination", "fdc3-broadcast", "fdc3-raise-intent", "flashing-cell-clear", "flashing-row-clear", "grid-info-show", "layout-aggregated-view", "layout-auto-size", "layout-clear-selection", "layout-edit", "layout-select-all", "note-add", "note-remove", "settings-panel-open", "smart-edit-apply", "system-status-show"];
8
18
  /**
9
19
  * Menu item used by Adaptable in both Column and Context Menus
10
20
  */
11
21
  export interface AdaptableMenuItem {
12
22
  /**
13
- * Name that appears in the menu
23
+ * Unique name for the Menu Item
24
+ */
25
+ name: AdaptableColumnMenuItemName | AdaptableContextMenuItemName;
26
+ /**
27
+ * Text that appears in the menu
14
28
  */
15
29
  label: string;
16
30
  /**
@@ -1 +1,97 @@
1
- export {};
1
+ /**
2
+ * List of Shipped Adaptable Column Menu Items
3
+ */
4
+ export const ADAPTABLE_COLUMN_MENU_ITEMS = [
5
+ 'calculated-column-edit',
6
+ 'cell-summary-show',
7
+ 'column-filter-bar-hide',
8
+ 'column-filter-bar-show',
9
+ 'column-filter-clear',
10
+ 'column-filter-on-cell-value',
11
+ 'column-filter-suspend',
12
+ 'column-filter-unsuspend',
13
+ 'column-info-show',
14
+ 'custom-sort-add',
15
+ 'custom-sort-edit',
16
+ 'dashboard-collapse',
17
+ 'dashboard-configure',
18
+ 'dashboard-dock',
19
+ 'dashboard-expand',
20
+ 'dashboard-float',
21
+ 'dashboard-hide',
22
+ 'dashboard-show',
23
+ 'data-import',
24
+ 'flashing-cell-add',
25
+ 'flashing-cell-delete',
26
+ 'format-column-add',
27
+ 'format-column-edit',
28
+ 'free-text-column-edit',
29
+ 'grid-info-show',
30
+ 'layout-column-caption-change',
31
+ 'layout-column-hide',
32
+ 'layout-column-select',
33
+ 'layout-column-select-preserve',
34
+ 'layout-column-select-reset',
35
+ 'layout-edit',
36
+ 'layout-grid-parent',
37
+ 'layout-select-parent',
38
+ 'layout-select-all',
39
+ 'plus-minus-add',
40
+ 'settings-panel-open',
41
+ 'styled-column-badge-add',
42
+ 'styled-column-badge-edit',
43
+ 'styled-column-gradient-add',
44
+ 'styled-column-gradient-edit',
45
+ 'styled-column-percent-bar-add',
46
+ 'styled-column-percent-bar-edit',
47
+ 'styled-column-sparkline-add',
48
+ 'styled-column-sparkline-edit',
49
+ 'system-status-show',
50
+ 'internal',
51
+ 'parent',
52
+ ];
53
+ /**
54
+ * List of Shipped Adaptable Context Menu Items
55
+ */
56
+ export const ADAPTABLE_CONTEXT_MENU_ITEMS = [
57
+ 'alert-clear',
58
+ 'bulk-update-apply',
59
+ 'calculated-column-edit',
60
+ 'cell-summary-show',
61
+ 'column-filter-on-cell-value',
62
+ 'column-filter-clear',
63
+ 'column-filter-suspend',
64
+ 'column-filter-unsuspend',
65
+ 'column-info-show',
66
+ 'comment-add',
67
+ 'comment-remove',
68
+ 'dashboard-collapse',
69
+ 'dashboard-configure',
70
+ 'dashboard-dock',
71
+ 'dashboard-expand',
72
+ 'dashboard-float',
73
+ 'dashboard-hide',
74
+ 'dashboard-show',
75
+ 'data-import',
76
+ 'export-clipboard',
77
+ 'export-csv',
78
+ 'export-excel',
79
+ 'export-json',
80
+ 'export-table',
81
+ 'export-custom-destination',
82
+ 'fdc3-broadcast',
83
+ 'fdc3-raise-intent',
84
+ 'flashing-cell-clear',
85
+ 'flashing-row-clear',
86
+ 'grid-info-show',
87
+ 'layout-aggregated-view',
88
+ 'layout-auto-size',
89
+ 'layout-clear-selection',
90
+ 'layout-edit',
91
+ 'layout-select-all',
92
+ 'note-add',
93
+ 'note-remove',
94
+ 'settings-panel-open',
95
+ 'smart-edit-apply',
96
+ 'system-status-show',
97
+ ];
@@ -0,0 +1,21 @@
1
+ export declare const ROW_SUMMARY_ROW_ID = "__ROW_SUMMARY_ROW_ID";
2
+ export declare const WEIGHTED_AVERAGE_AGGREATED_FUNCTION = "WEIGHTED_AVERAGE";
3
+ export declare const summarySupportedExpressions: readonly ["SUM", "AVG", "MIN", "MAX", "COUNT", "MEDIAN", "MODE", "DISTINCT", "ONLY", "STD_DEVIATION", "OLDEST", "YOUNGEST", "WEIGHTED_AVERAGE"];
4
+ export type SummarySupportedExpression = (typeof summarySupportedExpressions)[number];
5
+ /**
6
+ * Position of Row Summary - 'Top' or 'Bottom'
7
+ */
8
+ export type RowSummaryPosition = 'Top' | 'Bottom';
9
+ /**
10
+ * Defines a Row Summary used in a Layout
11
+ */
12
+ export interface RowSummary {
13
+ /**
14
+ * Where Row Summary appears - 'Top' or 'Bottom'
15
+ */
16
+ Position?: RowSummaryPosition;
17
+ /**
18
+ * Map of Columns with Summary Expressions
19
+ */
20
+ ColumnsMap: Record<string, SummarySupportedExpression>;
21
+ }
@@ -0,0 +1,17 @@
1
+ export const ROW_SUMMARY_ROW_ID = '__ROW_SUMMARY_ROW_ID';
2
+ export const WEIGHTED_AVERAGE_AGGREATED_FUNCTION = 'WEIGHTED_AVERAGE';
3
+ export const summarySupportedExpressions = [
4
+ 'SUM',
5
+ 'AVG',
6
+ 'MIN',
7
+ 'MAX',
8
+ 'COUNT',
9
+ 'MEDIAN',
10
+ 'MODE',
11
+ 'DISTINCT',
12
+ 'ONLY',
13
+ 'STD_DEVIATION',
14
+ 'OLDEST',
15
+ 'YOUNGEST',
16
+ WEIGHTED_AVERAGE_AGGREATED_FUNCTION,
17
+ ];
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Config used when transposing a Grid
3
+ */
4
+ export interface TransposeConfig {
5
+ /**
6
+ * Column to use to do transposition
7
+ * @defaultValue Primary Key Column
8
+ */
9
+ transposedColumnId?: string;
10
+ /**
11
+ * Hide the Transposed Column
12
+ * @defaultValue true
13
+ */
14
+ hideTransposedColumn?: boolean;
15
+ /**
16
+ * Only show curerntly visible Columns
17
+ * @defaultValue false
18
+ */
19
+ visibleColumns?: boolean;
20
+ /**
21
+ * Only show curerntly visible Rows
22
+ * @defaultValue false
23
+ */
24
+ visibleRows?: boolean;
25
+ }
@@ -11,7 +11,7 @@ export declare const ALL_TOOLBARS: AdaptableDashboardToolbar[];
11
11
  /**
12
12
  * Modules which can appear in the AdapTable Status Bar
13
13
  */
14
- export type AdaptableStatusBarPanel = 'Alert' | 'CalculatedColumn' | 'BulkUpdate' | 'CellSummary' | 'Charting' | 'CustomSort' | 'Dashboard' | 'DataChangeHistory' | 'DataImport' | 'DataSet' | 'Export' | 'ColumnFilter' | 'GridFilter' | 'FlashingCell' | 'FormatColumn' | 'FreeTextColumn' | 'GridInfo' | 'Layout' | 'PlusMinus' | 'QuickSearch' | 'Schedule' | 'SettingsPanel' | 'SmartEdit' | 'Shortcut' | 'StateManagement' | 'StatusBar' | 'SystemStatus' | 'TeamSharing' | 'Theme' | 'ToolPanel';
14
+ export type AdaptableStatusBarPanel = 'Alert' | 'CalculatedColumn' | 'BulkUpdate' | 'CellSummary' | 'Charting' | 'Comment' | 'CustomSort' | 'Dashboard' | 'DataChangeHistory' | 'DataImport' | 'DataSet' | 'Export' | 'ColumnFilter' | 'GridFilter' | 'FlashingCell' | 'FormatColumn' | 'FreeTextColumn' | 'GridInfo' | 'Layout' | 'Note' | 'PlusMinus' | 'QuickSearch' | 'Schedule' | 'SettingsPanel' | 'SmartEdit' | 'Shortcut' | 'StateManagement' | 'StatusBar' | 'SystemStatus' | 'TeamSharing' | 'Theme' | 'ToolPanel';
15
15
  export declare const ALL_STATUS_SUB_PANELS: AdaptableStatusBarPanel[];
16
16
  export type AdaptableToolPanels = AdaptableToolPanel[];
17
17
  /**
@@ -28,18 +28,18 @@ export type AdaptableModuleButtons = AdaptableModuleButton[];
28
28
  /**
29
29
  * List of all the Module buttons Adaptable provides - each Module has a popup for which this is a shortcut button
30
30
  */
31
- export type AdaptableModuleButton = 'Alert' | 'BulkUpdate' | 'CalculatedColumn' | 'CellSummary' | 'CustomSort' | 'Dashboard' | 'DataChangeHistory' | 'DataImport' | 'DataSet' | 'Export' | 'ColumnFilter' | 'GridFilter' | 'NamedQuery' | 'FlashingCell' | 'FormatColumn' | 'FreeTextColumn' | 'GridInfo' | 'Layout' | 'OpenFin' | 'PlusMinus' | 'QuickSearch' | 'Schedule' | 'SettingsPanel' | 'Shortcut' | 'SmartEdit' | 'StyledColumn' | 'StateManagement' | 'StatusBar' | 'SystemStatus' | 'TeamSharing' | 'Theme';
31
+ export type AdaptableModuleButton = 'Alert' | 'BulkUpdate' | 'CalculatedColumn' | 'CellSummary' | 'Comment' | 'CustomSort' | 'Dashboard' | 'DataChangeHistory' | 'DataImport' | 'DataSet' | 'Export' | 'ColumnFilter' | 'GridFilter' | 'NamedQuery' | 'FlashingCell' | 'FormatColumn' | 'FreeTextColumn' | 'GridInfo' | 'Layout' | 'Note' | 'OpenFin' | 'PlusMinus' | 'QuickSearch' | 'Schedule' | 'SettingsPanel' | 'Shortcut' | 'SmartEdit' | 'StyledColumn' | 'StateManagement' | 'StatusBar' | 'SystemStatus' | 'TeamSharing' | 'Theme';
32
32
  export type AdaptableStateKeys = AdaptableStateKey[];
33
33
  export type AdaptableStateKey = keyof AdaptablePersistentState | 'OpenFin' | 'IPushPull';
34
34
  /**
35
35
  * Modules provided by AdapTable, subject to Entitlements and usually have Predefined Config
36
36
  */
37
- export type AdaptableModule = 'Alert' | 'BulkUpdate' | 'CalculatedColumn' | 'CellSummary' | 'Charting' | 'CustomSort' | 'Dashboard' | 'DataChangeHistory' | 'DataSet' | 'Export' | 'Fdc3' | 'ColumnFilter' | 'FlashingCell' | 'FormatColumn' | 'FreeTextColumn' | 'GridInfo' | 'ColumnInfo' | 'IPushPull' | 'Layout' | 'OpenFin' | 'PlusMinus' | 'QuickSearch' | 'Schedule' | 'SettingsPanel' | 'Shortcut' | 'SmartEdit' | 'StyledColumn' | 'StateManagement' | 'StatusBar' | 'SystemStatus' | 'TeamSharing' | 'Theme' | 'ToolPanel' | 'Notes' | 'DataImport' | 'GridFilter' | 'NamedQuery' | 'Comments';
37
+ export type AdaptableModule = 'Alert' | 'BulkUpdate' | 'CalculatedColumn' | 'CellSummary' | 'Charting' | 'Comment' | 'CustomSort' | 'Dashboard' | 'DataChangeHistory' | 'DataSet' | 'Export' | 'Fdc3' | 'ColumnFilter' | 'FlashingCell' | 'FormatColumn' | 'FreeTextColumn' | 'GridInfo' | 'ColumnInfo' | 'IPushPull' | 'Layout' | 'OpenFin' | 'PlusMinus' | 'QuickSearch' | 'Schedule' | 'SettingsPanel' | 'Shortcut' | 'SmartEdit' | 'StyledColumn' | 'StateManagement' | 'StatusBar' | 'SystemStatus' | 'TeamSharing' | 'Theme' | 'ToolPanel' | 'Note' | 'DataImport' | 'GridFilter' | 'NamedQuery';
38
38
  export declare const ALL_MODULES: AdaptableModule[];
39
39
  /**
40
40
  * Modules which can appear in the Settings Panel
41
41
  */
42
- export type AdaptableSettingsPanel = 'Alert' | 'CalculatedColumn' | 'Charting' | 'CustomSort' | 'Dashboard' | 'DataChangeHistory' | 'DataSet' | 'Export' | 'ColumnFilter' | 'FlashingCell' | 'FormatColumn' | 'FreeTextColumn' | 'GridInfo' | 'ColumnInfo' | 'Layout' | 'PlusMinus' | 'QuickSearch' | 'Schedule' | 'Shortcut' | 'StateManagement' | 'StatusBar' | 'StyledColumn' | 'SystemStatus' | 'TeamSharing' | 'Theme' | 'ToolPanel' | 'Notes' | 'DataImport' | 'GridFilter' | 'NamedQuery' | 'Comments';
42
+ export type AdaptableSettingsPanel = 'Alert' | 'CalculatedColumn' | 'Charting' | 'CustomSort' | 'Dashboard' | 'DataChangeHistory' | 'DataSet' | 'Export' | 'ColumnFilter' | 'FlashingCell' | 'FormatColumn' | 'FreeTextColumn' | 'GridInfo' | 'ColumnInfo' | 'Layout' | 'PlusMinus' | 'QuickSearch' | 'Schedule' | 'Shortcut' | 'StateManagement' | 'StatusBar' | 'StyledColumn' | 'SystemStatus' | 'TeamSharing' | 'Theme' | 'ToolPanel' | 'Note' | 'DataImport' | 'GridFilter' | 'NamedQuery' | 'Comment';
43
43
  export type TypeHint<Base, Literals> = (Base & {
44
44
  __subType?: true;
45
45
  }) | Literals;
@@ -26,6 +26,7 @@ export const ALL_STATUS_SUB_PANELS = [
26
26
  'BulkUpdate',
27
27
  'CalculatedColumn',
28
28
  'CellSummary',
29
+ 'Comment',
29
30
  'CustomSort',
30
31
  'Charting',
31
32
  'Dashboard',
@@ -40,6 +41,7 @@ export const ALL_STATUS_SUB_PANELS = [
40
41
  'FreeTextColumn',
41
42
  'GridInfo',
42
43
  'Layout',
44
+ 'Note',
43
45
  'PlusMinus',
44
46
  'QuickSearch',
45
47
  'Schedule',
@@ -77,7 +79,8 @@ export const ALL_MODULES = [
77
79
  ModuleConstants.BulkUpdateModuleId,
78
80
  ModuleConstants.CalculatedColumnModuleId,
79
81
  ModuleConstants.CellSummaryModuleId,
80
- ModuleConstants.NotesModuleId,
82
+ ModuleConstants.NoteModuleId,
83
+ ModuleConstants.CommentModuleId,
81
84
  ModuleConstants.ChartingModuleId,
82
85
  ModuleConstants.CustomSortModuleId,
83
86
  ModuleConstants.DashboardModuleId,
@@ -3,6 +3,7 @@ import { AdaptableObject } from './Common/AdaptableObject';
3
3
  import { ColumnSort } from './Common/ColumnSort';
4
4
  import { ColumnFilter, GridFilter } from '../types';
5
5
  import { AggregationColumns } from './Common/AggregationColumns';
6
+ import { RowSummary } from './Common/RowSummary';
6
7
  /**
7
8
  * Predefined Configuration for the Layout Module
8
9
  */
@@ -82,4 +83,8 @@ export interface Layout extends AdaptableObject {
82
83
  * Whether to include the aggFunc name in the column header: e.g. 'sum(Bank Balance)' will just be 'Bank Balance'
83
84
  */
84
85
  SuppressAggFuncInHeader?: boolean;
86
+ /**
87
+ * Row Summaries - Pinned Rows that display Aggregation Info for a whole column
88
+ */
89
+ RowSummaries?: RowSummary[];
85
90
  }
@@ -1,5 +1,14 @@
1
1
  import { AdaptableObject } from '../types';
2
2
  import { ConfigState } from './ConfigState';
3
+ /**
4
+ * Predefined Configuration for Note Module
5
+ */
6
+ export interface NoteState extends ConfigState {
7
+ /**
8
+ * Collection of AdapTable Notes
9
+ */
10
+ Notes?: AdaptableNotes;
11
+ }
3
12
  /**
4
13
  * Note that can be applied to a Cell in AdapTable
5
14
  */
@@ -7,17 +16,11 @@ export interface AdaptableNote extends AdaptableObject {
7
16
  /**
8
17
  * When Note was made
9
18
  */
10
- Timestamp: number;
11
- /**
12
- * Value of the Note
13
- */
14
- Value: string;
19
+ Timestamp?: number;
15
20
  /**
16
- * Author of the Note
21
+ * Content of the Note
17
22
  */
18
- Author: {
19
- UserName: string;
20
- };
23
+ Text: string;
21
24
  /**
22
25
  * Value in Grid's Primary Key Column
23
26
  */
@@ -26,21 +29,8 @@ export interface AdaptableNote extends AdaptableObject {
26
29
  * Id of Column containing the Note
27
30
  */
28
31
  ColumnId: string;
29
- /**
30
- * Id of this AdapTable instance
31
- */
32
- AdaptableId: string;
33
32
  }
34
33
  /**
35
34
  * Collection of Cell Notes
36
35
  */
37
36
  export type AdaptableNotes = AdaptableNote[];
38
- /**
39
- * Predefined Configuration for Notes Module
40
- */
41
- export interface NotesState extends ConfigState {
42
- /**
43
- * Collection of AdapTable Notes
44
- */
45
- Notes?: AdaptableNotes;
46
- }
@@ -17,7 +17,7 @@ import { ToolPanelState } from './ToolPanelState';
17
17
  import { StatusBarState } from './StatusBarState';
18
18
  import { ChartingState } from './ChartingState';
19
19
  import { StyledColumnState } from './StyledColumnState';
20
- import { NotesState } from './NotesState';
20
+ import { NoteState } from './NoteState';
21
21
  import { NamedQueryState } from '../types';
22
22
  /**
23
23
  * This is the main Predefined Config interface which developers will populate at design-time
@@ -44,9 +44,9 @@ export interface PredefinedConfig {
44
44
  */
45
45
  CustomSort?: CustomSortState;
46
46
  /**
47
- * Collection of notes that can be edited on cell level
47
+ * Collection of personal Notes that are edited at Cell level
48
48
  */
49
- Notes?: NotesState;
49
+ Note?: NoteState;
50
50
  /**
51
51
  * Large series of properties to give users full control over the look and feel of the *Dashboard* - the section above the grid with toolbars and buttons
52
52
  */
@@ -1,5 +1,18 @@
1
1
  import { IRowNode } from '@ag-grid-community/core';
2
2
  import { AdaptableColumn } from '../Common/AdaptableColumn';
3
+ /**
4
+ * Very lightweight object to define an AdapTable Cell
5
+ */
6
+ export type CellAddress = {
7
+ /**
8
+ * Value in Primary Key Column
9
+ */
10
+ PrimaryKeyValue: string | number;
11
+ /**
12
+ * Id of Column containing the Note
13
+ */
14
+ ColumnId: string;
15
+ };
3
16
  /**
4
17
  * Defines a Cell in Adaptable - every cell is an intersection of a Column Id and a Primary Key Value
5
18
  */
@@ -1,7 +1,7 @@
1
1
  import { PreviewInfo } from '../Utilities/Interface/Preview';
2
2
  import { InternalState } from './InternalState';
3
3
  import { BulkUpdateValidationResult } from '../Strategy/Interface/IBulkUpdateModule';
4
- import { CellDataChangedInfo, GridCell, SmartEditOperation } from '../types';
4
+ import { CellAddress, CellDataChangedInfo, GridCell, SmartEditOperation } from '../types';
5
5
  import type { IPushPullState, IPushPullReport, IPushPullDomain } from './IPushPullState';
6
6
  import { OpenFinState, OpenFinReport } from './OpenFinState';
7
7
  import { AdaptableAlert } from './Common/AdaptableAlert';
@@ -12,7 +12,6 @@ import { AdaptableFlashingCell } from './Common/AdaptableFlashingCell';
12
12
  import { TypeUuid } from './Uuid';
13
13
  import { SummaryOperation } from './Common/Enums';
14
14
  import { ChartModel } from '@ag-grid-community/core';
15
- import { CellAddress } from './CellAddress';
16
15
  import { ExternalChartDefinition } from './ChartingState';
17
16
  import { CachedQuery } from './NamedQueryState';
18
17
  export type { IPushPullReport, IPushPullDomain };
@@ -20,6 +19,10 @@ export type { OpenFinReport };
20
19
  type ROW_PRIMARY_KEY = string;
21
20
  type COLUMN_ID_OR_WHOLE_ROW_LABEL = string;
22
21
  export type DataChangeHistoryMode = 'ACTIVE' | 'INACTIVE' | 'SUSPENDED';
22
+ export type SystemRowSummary = {
23
+ Position: 'Top' | 'Bottom';
24
+ RowData: Record<string, any>;
25
+ };
23
26
  /**
24
27
  * Internal state, used by Adaptable during a session; none of it is provided through Predefined Config, nor is it persisted
25
28
  */
@@ -93,7 +96,7 @@ export interface SystemState extends InternalState, IPushPullState, OpenFinState
93
96
  */
94
97
  DisableDeleteConfirmation: boolean;
95
98
  Export: {
96
- inProgressVisualData: boolean;
99
+ visualDataExportInProgress: boolean;
97
100
  };
98
101
  QuickSearch?: {
99
102
  floatingVisible?: boolean;
@@ -103,6 +106,9 @@ export interface SystemState extends InternalState, IPushPullState, OpenFinState
103
106
  focusedEntity?: 'Note' | 'Comment';
104
107
  popupPosition?: CellAddress | null;
105
108
  };
109
+ RowSummary?: {
110
+ rowSummaries?: SystemRowSummary[];
111
+ };
106
112
  }
107
113
  export interface ProgressIndicator {
108
114
  active: boolean;
@@ -30,6 +30,10 @@ export declare const LAYOUT_SELECT = "LAYOUT_SELECT";
30
30
  * @ReduxAction A Layout has been (auto)saved
31
31
  */
32
32
  export declare const LAYOUT_SAVE = "LAYOUT_SAVE";
33
+ /**
34
+ * @ReduxAction A Column has been added
35
+ */
36
+ export declare const LAYOUT_ADD_COLUMN = "LAYOUT_ADD_COLUMN";
33
37
  /**
34
38
  * @ReduxAction A Column has been removed
35
39
  */
@@ -145,6 +149,10 @@ export interface LayoutSetColumnCaptionAction extends Redux.Action {
145
149
  columnId: string;
146
150
  caption: string;
147
151
  }
152
+ export interface LayoutAddColumnAction extends Redux.Action {
153
+ layoutName: string;
154
+ columnId: string;
155
+ }
148
156
  export interface LayoutRemoveColumnAction extends Redux.Action {
149
157
  layoutName: string;
150
158
  columnId: string;
@@ -163,6 +171,7 @@ export declare const LayoutAdd: (layout: Layout) => LayoutAddAction;
163
171
  export declare const LayoutDelete: (layout: Layout) => LayoutDeleteAction;
164
172
  export declare const LayoutSave: (layout: Layout) => LayoutSaveAction;
165
173
  export declare const LayoutSetColumnCaption: (layoutName: string, columnId: string, caption: string) => LayoutSetColumnCaptionAction;
174
+ export declare const LayoutAddColumn: (layoutName: string, columnId: string) => LayoutAddColumnAction;
166
175
  export declare const LayoutRemoveColumn: (layoutName: string, columnId: string) => LayoutRemoveColumnAction;
167
176
  export declare const LayoutSelect: (layoutName: string) => LayoutSelectAction;
168
177
  export declare const LayoutReady: (layoutState: LayoutState) => LayoutReadyAction;
@@ -28,6 +28,10 @@ export const LAYOUT_SELECT = 'LAYOUT_SELECT';
28
28
  * @ReduxAction A Layout has been (auto)saved
29
29
  */
30
30
  export const LAYOUT_SAVE = 'LAYOUT_SAVE';
31
+ /**
32
+ * @ReduxAction A Column has been added
33
+ */
34
+ export const LAYOUT_ADD_COLUMN = 'LAYOUT_ADD_COLUMN';
31
35
  /**
32
36
  * @ReduxAction A Column has been removed
33
37
  */
@@ -149,6 +153,11 @@ export const LayoutSetColumnCaption = (layoutName, columnId, caption) => ({
149
153
  columnId,
150
154
  caption,
151
155
  });
156
+ export const LayoutAddColumn = (layoutName, columnId) => ({
157
+ type: LAYOUT_ADD_COLUMN,
158
+ layoutName,
159
+ columnId,
160
+ });
152
161
  export const LayoutRemoveColumn = (layoutName, columnId) => ({
153
162
  type: LAYOUT_REMOVE_COLUMN,
154
163
  layoutName,
@@ -218,6 +227,17 @@ export const LayoutReducer = (state = initialState, action) => {
218
227
  }
219
228
  return state;
220
229
  }
230
+ case LAYOUT_ADD_COLUMN: {
231
+ const addColumnAction = action;
232
+ const layoutname = addColumnAction.layoutName;
233
+ const colToAdd = addColumnAction.columnId;
234
+ let layoutToUpdate = state.Layouts.find((l) => l.Name === layoutname);
235
+ if (layoutToUpdate) {
236
+ layoutToUpdate.Columns.push(colToAdd);
237
+ return Object.assign(Object.assign({}, state), { Layouts: state.Layouts.map((abObject) => abObject.Uuid === layoutToUpdate.Uuid ? layoutToUpdate : abObject) });
238
+ }
239
+ return state;
240
+ }
221
241
  case LAYOUT_REMOVE_COLUMN: {
222
242
  const removeColumnAction = action;
223
243
  const layoutname = removeColumnAction.layoutName;
@@ -249,8 +269,10 @@ export const LayoutReducer = (state = initialState, action) => {
249
269
  return Object.assign(Object.assign({}, state), { Layouts });
250
270
  }
251
271
  case LAYOUT_COLUMN_FILTER_ADD: {
252
- let columnFilters = [...((_b = currentLayout.ColumnFilters) !== null && _b !== void 0 ? _b : [])];
253
272
  const columnFilterAction = action.columnFilter;
273
+ let columnFilters = ((_b = currentLayout.ColumnFilters) !== null && _b !== void 0 ? _b : []).filter(
274
+ // make sure we are not adding a filter that already exists
275
+ (cf) => cf.ColumnId !== columnFilterAction.ColumnId);
254
276
  AdaptableHelper.addUuidAndSource(columnFilterAction);
255
277
  columnFilters.push(columnFilterAction);
256
278
  const Layouts = state.Layouts.map((layout) => {
@@ -263,10 +285,13 @@ export const LayoutReducer = (state = initialState, action) => {
263
285
  }
264
286
  case LAYOUT_COLUMN_FILTER_EDIT: {
265
287
  const columnFilterAction = action.columnFilter;
266
- let columnFilters = ((_c = currentLayout.ColumnFilters) !== null && _c !== void 0 ? _c : []).map((abObject) => abObject.Uuid === columnFilterAction.Uuid ? columnFilterAction : abObject);
288
+ // it is safer to change the col id, we cannot have multiple filter on the same id
289
+ // first we filter out other filters with the same colId, to ensure we have only one
290
+ const cleanColumnFilters = ((_c = currentLayout.ColumnFilters) !== null && _c !== void 0 ? _c : []).filter((cf) => cf.ColumnId !== columnFilterAction.ColumnId);
291
+ cleanColumnFilters.push(columnFilterAction);
267
292
  const Layouts = state.Layouts.map((layout) => {
268
293
  if (layout.Name === currentLayout.Name) {
269
- return Object.assign(Object.assign({}, layout), { ColumnFilters: columnFilters });
294
+ return Object.assign(Object.assign({}, layout), { ColumnFilters: cleanColumnFilters });
270
295
  }
271
296
  return layout;
272
297
  });
@@ -282,14 +307,11 @@ export const LayoutReducer = (state = initialState, action) => {
282
307
  return Object.assign(Object.assign({}, state), { Layouts });
283
308
  }
284
309
  case LAYOUT_COLUMN_FILTER_CLEAR: {
285
- let columnFilters = [...((_d = currentLayout.ColumnFilters) !== null && _d !== void 0 ? _d : [])];
286
310
  const actionTypedDelete = action;
287
- const index = actionTypedDelete.columnFilter
288
- ? columnFilters.findIndex((i) => i.Uuid == actionTypedDelete.columnFilter.Uuid)
289
- : -1;
290
- if (index != -1) {
291
- columnFilters.splice(index, 1);
292
- }
311
+ const columnFilters = ((_d = currentLayout.ColumnFilters) !== null && _d !== void 0 ? _d : []).filter((cf) => {
312
+ // make sure we are deleting all filters on the same column
313
+ return cf.ColumnId !== actionTypedDelete.columnFilter.ColumnId;
314
+ });
293
315
  const Layouts = state.Layouts.map((layout) => {
294
316
  if (layout.Name === currentLayout.Name) {
295
317
  return Object.assign(Object.assign({}, layout), { ColumnFilters: columnFilters });