@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
@@ -0,0 +1,38 @@
1
+ import * as Redux from 'redux';
2
+ import { AdaptableNote, NoteState } from '../../PredefinedConfig/NoteState';
3
+ import { CellAddress } from '../../types';
4
+ /**
5
+ * @ReduxAction A Note has been added
6
+ */
7
+ export declare const NOTE_ADD = "NOTE_ADD";
8
+ /**
9
+ * @ReduxAction A Note has been edited
10
+ */
11
+ export declare const NOTE_EDIT = "NOTE_EDIT";
12
+ /**
13
+ * @ReduxAction A Note has been deleted
14
+ */
15
+ export declare const NOTE_DELETE = "NOTE_DELETE";
16
+ /**
17
+ * @ReduxAction Note Module is ready
18
+ */
19
+ export declare const NOTE_READY = "NOTE_READY";
20
+ export interface AdaptableNoteAction extends Redux.Action {
21
+ adaptableNote: AdaptableNote;
22
+ }
23
+ export interface AdaptableNoteAddAction extends AdaptableNoteAction {
24
+ }
25
+ export interface AdaptableNoteEditAction extends AdaptableNoteAction {
26
+ }
27
+ export interface AdaptableNoteDeleteAction extends AdaptableNoteAction {
28
+ }
29
+ export interface NoteReadyAction extends Redux.Action {
30
+ noteState: NoteState;
31
+ }
32
+ export declare const NoteAdd: (note: AdaptableNote) => AdaptableNoteAddAction;
33
+ export declare const NoteEdit: (note: AdaptableNote) => AdaptableNoteEditAction;
34
+ export declare const NoteDelete: (note: AdaptableNote) => AdaptableNoteDeleteAction;
35
+ export declare const NoteReady: (note: NoteState) => NoteReadyAction;
36
+ export declare const GetAllNotesSelector: (state: NoteState) => AdaptableNote[];
37
+ export declare const GetNotesSelector: (state: NoteState, address: CellAddress) => AdaptableNote[];
38
+ export declare const NoteReducer: Redux.Reducer<NoteState>;
@@ -1,52 +1,53 @@
1
1
  import AdaptableHelper from '../../Utilities/Helpers/AdaptableHelper';
2
2
  import { EMPTY_ARRAY } from '../../Utilities/Constants/GeneralConstants';
3
3
  /**
4
- * @ReduxAction A Notes has been added
4
+ * @ReduxAction A Note has been added
5
5
  */
6
- export const NOTES_ADD = 'NOTES_ADD';
6
+ export const NOTE_ADD = 'NOTE_ADD';
7
7
  /**
8
- * @ReduxAction A Notes has been edited
8
+ * @ReduxAction A Note has been edited
9
9
  */
10
- export const NOTES_EDIT = 'NOTES_EDIT';
10
+ export const NOTE_EDIT = 'NOTE_EDIT';
11
11
  /**
12
- * @ReduxAction A Notes has been deleted
12
+ * @ReduxAction A Note has been deleted
13
13
  */
14
- export const NOTES_DELETE = 'NOTES_DELETE';
14
+ export const NOTE_DELETE = 'NOTE_DELETE';
15
15
  /**
16
- * @ReduxAction Notes Module is ready
16
+ * @ReduxAction Note Module is ready
17
17
  */
18
- export const NOTES_READY = 'NOTES_READY';
19
- export const NotesAdd = (note) => ({
20
- type: NOTES_ADD,
18
+ export const NOTE_READY = 'NOTE_READY';
19
+ export const NoteAdd = (note) => ({
20
+ type: NOTE_ADD,
21
21
  adaptableNote: note,
22
22
  });
23
- export const NotesEdit = (note) => ({
24
- type: NOTES_EDIT,
23
+ export const NoteEdit = (note) => ({
24
+ type: NOTE_EDIT,
25
25
  adaptableNote: note,
26
26
  });
27
- export const NotesDelete = (note) => ({
28
- type: NOTES_DELETE,
27
+ export const NoteDelete = (note) => ({
28
+ type: NOTE_DELETE,
29
29
  adaptableNote: note,
30
30
  });
31
- export const NotesReady = (note) => ({
32
- type: NOTES_READY,
33
- notesState: note,
31
+ export const NoteReady = (note) => ({
32
+ type: NOTE_READY,
33
+ noteState: note,
34
34
  });
35
- export const GetNotesSelector = (state, config) => {
35
+ export const GetAllNotesSelector = (state) => state.Notes;
36
+ export const GetNotesSelector = (state, address) => {
36
37
  var _a;
37
- if (!config) {
38
+ if (!address) {
38
39
  return [];
39
40
  }
40
41
  return ((_a = state === null || state === void 0 ? void 0 : state.Notes) !== null && _a !== void 0 ? _a : []).filter((note) => {
41
- if (note.PrimaryKeyValue === config.PrimaryKeyValue && note.ColumnId === config.ColumnId) {
42
+ if (note.PrimaryKeyValue === address.PrimaryKeyValue && note.ColumnId === address.ColumnId) {
42
43
  // happy check
43
44
  return true;
44
45
  }
45
46
  // Primary keys retreived from the grid dom are always strings, so we must also consider them strings
46
- if ((typeof config.PrimaryKeyValue === 'number' && typeof note.PrimaryKeyValue === 'string') ||
47
- (typeof config.PrimaryKeyValue === 'string' && typeof note.PrimaryKeyValue === 'number')) {
48
- return (note.PrimaryKeyValue.toString() === config.PrimaryKeyValue.toString() &&
49
- note.ColumnId === config.ColumnId);
47
+ if ((typeof address.PrimaryKeyValue === 'number' && typeof note.PrimaryKeyValue === 'string') ||
48
+ (typeof address.PrimaryKeyValue === 'string' && typeof note.PrimaryKeyValue === 'number')) {
49
+ return (note.PrimaryKeyValue.toString() === address.PrimaryKeyValue.toString() &&
50
+ note.ColumnId === address.ColumnId);
50
51
  }
51
52
  return false;
52
53
  });
@@ -54,20 +55,20 @@ export const GetNotesSelector = (state, config) => {
54
55
  const initialState = {
55
56
  Notes: EMPTY_ARRAY,
56
57
  };
57
- export const NotesReducer = (state = initialState, action) => {
58
+ export const NoteReducer = (state = initialState, action) => {
58
59
  let adaptableNotes;
59
60
  switch (action.type) {
60
- case NOTES_ADD: {
61
+ case NOTE_ADD: {
61
62
  const note = action.adaptableNote;
62
63
  AdaptableHelper.addUuidAndSource(note);
63
64
  adaptableNotes = [...state.Notes, note];
64
65
  return Object.assign(Object.assign({}, state), { Notes: adaptableNotes });
65
66
  }
66
- case NOTES_EDIT: {
67
+ case NOTE_EDIT: {
67
68
  const note = action.adaptableNote;
68
69
  return Object.assign(Object.assign({}, state), { Notes: state.Notes.map((abObject) => (abObject.Uuid === note.Uuid ? note : abObject)) });
69
70
  }
70
- case NOTES_DELETE: {
71
+ case NOTE_DELETE: {
71
72
  const note = action.adaptableNote;
72
73
  return Object.assign(Object.assign({}, state), { Notes: state.Notes.filter((abObject) => abObject.Uuid !== note.Uuid) });
73
74
  }
@@ -77,6 +77,7 @@ export declare const SYSTEM_VISUAL_EXPORT_END = "SYSTEM_VISUAL_EXPORT_END";
77
77
  export declare const SYSTEM_CELL_POPUP_SHOW = "SYSTEM_CELL_POPUP_SHOW";
78
78
  export declare const SYSTEM_CELL_POPUP_HIDE = "SYSTEM_CELL_POPUP_HIDE";
79
79
  export declare const SYSTEM_CELL_POPUP_EDIT_FOCUSED_ENTITY = "SYSTEM_CELL_POPUP_EDIT_FOCUSED_ENTITY";
80
+ export declare const SYSTEM_SUMMARY_ROW_SET = "SYSTEM_SUMMARY_ROW_SET";
80
81
  export declare const DATA_IMPORT_COMPLETED = "DATA_IMPORT_COMPLETED";
81
82
  export interface DataImportCompletedAction extends Redux.Action {
82
83
  dataImportedInfo: DataImportedInfo;
@@ -328,12 +329,16 @@ export declare const SystemVisualExportEnd: () => SystemVisualExportEndAction;
328
329
  export declare const SystemQuickSearchFloatingVisibility: (visible: boolean) => SystemQuickSearchFloatingVisibilityAction;
329
330
  export declare const SystemCellPopupShow: (cellPosition: CellAddress, editMode?: boolean) => SystemCellPopupShowAction;
330
331
  export declare const SystemCellPopupEditFocusedEntity: (focusedEntity: 'Note' | 'Comment') => SystemCellPopupEditFocusedEntityAction;
332
+ export declare const SystemRowSummarySet: (systemRowSummaries: SystemState['RowSummary']['rowSummaries']) => {
333
+ readonly type: "SYSTEM_SUMMARY_ROW_SET";
334
+ readonly rowSummaries: import("../../PredefinedConfig/SystemState").SystemRowSummary[];
335
+ };
331
336
  export declare const SystemCellPopupHide: () => SystemCellPopupHideAction;
332
337
  export declare const SystemDisableDeleteConfirmationSelector: (state: SystemState) => boolean;
333
338
  export declare const SystemPreviousGroupedColumnsSelector: (state: SystemState) => Record<string, Record<string, number>>;
334
339
  export declare const SystemQuickSearchFloatingVisibilitySelector: (state: SystemState) => boolean;
335
340
  export declare const SystemCommentsAndNotesSelector: (state: SystemState) => CellAddress;
336
341
  export declare const SystemCommentsAndNotesEditModeSelector: (state: SystemState) => boolean;
337
- export declare const SystemCommentsAndNotesFocusedEntitySelector: (state: SystemState) => "Note" | "Comment";
342
+ export declare const SystemCommentsAndNotesFocusedEntitySelector: (state: SystemState) => "Comment" | "Note";
338
343
  export declare const DataImportCompleted: (dataImportedInfo: DataImportedInfo) => DataImportCompletedAction;
339
344
  export declare const SystemReducer: Redux.Reducer<SystemState>;
@@ -87,10 +87,12 @@ export const SYSTEM_SET_QUICK_SEARCH_FLOATING_VISIBILITY = 'SYSTEM_SET_QUICK_SEA
87
87
  // Data Export (Report)
88
88
  export const SYSTEM_VISUAL_EXPORT_BEGIN = 'SYSTEM_VISUAL_EXPORT_BEGIN';
89
89
  export const SYSTEM_VISUAL_EXPORT_END = 'SYSTEM_VISUAL_EXPORT_END';
90
- // Notes
90
+ // Notes and Comments
91
91
  export const SYSTEM_CELL_POPUP_SHOW = 'SYSTEM_CELL_POPUP_SHOW';
92
92
  export const SYSTEM_CELL_POPUP_HIDE = 'SYSTEM_CELL_POPUP_HIDE';
93
93
  export const SYSTEM_CELL_POPUP_EDIT_FOCUSED_ENTITY = 'SYSTEM_CELL_POPUP_EDIT_FOCUSED_ENTITY';
94
+ // Row Summaries
95
+ export const SYSTEM_SUMMARY_ROW_SET = 'SYSTEM_SUMMARY_ROW_SET';
94
96
  // Data Import
95
97
  export const DATA_IMPORT_COMPLETED = 'DATA_IMPORT_COMPLETED';
96
98
  export const SystemHighlightCellAdd = (cellHighlightInfo) => ({
@@ -316,6 +318,10 @@ export const SystemCellPopupEditFocusedEntity = (focusedEntity) => ({
316
318
  type: SYSTEM_CELL_POPUP_EDIT_FOCUSED_ENTITY,
317
319
  focusedEntity,
318
320
  });
321
+ export const SystemRowSummarySet = (systemRowSummaries) => ({
322
+ type: SYSTEM_SUMMARY_ROW_SET,
323
+ rowSummaries: systemRowSummaries,
324
+ });
319
325
  export const SystemCellPopupHide = () => ({
320
326
  type: SYSTEM_CELL_POPUP_HIDE,
321
327
  });
@@ -389,7 +395,7 @@ const initialState = {
389
395
  },
390
396
  DisableDeleteConfirmation: false,
391
397
  Export: {
392
- inProgressVisualData: false,
398
+ visualDataExportInProgress: false,
393
399
  },
394
400
  };
395
401
  export const SystemReducer = (state = initialState, action) => {
@@ -722,12 +728,12 @@ export const SystemReducer = (state = initialState, action) => {
722
728
  }
723
729
  case SYSTEM_VISUAL_EXPORT_BEGIN: {
724
730
  return Object.assign(Object.assign({}, state), { Export: {
725
- inProgressVisualData: true,
731
+ visualDataExportInProgress: true,
726
732
  } });
727
733
  }
728
734
  case SYSTEM_VISUAL_EXPORT_END: {
729
735
  return Object.assign(Object.assign({}, state), { Export: {
730
- inProgressVisualData: false,
736
+ visualDataExportInProgress: false,
731
737
  } });
732
738
  }
733
739
  case SYSTEM_SET_QUICK_SEARCH_FLOATING_VISIBILITY: {
@@ -758,6 +764,12 @@ export const SystemReducer = (state = initialState, action) => {
758
764
  popupPosition: null,
759
765
  } });
760
766
  }
767
+ case SYSTEM_SUMMARY_ROW_SET: {
768
+ const typedAction = action;
769
+ return Object.assign(Object.assign({}, state), { RowSummary: {
770
+ rowSummaries: typedAction.rowSummaries,
771
+ } });
772
+ }
761
773
  default:
762
774
  return state;
763
775
  }
@@ -2,8 +2,7 @@ import * as Redux from 'redux';
2
2
  import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
3
3
  import { AdaptableState } from '../../PredefinedConfig/AdaptableState';
4
4
  import { ConfigState } from '../../PredefinedConfig/ConfigState';
5
- import { PredefinedConfig } from '../../PredefinedConfig/PredefinedConfig';
6
- import { IAdaptableStore } from './Interface/IAdaptableStore';
5
+ import { IAdaptableStore, LoadStoreConfig } from './Interface/IAdaptableStore';
7
6
  type EmitterCallback = (data?: any) => any;
8
7
  type EmitterAnyCallback = (eventName: string, data?: any) => any;
9
8
  export declare const INIT_STATE = "INIT_STATE";
@@ -22,7 +21,6 @@ export declare const LoadState: (State: {
22
21
  [s: string]: ConfigState;
23
22
  }) => LoadStateAction;
24
23
  export declare class AdaptableStore implements IAdaptableStore {
25
- private isAgGridReady;
26
24
  TheStore: Redux.Store<AdaptableState>;
27
25
  Load: Promise<any>;
28
26
  private emitter;
@@ -36,12 +34,12 @@ export declare class AdaptableStore implements IAdaptableStore {
36
34
  /**
37
35
  *
38
36
  * @param adaptable The Adaptable instance
39
- * @param isAgGridReady A promise which is resolved when AG Grid is ready for binding
37
+ * @param postLoadHook A function that hydrates the state after it has been loaded from storage
40
38
  */
41
- constructor(adaptable: IAdaptable, isAgGridReady: Promise<any>);
39
+ constructor(adaptable: IAdaptable);
42
40
  destroy(): void;
43
41
  getCurrentStorageState(): AdaptableState;
44
42
  saveStateNow(adaptable: IAdaptable): Promise<any>;
45
- loadStore: (adaptable: IAdaptable, adaptableStateKey: string, predefinedConfig?: PredefinedConfig) => Promise<any>;
43
+ loadStore: (config: LoadStoreConfig) => Promise<any>;
46
44
  }
47
45
  export {};
@@ -29,7 +29,7 @@ import * as FreeTextColumnRedux from '../ActionsReducers/FreeTextColumnRedux';
29
29
  import * as GridRedux from '../ActionsReducers/GridRedux';
30
30
  import * as LayoutRedux from '../ActionsReducers/LayoutRedux';
31
31
  import * as NamedQueryRedux from '../ActionsReducers/NamedQueryRedux';
32
- import * as NotesRedux from '../ActionsReducers/NotesRedux';
32
+ import * as NoteRedux from '../ActionsReducers/NoteRedux';
33
33
  import * as PlusMinusRedux from '../ActionsReducers/PlusMinusRedux';
34
34
  import * as QueryRedux from '../ActionsReducers/QueryRedux';
35
35
  import * as QuickSearchRedux from '../ActionsReducers/QuickSearchRedux';
@@ -39,7 +39,7 @@ import * as SmartEditRedux from '../ActionsReducers/SmartEditRedux';
39
39
  import * as StatusBarRedux from '../ActionsReducers/StatusBarRedux';
40
40
  import * as StyledColumnRedux from '../ActionsReducers/StyledColumnRedux';
41
41
  import * as SystemRedux from '../ActionsReducers/SystemRedux';
42
- import { SYSTEM_PROGRESS_INDICATOR_HIDE, SYSTEM_PROGRESS_INDICATOR_SHOW, SYSTEM_VISUAL_EXPORT_BEGIN, SYSTEM_VISUAL_EXPORT_END, } from '../ActionsReducers/SystemRedux';
42
+ import { SYSTEM_PROGRESS_INDICATOR_HIDE, SYSTEM_PROGRESS_INDICATOR_SHOW, } from '../ActionsReducers/SystemRedux';
43
43
  import * as TeamSharingRedux from '../ActionsReducers/TeamSharingRedux';
44
44
  import * as ThemeRedux from '../ActionsReducers/ThemeRedux';
45
45
  import * as ToolPanelRedux from '../ActionsReducers/ToolPanelRedux';
@@ -47,9 +47,9 @@ import { isAdaptableSharedEntity, isCustomSharedEntity, } from '../../Predefined
47
47
  export const INIT_STATE = 'INIT_STATE';
48
48
  export const LOAD_STATE = 'LOAD_STATE';
49
49
  const NON_PERSIST_ACTIONS = {
50
- [LOAD_STATE]: true,
51
50
  '@@INIT': true,
52
51
  '@@redux/init': true,
52
+ [LOAD_STATE]: true,
53
53
  [INIT_STATE]: true,
54
54
  // progress indicators should NOT interfere with state management as it may lead to race conditions due to load/persist state being async
55
55
  [SYSTEM_PROGRESS_INDICATOR_SHOW]: true,
@@ -66,13 +66,12 @@ export class AdaptableStore {
66
66
  /**
67
67
  *
68
68
  * @param adaptable The Adaptable instance
69
- * @param isAgGridReady A promise which is resolved when AG Grid is ready for binding
69
+ * @param postLoadHook A function that hydrates the state after it has been loaded from storage
70
70
  */
71
- constructor(adaptable, isAgGridReady) {
71
+ constructor(adaptable) {
72
72
  /*
73
73
  This is the main store for Adaptable State
74
74
  */
75
- this.isAgGridReady = isAgGridReady;
76
75
  this.loadStorageInProgress = false;
77
76
  this.loadStateOnStartup = true; // set to false if you want no state
78
77
  this.on = (eventName, callback) => {
@@ -84,7 +83,9 @@ export class AdaptableStore {
84
83
  this.emit = (eventName, data) => {
85
84
  return this.emitter.emit(eventName, data);
86
85
  };
87
- this.loadStore = (adaptable, adaptableStateKey, predefinedConfig) => {
86
+ this.loadStore = (config) => {
87
+ const { adaptable, adaptableStateKey, predefinedConfig, postLoadHook } = config;
88
+ const postProcessState = postLoadHook !== null && postLoadHook !== void 0 ? postLoadHook : ((state) => state);
88
89
  this.storageEngine.setStateKey(adaptableStateKey);
89
90
  // START STATE LOAD
90
91
  this.loadStorageInProgress = true;
@@ -92,17 +93,15 @@ export class AdaptableStore {
92
93
  .load(predefinedConfig)
93
94
  .then((storedState) => {
94
95
  if (storedState && this.loadStateOnStartup) {
95
- this.TheStore.dispatch(LoadState(adaptable.adaptableOptions.stateOptions.applyState(storedState)));
96
+ this.TheStore.dispatch(LoadState(postProcessState(adaptable.adaptableOptions.stateOptions.applyState(storedState))));
96
97
  }
97
98
  })
98
- // we need AG Grid to be ready because several states(ex. Layout) depend on its API
99
- .then(() => this.isAgGridReady)
100
99
  .then(() => {
101
100
  this.TheStore.dispatch(InitState());
102
101
  // END STATE LOAD
103
102
  this.loadStorageInProgress = false;
104
103
  }, (e) => {
105
- adaptable.logger.error('Failed to load previous Adaptable State : ', e);
104
+ adaptable.logger.consoleError('Failed to load previous Adaptable State : ', e);
106
105
  //for now i'm still initializing Adaptable even if loading state has failed....
107
106
  //we may revisit that later
108
107
  this.TheStore.dispatch(InitState());
@@ -122,6 +121,7 @@ export class AdaptableStore {
122
121
  Popup: PopupRedux.PopupReducer,
123
122
  System: SystemRedux.SystemReducer,
124
123
  Plugins: PluginsRedux.PluginsReducer,
124
+ Comment: CommentsRedux.CommentsReducer,
125
125
  // Reducers for Persisted State
126
126
  Alert: AlertRedux.AlertReducer,
127
127
  FlashingCell: FlashingCellRedux.FlashingCellReducer,
@@ -143,8 +143,7 @@ export class AdaptableStore {
143
143
  ToolPanel: ToolPanelRedux.ToolPanelReducer,
144
144
  Charting: ChartingRedux.ChartingReducer,
145
145
  StyledColumn: StyledColumnRedux.StyledColumnReducer,
146
- Notes: NotesRedux.NotesReducer,
147
- Comment: CommentsRedux.CommentsReducer,
146
+ Note: NoteRedux.NoteReducer,
148
147
  Query: QueryRedux.QueryReducer,
149
148
  NamedQuery: NamedQueryRedux.NamedQueryReducer,
150
149
  };
@@ -160,17 +159,6 @@ export class AdaptableStore {
160
159
  case LOAD_STATE:
161
160
  const { State } = action;
162
161
  Object.keys(State).forEach((key) => {
163
- // this check should be removed in version 12 !!!
164
- if (key === 'Chart') {
165
- adaptable.logger.consoleWarn(`DEPRECATED: AdapTable Charts Plugin is deprecated! AG Grid built-in charts are fully supported & integrated in AdapTable.
166
-
167
- Please contact 'support@adaptabletools.com' if you require any charting features that are not currently available.`);
168
- }
169
- if (key === 'SparklineColumn') {
170
- adaptable.logger.consoleWarn(`DEPRECATED: AdapTable SparklineColumn is deprecated! AG Grid built-in Sparklines are fully supported & integrated in AdapTable.
171
-
172
- Please contact 'support@adaptabletools.com' if you require any sparklines features that are not currently available.`);
173
- }
174
162
  state[key] = State[key];
175
163
  });
176
164
  break;
@@ -251,7 +239,6 @@ export class AdaptableStore {
251
239
  ...pluginsMiddleware // the plugins middleware
252
240
  )));
253
241
  this.storageEngine = storageEngine;
254
- this.loadStore(adaptable, adaptable.adaptableOptions.adaptableStateKey);
255
242
  }
256
243
  destroy() {
257
244
  var _a;
@@ -275,7 +262,7 @@ export class AdaptableStore {
275
262
  const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
276
263
  return function (next) {
277
264
  return function (action) {
278
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
265
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
279
266
  switch (action.type) {
280
267
  /*******************
281
268
  * NAMED QUERY ACTIONS
@@ -323,6 +310,14 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
323
310
  const ret = next(action);
324
311
  return ret;
325
312
  }
313
+ /*******************
314
+ * System Row Summary ACTIONS
315
+ *******************/
316
+ case SystemRedux.SYSTEM_SUMMARY_ROW_SET: {
317
+ let nextAction = next(action);
318
+ adaptable.api.layoutApi.internalApi.setupRowSummaries();
319
+ return nextAction;
320
+ }
326
321
  /*******************
327
322
  * FLASHING CELL ACTIONS
328
323
  *******************/
@@ -338,7 +333,7 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
338
333
  }
339
334
  case SystemRedux.SYSTEM_FLASHING_CELL_DELETE_ALL: {
340
335
  let ret = next(action);
341
- adaptable.redrawRenderedRows();
336
+ adaptable.redrawBody();
342
337
  return ret;
343
338
  }
344
339
  /*******************
@@ -394,7 +389,7 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
394
389
  });
395
390
  }
396
391
  // called also for rendered column actions, see RENDERED COLUMN ACTIONS block
397
- adaptable.setupColumns();
392
+ adaptable.updateColumnModelAndRefreshGrid();
398
393
  return returnAction;
399
394
  }
400
395
  /*******************
@@ -409,7 +404,7 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
409
404
  case FlashingCellRedux.FLASHING_CELL_DEFINITION_SUSPEND_ALL: {
410
405
  const returnAction = next(action);
411
406
  // called also for rendered column actions, see RENDERED COLUMN ACTIONS block
412
- adaptable.setupColumns();
407
+ adaptable.updateColumnModelAndRefreshGrid();
413
408
  return returnAction;
414
409
  }
415
410
  /**
@@ -574,11 +569,6 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
574
569
  /*******************
575
570
  * SPECIAL COLUMN ACTIONS
576
571
  *******************/
577
- case CalculatedColumnRedux.CALCULATED_COLUMN_READY: {
578
- // create aggregated scalar columns at grid startup
579
- adaptable.api.calculatedColumnApi.refreshAggregatedCalculatedColumns();
580
- return;
581
- }
582
572
  /**
583
573
  * Use Case: We have added / edited / deleted a Special Column (i.e. one not in initial ColumnDefs)
584
574
  * Action: We update the Special ColumnDefs
@@ -596,7 +586,7 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
596
586
  .createAggregatedScalarLiveValue(returnAction.calculatedColumn);
597
587
  adaptable.api.calculatedColumnApi.internalApi.fireCalculatedColumnChangedEvent(action.type, actionTyped.calculatedColumn);
598
588
  }
599
- adaptable.updateColDefsForSpecialColumns();
589
+ adaptable.updateColumnModelAndRefreshGrid();
600
590
  return returnAction;
601
591
  }
602
592
  /**
@@ -621,7 +611,7 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
621
611
  .getCalculatedColumnExpressionService()
622
612
  .destroyAggregatedScalarLiveValue(returnAction.calculatedColumn);
623
613
  adaptable.api.calculatedColumnApi.internalApi.fireCalculatedColumnChangedEvent(action.type, actionTyped.calculatedColumn);
624
- adaptable.updateColDefsForSpecialColumns();
614
+ adaptable.updateColumnModelAndRefreshGrid();
625
615
  return returnAction;
626
616
  }
627
617
  /**
@@ -642,7 +632,7 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
642
632
  return;
643
633
  }
644
634
  const returnAction = next(action);
645
- adaptable.updateColDefsForSpecialColumns();
635
+ adaptable.updateColumnModelAndRefreshGrid();
646
636
  return returnAction;
647
637
  }
648
638
  /*******************
@@ -679,7 +669,7 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
679
669
  case CustomSortRedux.CUSTOM_SORT_UNSUSPEND_ALL: {
680
670
  const returnAction = next(action);
681
671
  // called also for alert actions, see ALERT ACTIONS block
682
- adaptable.setupColumns();
672
+ adaptable.updateColumnModelAndRefreshGrid();
683
673
  return returnAction;
684
674
  }
685
675
  /*******************
@@ -778,7 +768,6 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
778
768
  draftLayoutAction = GridRedux.LayoutDraftColumnFilterUnsuspendAll();
779
769
  break;
780
770
  }
781
- // GRID FILTER
782
771
  returnAction = next(draftLayoutAction);
783
772
  }
784
773
  setTimeout(() => {
@@ -798,17 +787,27 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
798
787
  case LayoutRedux.LAYOUT_GRID_FILTER_CLEAR:
799
788
  case LayoutRedux.LAYOUT_GRID_FILTER_SUSPEND:
800
789
  case LayoutRedux.LAYOUT_GRID_FILTER_UNSUSPEND: {
801
- setTimeout(() => adaptable.applyGridFiltering(), 5);
802
- adaptable.api.gridFilterApi.internalApi.fireGridFilterAppliedEvent();
803
- adaptable.api.layoutApi.internalApi.fireLayoutChangedEvent(action.type, null, middlewareAPI.getState().Layout);
804
790
  const currentLayout = adaptable.api.layoutApi.getCurrentLayout();
805
791
  let returnAction;
792
+ // - calls GridFilterApplied - examples
793
+ adaptable.api.gridFilterApi.internalApi.fireGridFilterAppliedEvent();
794
+ // - layout change event, row summary is triggered
795
+ adaptable.api.layoutApi.internalApi.fireLayoutChangedEvent(action.type, null, middlewareAPI.getState().Layout);
796
+ setTimeout(() => {
797
+ // - agGridApi.onFilterChanged
798
+ // - internal 'AdapTableFiltersApplied' event - evaluates row summary
799
+ // - refresh selected cells and rows
800
+ adaptable.applyGridFiltering();
801
+ }, 5);
806
802
  if (((_h = adaptable.adaptableOptions.layoutOptions) === null || _h === void 0 ? void 0 : _h.autoSaveLayouts) &&
807
803
  !currentLayout.IsReadOnly) {
808
- returnAction = action;
804
+ return next(action);
809
805
  }
810
806
  else {
811
- // save in draft
807
+ if (!middlewareAPI.getState().Grid.CurrentLayout) {
808
+ const currentLayout = adaptable.api.layoutApi.getCurrentLayout();
809
+ middlewareAPI.dispatch(GridRedux.LayoutUpdateCurrentDraft(currentLayout));
810
+ }
812
811
  switch (action.type) {
813
812
  case LayoutRedux.LAYOUT_GRID_FILTER_SET:
814
813
  returnAction = GridRedux.LayoutDraftGridFilterSet(Object.assign(Object.assign({}, currentLayout.GridFilter), { Expression: action.gridFilter }));
@@ -869,12 +868,12 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
869
868
  * Note ACTIONS
870
869
  *******************/
871
870
  /**
872
- * Use Case: Notes has been edited/deleted/added
871
+ * Use Case: Note has been edited/deleted/added
873
872
  * Action: Triangle can be removed/added
874
873
  */
875
- case NotesRedux.NOTES_ADD:
876
- case NotesRedux.NOTES_EDIT:
877
- case NotesRedux.NOTES_DELETE: {
874
+ case NoteRedux.NOTE_ADD:
875
+ case NoteRedux.NOTE_EDIT:
876
+ case NoteRedux.NOTE_DELETE: {
878
877
  let returnAction = next(action);
879
878
  const node = adaptable.api.gridApi.getRowNodeForPrimaryKey(returnAction.adaptableNote.PrimaryKeyValue);
880
879
  adaptable.refreshCells([node], [returnAction.adaptableNote.ColumnId], true);
@@ -908,9 +907,9 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
908
907
  requestAnimationFrame(() => {
909
908
  var _a, _b;
910
909
  const commentThreads = adaptable.api.commentApi.getCommentThreads();
911
- adaptable.api.eventApi.emit('CommentsChanged', adaptable.api.commentApi.getCommentThreads());
910
+ adaptable.api.eventApi.emit('CommentChanged', adaptable.api.commentApi.getCommentThreads());
912
911
  (_b = (_a = adaptable.api.optionsApi
913
- .getCommentsOptions()) === null || _a === void 0 ? void 0 : _a.persistCommentThreads) === null || _b === void 0 ? void 0 : _b.call(_a, commentThreads);
912
+ .getCommentOptions()) === null || _a === void 0 ? void 0 : _a.persistCommentThreads) === null || _b === void 0 ? void 0 : _b.call(_a, commentThreads);
914
913
  });
915
914
  }
916
915
  return returnAction;
@@ -935,7 +934,7 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
935
934
  }
936
935
  }
937
936
  // This cannot be called because it would trigger an infinite loop
938
- // adaptable.api.eventApi.emit('CommentsChanged', commentThreads);
937
+ // adaptable.api.eventApi.emit('CommentChanged', commentThreads);
939
938
  // refresh all comments cells to show or hide the triangle
940
939
  [...addedCommentThreads, ...deletedCommentThreads].forEach((commentThread) => {
941
940
  const node = adaptable.api.gridApi.getRowNodeForPrimaryKey(commentThread.PrimaryKeyValue);
@@ -1019,12 +1018,18 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
1019
1018
  let returnAction = next(action);
1020
1019
  const newLayoutState = middlewareAPI.getState().Layout;
1021
1020
  adaptable.api.layoutApi.internalApi.fireLayoutChangedEvent(action.type, oldLayoutState, newLayoutState);
1021
+ // Tell Grid to apply column filtering if filters have been changed in a loaded Layout
1022
1022
  const oldFilters = (_k = oldLayoutState.Layouts.find((l) => l.Name == oldLayoutState.CurrentLayout)) === null || _k === void 0 ? void 0 : _k.ColumnFilters;
1023
1023
  const newFilters = (_l = newLayoutState.Layouts.find((l) => l.Name == newLayoutState.CurrentLayout)) === null || _l === void 0 ? void 0 : _l.ColumnFilters;
1024
- // Tell Grid to apply filtering if filters have been changed in a loaded Layout
1025
1024
  if (adaptable.api.columnFilterApi.internalApi.areColumnFiltersDifferent(oldFilters, newFilters)) {
1026
1025
  adaptable.applyColumnFiltering();
1027
1026
  }
1027
+ // Tell Grid to apply filtering if filters have been changed in a loaded Layout
1028
+ const oldGridFilter = (_m = oldLayoutState.Layouts.find((l) => l.Name == oldLayoutState.CurrentLayout)) === null || _m === void 0 ? void 0 : _m.GridFilter;
1029
+ const newGridFilter = (_o = newLayoutState.Layouts.find((l) => l.Name == newLayoutState.CurrentLayout)) === null || _o === void 0 ? void 0 : _o.GridFilter;
1030
+ if (adaptable.api.gridFilterApi.internalApi.isGridFilterDifferent(oldGridFilter, newGridFilter)) {
1031
+ adaptable.applyGridFiltering();
1032
+ }
1028
1033
  if (returnAction.type == LayoutRedux.LAYOUT_SELECT ||
1029
1034
  returnAction.type == LayoutRedux.LAYOUT_DELETE ||
1030
1035
  returnAction.type == LayoutRedux.LAYOUT_SET_COLUMN_CAPTION) {
@@ -1037,7 +1042,7 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
1037
1042
  // tell grid the layout has been selected
1038
1043
  adaptable.setLayout(currentLayout);
1039
1044
  }
1040
- if (!((_m = adaptable.adaptableOptions.layoutOptions) === null || _m === void 0 ? void 0 : _m.autoSaveLayouts)) {
1045
+ if (!((_p = adaptable.adaptableOptions.layoutOptions) === null || _p === void 0 ? void 0 : _p.autoSaveLayouts)) {
1041
1046
  middlewareAPI.dispatch(GridRedux.LayoutUpdateCurrentDraft(currentLayout));
1042
1047
  }
1043
1048
  }
@@ -1045,7 +1050,7 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
1045
1050
  returnAction.type == LayoutRedux.LAYOUT_SAVE) {
1046
1051
  const actionTyped = action;
1047
1052
  // if autosave is false
1048
- if (!((_o = adaptable.adaptableOptions.layoutOptions) === null || _o === void 0 ? void 0 : _o.autoSaveLayouts)) {
1053
+ if (!((_q = adaptable.adaptableOptions.layoutOptions) === null || _q === void 0 ? void 0 : _q.autoSaveLayouts)) {
1049
1054
  // and the current layout is saved, make sure we also update the draft
1050
1055
  if (actionTyped.layout.Name === newLayoutState.CurrentLayout) {
1051
1056
  middlewareAPI.dispatch(GridRedux.LayoutUpdateCurrentDraft(actionTyped.layout));
@@ -1063,6 +1068,7 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
1063
1068
  adaptable.setLayout(savingLayout);
1064
1069
  }
1065
1070
  }
1071
+ adaptable.refreshQuickFilter();
1066
1072
  return returnAction;
1067
1073
  }
1068
1074
  /*******************
@@ -1273,12 +1279,6 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
1273
1279
  }
1274
1280
  return next(action);
1275
1281
  }
1276
- case SYSTEM_VISUAL_EXPORT_BEGIN:
1277
- case SYSTEM_VISUAL_EXPORT_END: {
1278
- let returnAction = next(action);
1279
- adaptable.ReportService.resetExcelStyleMemoization();
1280
- return returnAction;
1281
- }
1282
1282
  /*******************
1283
1283
  * CHARTING ACTIONS
1284
1284
  *******************/
@@ -1656,24 +1656,14 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
1656
1656
  *******************/
1657
1657
  case INIT_STATE: {
1658
1658
  let returnAction = next(action);
1659
- if (adaptable.isDestroyed) {
1660
- return returnAction;
1661
- }
1662
- // make sure we have the grid columns in state, before we do any layout work
1663
- adaptable.updateColumnsIntoStore();
1664
- const layoutState = middlewareAPI.getState().Layout;
1665
- const defaultLayout = adaptable.api.layoutApi.internalApi.createDefaultLayoutIfNeeded();
1666
- let currentLayout = (layoutState === null || layoutState === void 0 ? void 0 : layoutState.CurrentLayout) || (defaultLayout === null || defaultLayout === void 0 ? void 0 : defaultLayout.Name);
1667
- if (!adaptable.api.layoutApi.getLayoutByName(currentLayout)) {
1668
- currentLayout = defaultLayout ? defaultLayout.Name : layoutState.Layouts[0].Name;
1659
+ if (adaptable.isReady) {
1660
+ // TODO see #create-create-module-menu
1661
+ // create the module menu (for use in the dashboard and the toolpanel)
1662
+ // we need this here for when the state key is changed
1663
+ // since we need the transient state to be restored in the same
1664
+ // way as when Adaptable is initialised.
1665
+ adaptable.ModuleService.createModuleMenus();
1669
1666
  }
1670
- middlewareAPI.dispatch(LayoutRedux.LayoutSelect(currentLayout));
1671
- // do this now so it sets module entitlements
1672
- adaptable.EntitlementService.setModulesEntitlements();
1673
- // create the module menu (for use in the dashboard and the toolpanel)
1674
- adaptable.ModuleService.createModuleMenus();
1675
- // update initial mode of DataChangeHistory
1676
- adaptable.api.internalApi.initializeDataChangeHistory();
1677
1667
  return returnAction;
1678
1668
  }
1679
1669
  default: {