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

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 (368) 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 +59 -108
  9. package/src/AdaptableOptions/AdaptableOptions.d.ts +7 -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/StateOptions.d.ts +6 -0
  18. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +17 -0
  19. package/src/Api/AdaptableApi.d.ts +9 -4
  20. package/src/Api/BulkUpdateApi.d.ts +0 -5
  21. package/src/Api/ColumnApi.d.ts +4 -0
  22. package/src/Api/CommentApi.d.ts +13 -14
  23. package/src/Api/ConfigApi.d.ts +4 -5
  24. package/src/Api/EventApi.d.ts +7 -9
  25. package/src/Api/Events/AdaptableReady.d.ts +3 -3
  26. package/src/Api/Events/CommentChanged.d.ts +11 -0
  27. package/src/Api/Events/GridDataChanged.d.ts +4 -4
  28. package/src/Api/GridApi.d.ts +23 -13
  29. package/src/Api/Implementation/ActionColumnApiImpl.d.ts +2 -0
  30. package/src/Api/Implementation/ActionColumnApiImpl.js +30 -0
  31. package/src/Api/Implementation/AdaptableApiImpl.d.ts +3 -2
  32. package/src/Api/Implementation/AdaptableApiImpl.js +5 -2
  33. package/src/Api/Implementation/ApiBase.d.ts +5 -3
  34. package/src/Api/Implementation/ApiBase.js +8 -2
  35. package/src/Api/Implementation/BulkUpdateApiImpl.d.ts +0 -1
  36. package/src/Api/Implementation/BulkUpdateApiImpl.js +0 -4
  37. package/src/Api/Implementation/CellSummaryApiImpl.d.ts +0 -5
  38. package/src/Api/Implementation/CellSummaryApiImpl.js +2 -23
  39. package/src/Api/Implementation/ColumnApiImpl.d.ts +1 -0
  40. package/src/Api/Implementation/ColumnApiImpl.js +10 -0
  41. package/src/Api/Implementation/CommentsApiImpl.d.ts +5 -2
  42. package/src/Api/Implementation/CommentsApiImpl.js +7 -1
  43. package/src/Api/Implementation/ConfigApiImpl.d.ts +2 -2
  44. package/src/Api/Implementation/ConfigApiImpl.js +24 -13
  45. package/src/Api/Implementation/GridApiImpl.d.ts +6 -3
  46. package/src/Api/Implementation/GridApiImpl.js +51 -14
  47. package/src/Api/Implementation/LayoutApiImpl.d.ts +3 -0
  48. package/src/Api/Implementation/LayoutApiImpl.js +18 -0
  49. package/src/Api/Implementation/NoteApiImpl.d.ts +18 -0
  50. package/src/Api/Implementation/NoteApiImpl.js +40 -0
  51. package/src/Api/Implementation/OptionsApiImpl.d.ts +4 -4
  52. package/src/Api/Implementation/OptionsApiImpl.js +4 -4
  53. package/src/Api/Implementation/ScopeApiImpl.d.ts +2 -0
  54. package/src/Api/Implementation/ScopeApiImpl.js +20 -7
  55. package/src/Api/Implementation/StatusBarApiImpl.d.ts +0 -1
  56. package/src/Api/Implementation/StatusBarApiImpl.js +0 -3
  57. package/src/Api/Implementation/ToolPanelApiImpl.js +6 -6
  58. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +0 -3
  59. package/src/Api/Implementation/UserInterfaceApiImpl.js +0 -8
  60. package/src/Api/Internal/ActionRowInternalApi.d.ts +6 -1
  61. package/src/Api/Internal/ActionRowInternalApi.js +118 -1
  62. package/src/Api/Internal/AdaptableInternalApi.d.ts +6 -7
  63. package/src/Api/Internal/AdaptableInternalApi.js +21 -19
  64. package/src/Api/Internal/CalculatedColumnInternalApi.d.ts +2 -0
  65. package/src/Api/Internal/CalculatedColumnInternalApi.js +71 -0
  66. package/src/Api/Internal/ColumnFilterInternalApi.d.ts +2 -0
  67. package/src/Api/Internal/ColumnFilterInternalApi.js +23 -1
  68. package/src/Api/Internal/ColumnInternalApi.d.ts +4 -1
  69. package/src/Api/Internal/ColumnInternalApi.js +12 -0
  70. package/src/Api/Internal/CommentsInternalApi.d.ts +4 -0
  71. package/src/Api/Internal/CommentsInternalApi.js +14 -0
  72. package/src/Api/Internal/CustomSortInternalApi.d.ts +3 -2
  73. package/src/Api/Internal/CustomSortInternalApi.js +32 -1
  74. package/src/Api/Internal/DataSetInternalApi.js +1 -1
  75. package/src/Api/Internal/ExportInternalApi.d.ts +2 -1
  76. package/src/Api/Internal/ExportInternalApi.js +4 -1
  77. package/src/Api/Internal/Fdc3InternalApi.js +2 -2
  78. package/src/Api/Internal/FormatColumnInternalApi.js +3 -2
  79. package/src/Api/Internal/FreeTextColumnInternalApi.d.ts +2 -0
  80. package/src/Api/Internal/FreeTextColumnInternalApi.js +60 -0
  81. package/src/Api/Internal/GridFilterInternalApi.d.ts +5 -0
  82. package/src/Api/Internal/GridFilterInternalApi.js +7 -1
  83. package/src/Api/Internal/GridInternalApi.d.ts +23 -3
  84. package/src/Api/Internal/GridInternalApi.js +141 -7
  85. package/src/Api/Internal/LayoutInternalApi.d.ts +1 -0
  86. package/src/Api/Internal/LayoutInternalApi.js +16 -0
  87. package/src/Api/Internal/NoteInternalApi.d.ts +4 -0
  88. package/src/Api/Internal/NoteInternalApi.js +14 -0
  89. package/src/Api/Internal/TeamSharingInternalApi.js +1 -1
  90. package/src/Api/InteropioPluginApi.d.ts +2 -2
  91. package/src/Api/LayoutApi.d.ts +15 -0
  92. package/src/Api/NoteApi.d.ts +48 -0
  93. package/src/Api/OptionsApi.d.ts +8 -8
  94. package/src/Api/ScopeApi.d.ts +10 -0
  95. package/src/Api/UserInterfaceApi.d.ts +0 -11
  96. package/src/EnvVars.d.ts +3 -0
  97. package/src/EnvVars.js +4 -0
  98. package/src/PredefinedConfig/AdaptableState.d.ts +2 -2
  99. package/src/PredefinedConfig/CommentState.d.ts +27 -23
  100. package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +4 -0
  101. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
  102. package/src/PredefinedConfig/Common/AdaptableScope.d.ts +4 -1
  103. package/src/PredefinedConfig/Common/AggregationColumns.d.ts +1 -0
  104. package/src/PredefinedConfig/Common/AggregationColumns.js +3 -0
  105. package/src/PredefinedConfig/Common/DataUpdateConfig.d.ts +4 -0
  106. package/src/PredefinedConfig/Common/Enums.d.ts +2 -1
  107. package/src/PredefinedConfig/Common/Enums.js +1 -0
  108. package/src/PredefinedConfig/Common/Menu.d.ts +15 -1
  109. package/src/PredefinedConfig/Common/Menu.js +97 -1
  110. package/src/PredefinedConfig/Common/RowSummary.d.ts +21 -0
  111. package/src/PredefinedConfig/Common/RowSummary.js +17 -0
  112. package/src/PredefinedConfig/Common/TransposeConfig.d.ts +30 -0
  113. package/src/PredefinedConfig/Common/Types.d.ts +4 -4
  114. package/src/PredefinedConfig/Common/Types.js +4 -1
  115. package/src/PredefinedConfig/LayoutState.d.ts +5 -0
  116. package/src/PredefinedConfig/{NotesState.d.ts → NoteState.d.ts} +12 -22
  117. package/src/PredefinedConfig/PredefinedConfig.d.ts +3 -3
  118. package/src/PredefinedConfig/Selection/GridCell.d.ts +13 -0
  119. package/src/PredefinedConfig/SystemState.d.ts +9 -3
  120. package/src/Redux/ActionsReducers/LayoutRedux.d.ts +9 -0
  121. package/src/Redux/ActionsReducers/LayoutRedux.js +32 -10
  122. package/src/Redux/ActionsReducers/NoteRedux.d.ts +38 -0
  123. package/src/Redux/ActionsReducers/{NotesRedux.js → NoteRedux.js} +29 -28
  124. package/src/Redux/ActionsReducers/SystemRedux.d.ts +6 -1
  125. package/src/Redux/ActionsReducers/SystemRedux.js +16 -4
  126. package/src/Redux/Store/AdaptableStore.d.ts +4 -6
  127. package/src/Redux/Store/AdaptableStore.js +67 -77
  128. package/src/Redux/Store/Interface/IAdaptableStore.d.ts +8 -2
  129. package/src/Strategy/AdaptableModuleBase.d.ts +8 -8
  130. package/src/Strategy/AdaptableModuleBase.js +13 -15
  131. package/src/Strategy/AlertModule.d.ts +1 -2
  132. package/src/Strategy/AlertModule.js +3 -56
  133. package/src/Strategy/BulkUpdateModule.js +1 -1
  134. package/src/Strategy/CalculatedColumnModule.d.ts +2 -3
  135. package/src/Strategy/CalculatedColumnModule.js +6 -26
  136. package/src/Strategy/CellSummaryModule.d.ts +8 -6
  137. package/src/Strategy/CellSummaryModule.js +78 -23
  138. package/src/Strategy/ChartingModule.d.ts +0 -1
  139. package/src/Strategy/ChartingModule.js +2 -22
  140. package/src/Strategy/ColumnFilterModule.d.ts +2 -3
  141. package/src/Strategy/ColumnFilterModule.js +44 -103
  142. package/src/Strategy/ColumnInfoModule.js +2 -0
  143. package/src/Strategy/{CommentsModule.d.ts → CommentModule.d.ts} +2 -5
  144. package/src/Strategy/{CommentsModule.js → CommentModule.js} +17 -23
  145. package/src/Strategy/CustomSortModule.js +3 -2
  146. package/src/Strategy/DashboardModule.d.ts +1 -2
  147. package/src/Strategy/DashboardModule.js +9 -15
  148. package/src/Strategy/DataChangeHistoryModule.d.ts +1 -0
  149. package/src/Strategy/DataChangeHistoryModule.js +3 -1
  150. package/src/Strategy/DataImportModule.d.ts +1 -1
  151. package/src/Strategy/DataImportModule.js +5 -5
  152. package/src/Strategy/DataSetModule.d.ts +1 -1
  153. package/src/Strategy/DataSetModule.js +1 -1
  154. package/src/Strategy/ExportModule.d.ts +1 -0
  155. package/src/Strategy/ExportModule.js +17 -2
  156. package/src/Strategy/Fdc3Module.js +3 -0
  157. package/src/Strategy/FlashingCellModule.d.ts +1 -2
  158. package/src/Strategy/FlashingCellModule.js +6 -19
  159. package/src/Strategy/FormatColumnModule.d.ts +0 -2
  160. package/src/Strategy/FormatColumnModule.js +6 -51
  161. package/src/Strategy/FreeTextColumnModule.d.ts +0 -1
  162. package/src/Strategy/FreeTextColumnModule.js +1 -31
  163. package/src/Strategy/GridFilterModule.d.ts +0 -1
  164. package/src/Strategy/GridFilterModule.js +0 -37
  165. package/src/Strategy/GridInfoModule.js +2 -0
  166. package/src/Strategy/Interface/IModule.d.ts +0 -1
  167. package/src/Strategy/LayoutModule.d.ts +9 -3
  168. package/src/Strategy/LayoutModule.js +148 -62
  169. package/src/Strategy/NamedQueryModule.d.ts +0 -1
  170. package/src/Strategy/NamedQueryModule.js +0 -19
  171. package/src/Strategy/{NotesModule.d.ts → NoteModule.d.ts} +2 -1
  172. package/src/Strategy/NoteModule.js +57 -0
  173. package/src/Strategy/PlusMinusModule.d.ts +1 -1
  174. package/src/Strategy/PlusMinusModule.js +2 -2
  175. package/src/Strategy/ScheduleModule.d.ts +1 -1
  176. package/src/Strategy/ScheduleModule.js +1 -1
  177. package/src/Strategy/SettingsPanelModule.js +3 -3
  178. package/src/Strategy/ShortcutModule.d.ts +1 -1
  179. package/src/Strategy/ShortcutModule.js +1 -1
  180. package/src/Strategy/SmartEditModule.js +1 -1
  181. package/src/Strategy/StyledColumnModule.d.ts +1 -1
  182. package/src/Strategy/StyledColumnModule.js +26 -26
  183. package/src/Strategy/SystemStatusModule.js +2 -2
  184. package/src/Strategy/TeamSharingModule.d.ts +1 -0
  185. package/src/Strategy/TeamSharingModule.js +5 -5
  186. package/src/Strategy/ToolPanelModule.d.ts +0 -1
  187. package/src/Strategy/ToolPanelModule.js +0 -23
  188. package/src/Strategy/Utilities/getScopeViewItems.js +3 -0
  189. package/src/Utilities/Constants/DocumentationLinkConstants.js +1 -1
  190. package/src/Utilities/Constants/GeneralConstants.d.ts +1 -0
  191. package/src/Utilities/Constants/GeneralConstants.js +1 -0
  192. package/src/Utilities/Constants/ModuleConstants.d.ts +6 -6
  193. package/src/Utilities/Constants/ModuleConstants.js +6 -6
  194. package/src/Utilities/Defaults/DefaultSettingsPanel.js +7 -6
  195. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +3 -2
  196. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +429 -1
  197. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +3 -3
  198. package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.js +1 -1
  199. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +1 -1
  200. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +15 -0
  201. package/src/Utilities/Extensions/ArrayExtensions.d.ts +2 -0
  202. package/src/Utilities/Extensions/ArrayExtensions.js +4 -0
  203. package/src/Utilities/Helpers/AdaptableHelper.d.ts +3 -4
  204. package/src/Utilities/Helpers/AdaptableHelper.js +18 -58
  205. package/src/Utilities/Helpers/Helper.d.ts +2 -0
  206. package/src/Utilities/Helpers/Helper.js +4 -0
  207. package/src/Utilities/MenuItem.d.ts +7 -4
  208. package/src/Utilities/MenuItem.js +6 -3
  209. package/src/Utilities/ObjectFactory.d.ts +3 -3
  210. package/src/Utilities/ObjectFactory.js +4 -24
  211. package/src/Utilities/Services/AggregatedScalarLiveValue.d.ts +4 -2
  212. package/src/Utilities/Services/AggregatedScalarLiveValue.js +26 -19
  213. package/src/Utilities/Services/CellPopupService.js +2 -3
  214. package/src/Utilities/Services/Interface/IQueryLanguageService.d.ts +1 -1
  215. package/src/Utilities/Services/Interface/IReportService.d.ts +1 -4
  216. package/src/Utilities/Services/LicenseService/index.d.ts +3 -0
  217. package/src/Utilities/Services/LicenseService/index.js +1 -181
  218. package/src/Utilities/Services/MetamodelService.d.ts +1 -1
  219. package/src/Utilities/Services/MetamodelService.js +6 -3
  220. package/src/Utilities/Services/ModuleService.js +4 -0
  221. package/src/Utilities/Services/QueryLanguageService.d.ts +1 -1
  222. package/src/Utilities/Services/QueryLanguageService.js +4 -3
  223. package/src/Utilities/Services/ReportService.d.ts +7 -5
  224. package/src/Utilities/Services/ReportService.js +238 -22
  225. package/src/Utilities/Services/RowEditService.d.ts +3 -2
  226. package/src/Utilities/Services/RowEditService.js +3 -1
  227. package/src/Utilities/adaptableQlUtils.d.ts +2 -0
  228. package/src/Utilities/adaptableQlUtils.js +14 -0
  229. package/src/Utilities/license/decode.js +1 -65
  230. package/src/Utilities/license/hashing.js +1 -43
  231. package/src/View/AdaptableView.js +1 -3
  232. package/src/View/AdaptableViewFactory.js +2 -2
  233. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +2 -2
  234. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +1 -1
  235. package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
  236. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +3 -3
  237. package/src/View/CalculatedColumn/utils.d.ts +1 -1
  238. package/src/View/CellSummary/CellSummaryPopup.js +1 -1
  239. package/src/View/Comments/CommentsEditor.js +24 -11
  240. package/src/View/Comments/CommentsPopup.js +20 -11
  241. package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
  242. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.d.ts +5 -0
  243. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.js +42 -0
  244. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +5 -2
  245. package/src/View/Components/CellPopup/index.d.ts +1 -0
  246. package/src/View/Components/CellPopup/index.js +5 -2
  247. package/src/View/Components/FilterForm/FilterForm.js +20 -12
  248. package/src/View/Components/FilterForm/QuickFilterForm.js +15 -8
  249. package/src/View/Components/FilterForm/QuickFilterValues.js +39 -23
  250. package/src/View/Components/NewScopeComponent.js +34 -1
  251. package/src/View/Components/Popups/AdaptableLoadingScreen.d.ts +6 -5
  252. package/src/View/Components/Popups/AdaptableLoadingScreen.js +19 -9
  253. package/src/View/Components/Popups/AdaptableToaster.js +1 -1
  254. package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +7 -7
  255. package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +1 -0
  256. package/src/View/Components/Popups/WindowPopups/windowFactory.js +3 -0
  257. package/src/View/Components/Selectors/PermittedValuesSelector.js +2 -2
  258. package/src/View/Components/ValueSelector/index.d.ts +1 -0
  259. package/src/View/Components/ValueSelector/index.js +2 -2
  260. package/src/View/CustomSort/CustomSortSummary.js +1 -1
  261. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +8 -9
  262. package/src/View/FreeTextColumn/FreeTextColumnSummary.js +1 -1
  263. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +3 -1
  264. package/src/View/GridFilter/GridFilterViewPanel.js +9 -5
  265. package/src/View/GridFilter/useGridFilterExpressionEditor.js +1 -1
  266. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +2 -3
  267. package/src/View/Layout/LayoutViewPanel.js +2 -1
  268. package/src/View/Layout/TransposedPopup.d.ts +3 -0
  269. package/src/View/Layout/TransposedPopup.js +195 -0
  270. package/src/View/Layout/Wizard/LayoutWizard.js +36 -3
  271. package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -1
  272. package/src/View/Layout/Wizard/sections/RowSummarySection.d.ts +9 -0
  273. package/src/View/Layout/Wizard/sections/RowSummarySection.js +174 -0
  274. package/src/View/License/LicenseWatermark.js +1 -61
  275. package/src/View/Note/NotePopup.d.ts +2 -0
  276. package/src/View/{Notes/NotesPopup.js → Note/NotePopup.js} +17 -17
  277. package/src/View/SpecialColumnSettingsWizardStep.js +4 -4
  278. package/src/View/Theme/ThemeSelector.js +3 -3
  279. package/src/agGrid/ActionColumnRenderer.js +7 -6
  280. package/src/agGrid/Adaptable.d.ts +3 -455
  281. package/src/agGrid/Adaptable.js +8 -5292
  282. package/src/agGrid/AdaptableAgGrid.d.ts +354 -0
  283. package/src/agGrid/AdaptableAgGrid.js +3967 -0
  284. package/src/agGrid/AdaptableLogger.js +77 -11
  285. package/src/agGrid/AgGridAdapter.d.ts +64 -0
  286. package/src/agGrid/AgGridAdapter.js +585 -0
  287. package/src/agGrid/AgGridColumnAdapter.d.ts +56 -0
  288. package/src/agGrid/AgGridColumnAdapter.js +831 -0
  289. package/src/agGrid/AgGridMenuAdapter.d.ts +28 -0
  290. package/src/agGrid/AgGridMenuAdapter.js +277 -0
  291. package/src/agGrid/AgGridOptionsService.d.ts +15 -0
  292. package/src/agGrid/AgGridOptionsService.js +76 -0
  293. package/src/agGrid/BadgeRenderer.js +1 -1
  294. package/src/agGrid/CheckboxRenderer.js +1 -1
  295. package/src/agGrid/FilterWrapper.d.ts +2 -2
  296. package/src/agGrid/FilterWrapper.js +1 -1
  297. package/src/agGrid/attachAddaptableColumnTypes.d.ts +12 -12
  298. package/src/agGrid/defaultAdaptableOptions.d.ts +3 -0
  299. package/src/{Utilities/Defaults/DefaultAdaptableOptions.js → agGrid/defaultAdaptableOptions.js} +71 -17
  300. package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +1 -1
  301. package/src/agGrid/editors/AdaptableDateEditor/index.js +3 -3
  302. package/src/agGrid/editors/AdaptableNumberEditor/index.d.ts +2 -2
  303. package/src/agGrid/editors/AdaptableNumberEditor/index.js +2 -2
  304. package/src/agGrid/weightedAverage.d.ts +0 -2
  305. package/src/agGrid/weightedAverage.js +0 -54
  306. package/src/components/ColorPicker/ColorPicker.d.ts +1 -1
  307. package/src/components/Datepicker/index.d.ts +1 -1
  308. package/src/components/Datepicker/index.js +10 -2
  309. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +2 -1
  310. package/src/components/ExpressionEditor/QueryBuilder/utils.d.ts +0 -1
  311. package/src/components/ExpressionEditor/QueryBuilder/utils.js +1 -14
  312. package/src/components/InfiniteTable/index.js +2 -2
  313. package/src/components/Input/index.d.ts +1 -2
  314. package/src/components/List/ListGroupItem/index.d.ts +1 -1
  315. package/src/components/Modal/index.d.ts +1 -0
  316. package/src/components/Modal/index.js +4 -3
  317. package/src/components/Select/Select.d.ts +3 -1
  318. package/src/components/Select/Select.js +4 -2
  319. package/src/components/Textarea/index.d.ts +2 -2
  320. package/src/components/icons/index.js +2 -0
  321. package/src/components/icons/note.js +2 -2
  322. package/src/components/icons/rows.d.ts +3 -0
  323. package/src/components/icons/rows.js +4 -0
  324. package/src/env.js +2 -2
  325. package/src/metamodel/adaptable.metamodel.d.ts +179 -25
  326. package/src/metamodel/adaptable.metamodel.js +1 -9313
  327. package/src/migration/AdaptableUpgradeHelper.d.ts +38 -0
  328. package/src/migration/AdaptableUpgradeHelper.js +48 -0
  329. package/src/migration/VersionUpgrade.d.ts +8 -0
  330. package/src/migration/VersionUpgrade.js +11 -0
  331. package/src/migration/VersionUpgrade17.d.ts +18 -0
  332. package/src/migration/VersionUpgrade17.js +342 -0
  333. package/src/migration/VersionUpgrade18.d.ts +5 -0
  334. package/src/migration/VersionUpgrade18.js +6 -0
  335. package/src/parser/src/parser.js +117 -1257
  336. package/src/parser/src/predicate/mapExpressionToQlPredicate.js +1 -1
  337. package/src/parser/src/predicate/mapQlPredicateToExpression.js +2 -1
  338. package/src/parser/src/types.d.ts +7 -2
  339. package/src/types.d.ts +26 -19
  340. package/tsconfig.esm.tsbuildinfo +1 -1
  341. package/src/AdaptableOptions/CommentsOptions.d.ts +0 -28
  342. package/src/Api/Events/CommentsChangedInfo.d.ts +0 -5
  343. package/src/Api/Implementation/NotesApiImpl.d.ts +0 -16
  344. package/src/Api/Implementation/NotesApiImpl.js +0 -39
  345. package/src/Api/NotesApi.d.ts +0 -48
  346. package/src/PredefinedConfig/CellAddress.d.ts +0 -13
  347. package/src/PredefinedConfig/CellAddress.js +0 -4
  348. package/src/Redux/ActionsReducers/NotesRedux.d.ts +0 -39
  349. package/src/Strategy/NotesModule.js +0 -57
  350. package/src/Utilities/Defaults/DefaultAdaptableOptions.d.ts +0 -2
  351. package/src/Utilities/Services/Interface/IRowEditService.d.ts +0 -3
  352. package/src/View/Components/ScopeComponent.d.ts +0 -24
  353. package/src/View/Components/ScopeComponent.js +0 -133
  354. package/src/View/Export/Wizard/ReportScopeWizard.d.ts +0 -17
  355. package/src/View/Export/Wizard/ReportScopeWizard.js +0 -47
  356. package/src/View/Notes/NotesPopup.d.ts +0 -2
  357. package/src/agGrid/agGridHelper.d.ts +0 -57
  358. package/src/agGrid/agGridHelper.js +0 -686
  359. package/src/agGrid/agGridMenuHelper.d.ts +0 -46
  360. package/src/agGrid/agGridMenuHelper.js +0 -668
  361. /package/src/AdaptableOptions/{CommentsOptions.js → CommentOptions.js} +0 -0
  362. /package/src/AdaptableOptions/{NotesOptions.js → NoteOptions.js} +0 -0
  363. /package/src/Api/Events/{CommentsChangedInfo.js → CommentChanged.js} +0 -0
  364. /package/src/Api/{NotesApi.js → NoteApi.js} +0 -0
  365. /package/src/PredefinedConfig/{NotesState.js → Common/TransposeConfig.js} +0 -0
  366. /package/src/{Utilities/Services/Interface/IRowEditService.js → PredefinedConfig/NoteState.js} +0 -0
  367. /package/src/View/{Notes → Note}/NoteEditor.d.ts +0 -0
  368. /package/src/View/{Notes → Note}/NoteEditor.js +0 -0
@@ -0,0 +1,28 @@
1
+ import { AdaptableAgGrid } from './AdaptableAgGrid';
2
+ import { Column, GetContextMenuItems, GetContextMenuItemsParams, GetMainMenuItems, GetMainMenuItemsParams, MenuItemDef } from '@ag-grid-community/core';
3
+ import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
4
+ import { AdaptableMenuItem, ColumnMenuContext } from '../PredefinedConfig/Common/Menu';
5
+ export declare class AgGridMenuAdapter {
6
+ private adaptableInstance;
7
+ constructor(adaptableInstance: AdaptableAgGrid);
8
+ private get adaptableOptions();
9
+ private get adaptableApi();
10
+ destroy(): void;
11
+ buildColumnMenu(params: GetMainMenuItemsParams, originalGetMainMenuItems: GetMainMenuItems): (string | MenuItemDef)[];
12
+ buildStructuredAdaptableColumnItems(menuContext: ColumnMenuContext): {
13
+ adaptableMenuItems: AdaptableMenuItem[];
14
+ structuredAdaptableMenuItems: AdaptableMenuItem[];
15
+ };
16
+ buildContextMenu(params: GetContextMenuItemsParams, originalGetContextMenuItems: GetContextMenuItems): (string | MenuItemDef)[];
17
+ createColumnMenuContextObject(adaptableColumn: AdaptableColumn, agGridColumn: Column): ColumnMenuContext;
18
+ private createAdaptableContextMenuItems;
19
+ private createContextMenuContextObject;
20
+ private mapAdaptableMenuItemToAgGridMenuDefinition;
21
+ private mapCustomMenuItemToAgGridMenuDefinition;
22
+ private mapUserMenuItemToAgGridMenuDefinition;
23
+ private buildGroupedModuleItems;
24
+ private mapAdaptableMenuItemToSystemMenuItems;
25
+ private createAdaptableColumnMenuItems;
26
+ private mapAdaptableIconToAgGridIcon;
27
+ buildStandaloneColumnHeader(adaptableColumn: AdaptableColumn): AdaptableMenuItem[];
28
+ }
@@ -0,0 +1,277 @@
1
+ import { DEFAULT_ADAPTABLE_COLUMN_MENU_STRUCTURE, DEFAULT_ADAPTABLE_CONTEXT_MENU_STRUCTURE, } from '../AdaptableOptions/MenuOptions';
2
+ import { isAdaptableElementIcon } from '../components/Icon';
3
+ import { iconToString } from '../components/icons';
4
+ import ArrayExtensions from '../Utilities/Extensions/ArrayExtensions';
5
+ export class AgGridMenuAdapter {
6
+ constructor(adaptableInstance) {
7
+ this.adaptableInstance = adaptableInstance;
8
+ }
9
+ get adaptableOptions() {
10
+ return this.adaptableInstance.adaptableOptions;
11
+ }
12
+ get adaptableApi() {
13
+ return this.adaptableInstance.api;
14
+ }
15
+ destroy() {
16
+ this.adaptableInstance = null;
17
+ }
18
+ buildColumnMenu(params, originalGetMainMenuItems) {
19
+ var _a;
20
+ const menuOptions = this.adaptableOptions.menuOptions;
21
+ const agGridMenuItems = (params.defaultItems ? [...params.defaultItems] : []);
22
+ if (!params.column) {
23
+ // return only AG Grid context if the Adaptable column is not found (should not happen)
24
+ return agGridMenuItems;
25
+ }
26
+ const adaptableColumn = this.adaptableApi.columnApi.getColumnWithColumnId((_a = params.column) === null || _a === void 0 ? void 0 : _a.getColId());
27
+ const menuContext = this.createColumnMenuContextObject(adaptableColumn, params.column);
28
+ const { adaptableMenuItems, structuredAdaptableMenuItems } = this.buildStructuredAdaptableColumnItems(menuContext);
29
+ // 1. first check if there is a custom column menu defined
30
+ if (typeof menuOptions.customColumnMenu === 'function') {
31
+ const defaultAgGridMenuItems = agGridMenuItems.map((itemName) => ({
32
+ menuType: 'AgGrid',
33
+ name: itemName,
34
+ }));
35
+ const defaultAdaptableMenuItems = adaptableMenuItems.map((adaptableItem) => (Object.assign({ menuType: 'Adaptable' }, adaptableItem)));
36
+ const customMenuItems = menuOptions
37
+ .customColumnMenu(Object.assign(Object.assign({}, menuContext), { defaultAgGridMenuItems,
38
+ defaultAdaptableMenuItems, structuredAdaptableMenuItems: this.mapAdaptableMenuItemToSystemMenuItems(structuredAdaptableMenuItems) }))
39
+ .filter(Boolean);
40
+ return customMenuItems
41
+ .map((customMenuItem) => this.mapCustomMenuItemToAgGridMenuDefinition(customMenuItem, menuContext))
42
+ .filter(Boolean);
43
+ }
44
+ // 2. if not, return the default context menu
45
+ const defaultContextMenu = [
46
+ ...agGridMenuItems,
47
+ 'separator',
48
+ ...structuredAdaptableMenuItems.map((adaptableItem) => this.mapAdaptableMenuItemToAgGridMenuDefinition(adaptableItem)),
49
+ ];
50
+ return defaultContextMenu;
51
+ }
52
+ buildStructuredAdaptableColumnItems(menuContext) {
53
+ const adaptableMenuItems = this.createAdaptableColumnMenuItems(menuContext);
54
+ // sort Adaptable menu items by default order
55
+ const structuredAdaptableMenuItems = this.buildGroupedModuleItems(DEFAULT_ADAPTABLE_COLUMN_MENU_STRUCTURE, adaptableMenuItems);
56
+ return { adaptableMenuItems, structuredAdaptableMenuItems };
57
+ }
58
+ buildContextMenu(params, originalGetContextMenuItems) {
59
+ var _a;
60
+ // we do this in order to refresh the internal state of selected cells (technically query the AG Grid cellRanges)
61
+ // (right-click selected the current cell, but this was not reflected in the internal state of the selected cells)
62
+ this.adaptableInstance.refreshSelectedCellsState();
63
+ const menuOptions = this.adaptableOptions.menuOptions;
64
+ const agGridMenuItems = (params.defaultItems ? [...params.defaultItems] : []);
65
+ if (!params.column) {
66
+ // return only AG Grid context if the Adaptable column is not found (should not happen)
67
+ return agGridMenuItems;
68
+ }
69
+ const adaptableColumn = this.adaptableApi.columnApi.getColumnWithColumnId((_a = params.column) === null || _a === void 0 ? void 0 : _a.getColId());
70
+ const menuContext = this.createContextMenuContextObject(params, adaptableColumn);
71
+ const adaptableMenuItems = this.createAdaptableContextMenuItems(menuContext);
72
+ // sort Adaptable menu items by default order
73
+ const structuredAdaptableMenuItems = this.buildGroupedModuleItems(DEFAULT_ADAPTABLE_CONTEXT_MENU_STRUCTURE, adaptableMenuItems);
74
+ // 1. first check if there is a custom context menu defined
75
+ if (typeof menuOptions.customContextMenu === 'function') {
76
+ const defaultAgGridMenuItems = agGridMenuItems.map((itemName) => ({
77
+ menuType: 'AgGrid',
78
+ name: itemName,
79
+ }));
80
+ const defaultAdaptableMenuItems = adaptableMenuItems.map((adaptableItem) => (Object.assign({ menuType: 'Adaptable' }, adaptableItem)));
81
+ const customMenuItems = menuOptions
82
+ .customContextMenu(Object.assign(Object.assign({}, menuContext), { defaultAgGridMenuItems,
83
+ defaultAdaptableMenuItems, structuredAdaptableMenuItems: this.mapAdaptableMenuItemToSystemMenuItems(structuredAdaptableMenuItems) }))
84
+ .filter(Boolean);
85
+ return customMenuItems
86
+ .map((customMenuItem) => this.mapCustomMenuItemToAgGridMenuDefinition(customMenuItem, menuContext))
87
+ .filter(Boolean);
88
+ }
89
+ // 2. if not, return the default context menu
90
+ const defaultContextMenu = [
91
+ ...agGridMenuItems,
92
+ 'separator',
93
+ ...structuredAdaptableMenuItems.map((adaptableItem) => this.mapAdaptableMenuItemToAgGridMenuDefinition(adaptableItem)),
94
+ ];
95
+ return defaultContextMenu;
96
+ }
97
+ createColumnMenuContextObject(adaptableColumn, agGridColumn) {
98
+ return Object.assign(Object.assign({}, this.adaptableInstance.api.internalApi.buildBaseContext()), { adaptableColumn: adaptableColumn, agGridColumn: agGridColumn, isRowGroupColumn: this.adaptableInstance.api.columnApi.isAutoRowGroupColumn(agGridColumn.getColId()) });
99
+ }
100
+ createAdaptableContextMenuItems(menuContext) {
101
+ let contextMenuItems = [];
102
+ this.adaptableInstance.adaptableModules.forEach((module) => {
103
+ let menuItems = module.addContextMenuItems(menuContext);
104
+ if (menuItems) {
105
+ contextMenuItems.push(...menuItems.filter(Boolean).filter((item) => item.isVisible !== false));
106
+ }
107
+ });
108
+ this.adaptableInstance._emitSync('CreateAdaptableContextMenuItems', {
109
+ items: contextMenuItems,
110
+ menuContext: menuContext,
111
+ });
112
+ return contextMenuItems;
113
+ }
114
+ createContextMenuContextObject(params, adaptableColumn) {
115
+ // lets build a picture of what has been right clicked. Will take time to get right but lets start
116
+ let isSingleSelectedColumn = false;
117
+ let isSelectedCell = false;
118
+ let isSelectedRow = false;
119
+ // row group columns dont provide an AdapTable Column so return bare minimum
120
+ if (!adaptableColumn) {
121
+ return Object.assign(Object.assign({}, this.adaptableApi.internalApi.buildBaseContext()), { isSelectedCell: false, isSelectedRow: false, gridCell: undefined, adaptableColumn: undefined, agGridColumn: params.column, rowNode: params.node, isGroupedNode: params.node ? params.node.group : false, isSingleSelectedColumn: false, isSingleSelectedCell: false, primaryKeyValue: undefined, selectedCellInfo: undefined, selectedRowInfo: undefined, isRowGroupColumn: this.adaptableApi.columnApi.isAutoRowGroupColumn(params.column.getColId()) });
122
+ }
123
+ const clickedCell = this.adaptableInstance.getGridCellFromRowNode(params.node, adaptableColumn.columnId);
124
+ const selectedCellInfo = this.adaptableApi.gridApi.getSelectedCellInfo();
125
+ if (selectedCellInfo) {
126
+ let matchedCell = selectedCellInfo.gridCells.find((gc) => gc != null &&
127
+ gc.column == clickedCell.column &&
128
+ gc.primaryKeyValue == clickedCell.primaryKeyValue);
129
+ isSelectedCell = matchedCell != null;
130
+ if (isSelectedCell) {
131
+ isSingleSelectedColumn = ArrayExtensions.CorrectLength(selectedCellInfo.columns, 1);
132
+ }
133
+ }
134
+ const selectedRowInfo = this.adaptableApi.gridApi.getSelectedRowInfo();
135
+ if (selectedRowInfo) {
136
+ const matchedPKValue = selectedRowInfo.gridRows.find((gr) => gr != null && gr.primaryKeyValue == clickedCell.primaryKeyValue);
137
+ isSelectedRow = matchedPKValue != null;
138
+ }
139
+ return Object.assign(Object.assign({}, this.adaptableApi.internalApi.buildBaseContext()), { isSelectedCell: isSelectedCell, isSelectedRow: isSelectedRow, gridCell: clickedCell, adaptableColumn: adaptableColumn, agGridColumn: params.column, rowNode: params.node, isGroupedNode: params.node ? params.node.group : false, isSingleSelectedColumn: isSingleSelectedColumn, isSingleSelectedCell: isSelectedCell && (selectedCellInfo === null || selectedCellInfo === void 0 ? void 0 : selectedCellInfo.gridCells.length) == 1, primaryKeyValue: clickedCell ? clickedCell.primaryKeyValue : undefined, selectedCellInfo: selectedCellInfo, selectedRowInfo: selectedRowInfo, isRowGroupColumn: this.adaptableApi.columnApi.isAutoRowGroupColumn(params.column.getColId()) });
140
+ }
141
+ mapAdaptableMenuItemToAgGridMenuDefinition(adaptableMenuItem) {
142
+ var _a;
143
+ return {
144
+ name: adaptableMenuItem.label,
145
+ action: adaptableMenuItem.onClick
146
+ ? adaptableMenuItem.onClick
147
+ : adaptableMenuItem.reduxAction
148
+ ? () => this.adaptableInstance.api.internalApi.dispatchReduxAction(adaptableMenuItem.reduxAction)
149
+ : undefined,
150
+ icon: this.mapAdaptableIconToAgGridIcon(adaptableMenuItem.icon, {
151
+ fill: 'var(--ab-color-text-on-primary)',
152
+ }),
153
+ subMenu: (_a = adaptableMenuItem.subItems) === null || _a === void 0 ? void 0 : _a.map((subMenuItem) => this.mapAdaptableMenuItemToAgGridMenuDefinition(subMenuItem)),
154
+ };
155
+ }
156
+ mapCustomMenuItemToAgGridMenuDefinition(customMenuItem, menuContext) {
157
+ var _a;
158
+ if (customMenuItem === '-') {
159
+ return 'separator';
160
+ }
161
+ if (customMenuItem.menuType === 'Group') {
162
+ return {
163
+ name: customMenuItem.label,
164
+ icon: this.mapAdaptableIconToAgGridIcon(customMenuItem.icon, {
165
+ fill: 'var(--ab-color-text-on-primary)',
166
+ }),
167
+ disabled: customMenuItem.disabled,
168
+ subMenu: !customMenuItem.disabled
169
+ ? (_a = customMenuItem.subMenuItems) === null || _a === void 0 ? void 0 : _a.map((subMenuItem) => this.mapCustomMenuItemToAgGridMenuDefinition(subMenuItem, menuContext)).filter(Boolean)
170
+ : undefined,
171
+ };
172
+ }
173
+ if (customMenuItem.menuType === 'AgGrid') {
174
+ return customMenuItem.name;
175
+ }
176
+ if (customMenuItem.menuType === 'Adaptable') {
177
+ return this.mapAdaptableMenuItemToAgGridMenuDefinition(customMenuItem);
178
+ }
179
+ if (customMenuItem.menuType === 'User') {
180
+ return this.mapUserMenuItemToAgGridMenuDefinition(customMenuItem, menuContext);
181
+ }
182
+ }
183
+ mapUserMenuItemToAgGridMenuDefinition(userMenuItem, menuContext) {
184
+ var _a;
185
+ if (userMenuItem.hidden) {
186
+ return;
187
+ }
188
+ return {
189
+ name: userMenuItem.label,
190
+ action: () => (userMenuItem.onClick ? userMenuItem.onClick(menuContext) : null),
191
+ icon: this.mapAdaptableIconToAgGridIcon(userMenuItem.icon, {
192
+ fill: 'var(--ab-color-text-on-primary)',
193
+ }),
194
+ disabled: userMenuItem.disabled,
195
+ subMenu: (_a = userMenuItem.subMenuItems) === null || _a === void 0 ? void 0 : _a.map((subMenuItem) => {
196
+ return this.mapCustomMenuItemToAgGridMenuDefinition(subMenuItem, menuContext);
197
+ }).filter(Boolean),
198
+ };
199
+ }
200
+ buildGroupedModuleItems(sortedMenuItems, adaptableMenuItems) {
201
+ return sortedMenuItems
202
+ .map((moduleOrGroup) => {
203
+ if (typeof moduleOrGroup === 'object') {
204
+ const submenuItems = this.buildGroupedModuleItems(moduleOrGroup.modules, adaptableMenuItems);
205
+ // if there is only one item in the submenu, we don't need to show the submenu
206
+ if (submenuItems.length === 1) {
207
+ return submenuItems[0];
208
+ }
209
+ return [
210
+ {
211
+ label: moduleOrGroup.title,
212
+ icon: moduleOrGroup.icon,
213
+ subItems: submenuItems,
214
+ },
215
+ ];
216
+ }
217
+ else {
218
+ return adaptableMenuItems.filter((menuItem) => menuItem.module === moduleOrGroup);
219
+ }
220
+ })
221
+ .filter((menuItems) => {
222
+ if (!menuItems.length) {
223
+ return false;
224
+ }
225
+ if (menuItems.length === 1) {
226
+ const singleMenuItem = menuItems[0];
227
+ if (singleMenuItem.subItems && singleMenuItem.subItems.length === 0) {
228
+ return false;
229
+ }
230
+ }
231
+ return true;
232
+ })
233
+ .flat();
234
+ }
235
+ mapAdaptableMenuItemToSystemMenuItems(adaptableMenuItems) {
236
+ return (adaptableMenuItems !== null && adaptableMenuItems !== void 0 ? adaptableMenuItems : []).map((menuItem) => {
237
+ let subItems = menuItem.subItems;
238
+ if (subItems && subItems.length > 0) {
239
+ subItems = subItems.map((subItem) => this.mapAdaptableMenuItemToSystemMenuItems(subItem.subItems));
240
+ }
241
+ return Object.assign(Object.assign({}, menuItem), { menuType: 'Adaptable', subItems });
242
+ });
243
+ }
244
+ createAdaptableColumnMenuItems(menuContext) {
245
+ let contextMenuItems = [];
246
+ this.adaptableInstance.adaptableModules.forEach((s) => {
247
+ let menuItems = s.addColumnMenuItems(menuContext.adaptableColumn);
248
+ if (menuItems) {
249
+ contextMenuItems.push(...menuItems.filter(Boolean).filter((item) => item.isVisible !== false));
250
+ }
251
+ });
252
+ return contextMenuItems;
253
+ }
254
+ // TODO AFL MIG: pretty sure this logic is duplicated in several other places
255
+ mapAdaptableIconToAgGridIcon(adaptableIcon, style) {
256
+ const icon = this.adaptableInstance.api.userInterfaceApi.internalApi.prepareAdaptableIconDef(adaptableIcon);
257
+ if (isAdaptableElementIcon(icon)) {
258
+ let element = icon.element;
259
+ if (typeof element === 'string') {
260
+ return element;
261
+ }
262
+ // THe element neets to be cloned.
263
+ // when it is used in more than one plce the element is removed from the DOM
264
+ return element.cloneNode(true);
265
+ }
266
+ else {
267
+ return iconToString(icon, {
268
+ fill: 'var(--ab-color-text-on-primary)',
269
+ });
270
+ }
271
+ }
272
+ buildStandaloneColumnHeader(adaptableColumn) {
273
+ const agGridColumn = this.adaptableInstance.getAgGridColumnForColumnId(adaptableColumn.columnId);
274
+ const menuContext = this.createColumnMenuContextObject(adaptableColumn, agGridColumn);
275
+ return this.buildStructuredAdaptableColumnItems(menuContext).adaptableMenuItems;
276
+ }
277
+ }
@@ -0,0 +1,15 @@
1
+ import { AdaptableAgGrid } from './AdaptableAgGrid';
2
+ import { GridOptions, ManagedGridOptionKey } from '@ag-grid-community/core';
3
+ export declare class AgGridOptionsService {
4
+ private adaptableInstance;
5
+ private gridOptionsPropertyCache;
6
+ private colDefPropertyCache;
7
+ constructor(adaptableInstance: AdaptableAgGrid);
8
+ destroy(): void;
9
+ setGridOptionsProperty<T extends keyof GridOptions>(gridOptions: GridOptions, propertyName: T, propertyGetter: (userPropertyValue: GridOptions[T]) => GridOptions[T] | undefined): GridOptions;
10
+ getUserGridOptionsProperty<T extends keyof GridOptions>(propertyName: T): GridOptions[T];
11
+ revertGridOptionsPropertyToUserValue(propertyName: ManagedGridOptionKey): void;
12
+ CAREFUL_patchGridOptionsProperty<T extends keyof GridOptions>(propertyName: T, value: GridOptions[T]): void;
13
+ revertGridOptionsPropertiesToUserValue<T extends keyof GridOptions>(gridOptions: GridOptions, propertyNames: T[]): void;
14
+ private get agGridAdapter();
15
+ }
@@ -0,0 +1,76 @@
1
+ export class AgGridOptionsService {
2
+ constructor(adaptableInstance) {
3
+ this.adaptableInstance = adaptableInstance;
4
+ this.gridOptionsPropertyCache = new Map();
5
+ this.colDefPropertyCache = new Map();
6
+ }
7
+ destroy() {
8
+ this.gridOptionsPropertyCache.clear();
9
+ this.colDefPropertyCache.clear();
10
+ this.gridOptionsPropertyCache = null;
11
+ this.colDefPropertyCache = null;
12
+ }
13
+ setGridOptionsProperty(gridOptions, propertyName, propertyGetter) {
14
+ if (this.adaptableInstance.lifecycleState === 'preDestroyed') {
15
+ return;
16
+ }
17
+ const userKey = `user.${propertyName}`;
18
+ const adaptableKey = `adaptable.${propertyName}`;
19
+ const value = gridOptions[propertyName];
20
+ const isUserDefined = value !== this.gridOptionsPropertyCache.get(adaptableKey);
21
+ if (isUserDefined) {
22
+ this.gridOptionsPropertyCache.set(userKey, value);
23
+ }
24
+ const userValue = this.gridOptionsPropertyCache.get(userKey);
25
+ let adaptableValue = propertyGetter(userValue);
26
+ if (typeof adaptableValue === 'function') {
27
+ const previousValue = adaptableValue;
28
+ // @ts-ignore we know that adaptableValue is a function
29
+ adaptableValue = (...args) => {
30
+ if (this.adaptableInstance.isDestroyed) {
31
+ return;
32
+ }
33
+ this.agGridAdapter.grabAgGridApiOnTheFly(args);
34
+ return previousValue(...args);
35
+ };
36
+ }
37
+ if (adaptableValue != null) {
38
+ this.gridOptionsPropertyCache.set(adaptableKey, adaptableValue);
39
+ }
40
+ gridOptions[propertyName] = adaptableValue !== null && adaptableValue !== void 0 ? adaptableValue : userValue;
41
+ return gridOptions;
42
+ }
43
+ getUserGridOptionsProperty(propertyName) {
44
+ const userKey = `user.${propertyName}`;
45
+ return this.gridOptionsPropertyCache.get(userKey);
46
+ }
47
+ revertGridOptionsPropertyToUserValue(propertyName) {
48
+ const userKey = `user.${propertyName}`;
49
+ const userValue = this.gridOptionsPropertyCache.get(userKey);
50
+ this.agGridAdapter.setGridOption(propertyName, userValue);
51
+ }
52
+ CAREFUL_patchGridOptionsProperty(propertyName, value) {
53
+ var _a;
54
+ // @ts-ignore this is required to set gridOptions peroperties which are marked as initial (writable once, before grid is initialised)
55
+ const gos = (_a = this.agGridAdapter.getAgGridApi()) === null || _a === void 0 ? void 0 : _a.gos;
56
+ if (gos) {
57
+ gos.updateGridOptions({
58
+ options: {
59
+ [propertyName]: value,
60
+ },
61
+ source: 'api',
62
+ });
63
+ }
64
+ }
65
+ revertGridOptionsPropertiesToUserValue(gridOptions, propertyNames) {
66
+ for (const propertyName of propertyNames) {
67
+ // see this.setGridOptionsProperty(...)
68
+ const userKey = `user.${propertyName}`;
69
+ const userValue = this.gridOptionsPropertyCache.get(userKey);
70
+ gridOptions[propertyName] = userValue;
71
+ }
72
+ }
73
+ get agGridAdapter() {
74
+ return this.adaptableInstance.agGridAdapter;
75
+ }
76
+ }
@@ -7,7 +7,7 @@ export const getBadgeRendererForColumn = (styledColumn, abColumn, api) => {
7
7
  }
8
8
  return class BadgetRenderer {
9
9
  getAdaptableInstance(params) {
10
- const adaptable = params.api.__adaptable;
10
+ const adaptable = params.context.__adaptable;
11
11
  return adaptable;
12
12
  }
13
13
  init(params) {
@@ -65,7 +65,7 @@ export class CheckboxEditor {
65
65
  // however, using ReactUI makes some race conditions possible, in which cases the editor will be displayed for a few milliseconds
66
66
  // we provide this logic for those few cases (to avoid a flicker effect)
67
67
  init(params) {
68
- const adaptable = params.api.__adaptable;
68
+ const adaptable = params.context.__adaptable;
69
69
  const inputElement = document.createElement('input');
70
70
  inputElement.type = 'checkbox';
71
71
  inputElement.checked = params.value;
@@ -1,2 +1,2 @@
1
- import { Adaptable } from './Adaptable';
2
- export declare let FilterWrapperFactory: (adaptable: Adaptable) => any;
1
+ import { AdaptableAgGrid } from './AdaptableAgGrid';
2
+ export declare const FilterWrapperFactory: (adaptable: AdaptableAgGrid) => any;
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { forwardRef, useImperativeHandle, useState } from 'react';
3
3
  import { FilterFormReact } from '../View/Components/FilterForm/FilterForm';
4
- export let FilterWrapperFactory = (adaptable) => {
4
+ export const FilterWrapperFactory = (adaptable) => {
5
5
  function isFilterActive(colId) {
6
6
  // we need this here
7
7
  if (adaptable.isDestroyed) {
@@ -1,16 +1,16 @@
1
1
  import { GridOptions } from '@ag-grid-community/core';
2
2
  export declare const attachColumnTypes: (gridOptions: GridOptions) => {
3
- [key: string]: import("@ag-grid-community/core").ColDef<any, any>;
3
+ [key: string]: import("@ag-grid-community/core").ColTypeDef<any, any>;
4
4
  } & {
5
- [x: string]: import("@ag-grid-community/core").ColDef<any, any>;
6
- abColDefNumber: import("@ag-grid-community/core").ColDef<any, any>;
7
- abColDefString: import("@ag-grid-community/core").ColDef<any, any>;
8
- abColDefBoolean: import("@ag-grid-community/core").ColDef<any, any>;
9
- abColDefDate: import("@ag-grid-community/core").ColDef<any, any>;
10
- abColDefObject: import("@ag-grid-community/core").ColDef<any, any>;
11
- abColDefCustom: import("@ag-grid-community/core").ColDef<any, any>;
12
- abColDefStringArray: import("@ag-grid-community/core").ColDef<any, any>;
13
- abColDefNumberArray: import("@ag-grid-community/core").ColDef<any, any>;
14
- abColDefTupleNumberArray: import("@ag-grid-community/core").ColDef<any, any>;
15
- abColDefObjectNumberArray: import("@ag-grid-community/core").ColDef<any, any>;
5
+ [x: string]: import("@ag-grid-community/core").ColTypeDef<any, any>;
6
+ abColDefNumber: import("@ag-grid-community/core").ColTypeDef<any, any>;
7
+ abColDefString: import("@ag-grid-community/core").ColTypeDef<any, any>;
8
+ abColDefBoolean: import("@ag-grid-community/core").ColTypeDef<any, any>;
9
+ abColDefDate: import("@ag-grid-community/core").ColTypeDef<any, any>;
10
+ abColDefObject: import("@ag-grid-community/core").ColTypeDef<any, any>;
11
+ abColDefCustom: import("@ag-grid-community/core").ColTypeDef<any, any>;
12
+ abColDefStringArray: import("@ag-grid-community/core").ColTypeDef<any, any>;
13
+ abColDefNumberArray: import("@ag-grid-community/core").ColTypeDef<any, any>;
14
+ abColDefTupleNumberArray: import("@ag-grid-community/core").ColTypeDef<any, any>;
15
+ abColDefObjectNumberArray: import("@ag-grid-community/core").ColTypeDef<any, any>;
16
16
  };
@@ -0,0 +1,3 @@
1
+ import { AdaptableOptions } from '../AdaptableOptions/AdaptableOptions';
2
+ export declare function applyDefaultAdaptableOptions(adaptableOptions: AdaptableOptions): AdaptableOptions;
3
+ export declare const getDefaultAdaptableOptions: () => AdaptableOptions<any>;
@@ -1,11 +1,11 @@
1
- import * as GeneralConstants from '../Constants/GeneralConstants';
2
- import { EMPTY_ARRAY } from '../Constants/GeneralConstants';
3
- import UIHelper, { getHexForName, GRAY, GREEN, RED } from '../../View/UIHelper';
4
- import { SystemAlertPredicateIds, SystemBadgeStylePredicateIds, SystemFilterPredicateIds, SystemFlashingCellPredicateIds, SystemFormatColumnPredicateIds, } from '../../PredefinedConfig/Common/AdaptablePredicate';
5
- import { ExportDestination } from '../../PredefinedConfig/Common/Enums';
6
- import * as ModuleConstants from '../../Utilities/Constants/ModuleConstants';
7
- // change type to DeepRequired<AdaptableOptions> to check which properties have no default values defined
8
- export const DefaultAdaptableOptions = {
1
+ import * as GeneralConstants from '../Utilities/Constants/GeneralConstants';
2
+ import UIHelper, { getHexForName, GRAY, GREEN, RED } from '../View/UIHelper';
3
+ import { EMPTY_ARRAY } from '../Utilities/Constants/GeneralConstants';
4
+ import { ExportDestination } from '../PredefinedConfig/Common/Enums';
5
+ import { SystemAlertPredicateIds, SystemBadgeStylePredicateIds, SystemFilterPredicateIds, SystemFlashingCellPredicateIds, SystemFormatColumnPredicateIds, } from '../PredefinedConfig/Common/AdaptablePredicate';
6
+ import * as ModuleConstants from '../Utilities/Constants/ModuleConstants';
7
+ import { initPredefinedConfigWithUuids } from '../Utilities/Helpers/AdaptableHelper';
8
+ const DefaultAdaptableOptions = {
9
9
  adaptableId: GeneralConstants.ADAPTABLE_ID,
10
10
  adaptableStateKey: undefined,
11
11
  primaryKey: '',
@@ -143,7 +143,6 @@ export const DefaultAdaptableOptions = {
143
143
  customSortOptions: { customSortComparers: undefined },
144
144
  dataSetOptions: { dataSets: EMPTY_ARRAY },
145
145
  groupingOptions: {
146
- showGroupingTotalsAsHeader: false,
147
146
  balancedGroupsKey: undefined,
148
147
  restoreUngroupedColumns: false,
149
148
  autoOrderGroupedColumns: true,
@@ -169,13 +168,6 @@ export const DefaultAdaptableOptions = {
169
168
  menuOptions: {
170
169
  customColumnMenu: undefined,
171
170
  customContextMenu: undefined,
172
- showAdaptableContextMenu: true,
173
- showAdaptableColumnMenu: true,
174
- showUngroupColumnMenuItem: true,
175
- columnMenuOrder: ['aggrid', 'adaptable', 'user'],
176
- contextMenuOrder: ['aggrid', 'adaptable', 'user'],
177
- columnMenuItems: undefined,
178
- contextMenuItems: undefined,
179
171
  },
180
172
  columnFilterOptions: {
181
173
  quickFilterOptions: {
@@ -197,7 +189,7 @@ export const DefaultAdaptableOptions = {
197
189
  sortValuesFilter: false,
198
190
  filterValuesUsingTime: false,
199
191
  showDistinctFilteredValuesOnly: false,
200
- maxFilterValuesToDisplay: 2000,
192
+ maxFilterValuesToDisplay: undefined,
201
193
  includeBlankFilterValues: false,
202
194
  showValuesCount: undefined,
203
195
  },
@@ -219,6 +211,7 @@ export const DefaultAdaptableOptions = {
219
211
  enableFilterOnSpecialColumns: true,
220
212
  showClearFilterButton: false,
221
213
  showSuspendFilterButton: false,
214
+ showDatePicker: true,
222
215
  },
223
216
  gridFilterOptions: {
224
217
  availableFilterEditors: ['ExpressionEditor', 'QueryBuilder'],
@@ -250,6 +243,7 @@ export const DefaultAdaptableOptions = {
250
243
  loadState: undefined,
251
244
  persistState: undefined,
252
245
  clearState: undefined,
246
+ autoMigrateState: true,
253
247
  },
254
248
  teamSharingOptions: {
255
249
  enableTeamSharing: false,
@@ -268,6 +262,9 @@ export const DefaultAdaptableOptions = {
268
262
  useCustomMacLikeScrollbars: false,
269
263
  englishVariant: 'GB',
270
264
  showLoadingScreen: true,
265
+ loadingScreenDelay: 200,
266
+ loadingScreenTitle: 'Initialising Grid',
267
+ loadingScreenText: 'Retrieving your settings and setting up the grid...',
271
268
  disableDeleteConfirmation: false,
272
269
  dateInputOptions: {
273
270
  useNativeInput: false,
@@ -325,3 +322,60 @@ export const DefaultAdaptableOptions = {
325
322
  },
326
323
  },
327
324
  };
325
+ export function applyDefaultAdaptableOptions(adaptableOptions) {
326
+ var _a;
327
+ const adaptableOptsWithDefaults = Object.assign({}, DefaultAdaptableOptions, adaptableOptions);
328
+ adaptableOptsWithDefaults.adaptableStateKey =
329
+ (_a = adaptableOptsWithDefaults.adaptableStateKey) !== null && _a !== void 0 ? _a : adaptableOptsWithDefaults.adaptableId;
330
+ adaptableOptsWithDefaults.dataImportOptions = Object.assign({}, DefaultAdaptableOptions.dataImportOptions, adaptableOptions.dataImportOptions);
331
+ adaptableOptsWithDefaults.expressionOptions = Object.assign({}, DefaultAdaptableOptions.expressionOptions, adaptableOptions.expressionOptions);
332
+ adaptableOptsWithDefaults.calendarOptions = Object.assign({}, DefaultAdaptableOptions.calendarOptions, adaptableOptions.calendarOptions);
333
+ adaptableOptsWithDefaults.columnOptions = Object.assign({}, DefaultAdaptableOptions.columnOptions, adaptableOptions.columnOptions);
334
+ adaptableOptsWithDefaults.customSortOptions = Object.assign({}, DefaultAdaptableOptions.customSortOptions, adaptableOptions.customSortOptions);
335
+ adaptableOptsWithDefaults.dataSetOptions = Object.assign({}, DefaultAdaptableOptions.dataSetOptions, adaptableOptions.dataSetOptions);
336
+ adaptableOptsWithDefaults.cellSummaryOptions = Object.assign({}, DefaultAdaptableOptions.cellSummaryOptions, adaptableOptions.cellSummaryOptions);
337
+ adaptableOptsWithDefaults.predicateOptions = Object.assign({}, DefaultAdaptableOptions.predicateOptions, adaptableOptsWithDefaults.predicateOptions);
338
+ adaptableOptsWithDefaults.layoutOptions = Object.assign({}, DefaultAdaptableOptions.layoutOptions, adaptableOptions.layoutOptions);
339
+ adaptableOptsWithDefaults.notificationsOptions = Object.assign({}, DefaultAdaptableOptions.notificationsOptions, adaptableOptions.notificationsOptions);
340
+ adaptableOptsWithDefaults.alertOptions = Object.assign({}, DefaultAdaptableOptions.alertOptions, adaptableOptions.alertOptions);
341
+ adaptableOptsWithDefaults.flashingCellOptions = Object.assign({}, DefaultAdaptableOptions.flashingCellOptions, adaptableOptions.flashingCellOptions);
342
+ adaptableOptsWithDefaults.entitlementOptions = Object.assign({}, DefaultAdaptableOptions.entitlementOptions, adaptableOptions.entitlementOptions);
343
+ adaptableOptsWithDefaults.dashboardOptions = Object.assign({}, DefaultAdaptableOptions.dashboardOptions, adaptableOptions.dashboardOptions);
344
+ adaptableOptsWithDefaults.editOptions = Object.assign({}, DefaultAdaptableOptions.editOptions, adaptableOptions.editOptions);
345
+ adaptableOptsWithDefaults.actionColumnOptions = Object.assign({}, DefaultAdaptableOptions.actionColumnOptions, adaptableOptions.actionColumnOptions);
346
+ // to do
347
+ adaptableOptsWithDefaults.actionRowOptions = Object.assign({}, DefaultAdaptableOptions.actionRowOptions, adaptableOptions.actionRowOptions);
348
+ adaptableOptsWithDefaults.actionRowOptions.actionRowButtonOptions = Object.assign({}, DefaultAdaptableOptions.actionRowOptions.actionRowButtonOptions, adaptableOptsWithDefaults.actionRowOptions.actionRowButtonOptions);
349
+ adaptableOptsWithDefaults.actionRowOptions.actionRowFormOptions = Object.assign({}, DefaultAdaptableOptions.actionRowOptions.actionRowFormOptions, adaptableOptsWithDefaults.actionRowOptions.actionRowFormOptions);
350
+ adaptableOptsWithDefaults.containerOptions = Object.assign({}, DefaultAdaptableOptions.containerOptions, adaptableOptions.containerOptions);
351
+ adaptableOptsWithDefaults.groupingOptions = Object.assign({}, DefaultAdaptableOptions.groupingOptions, adaptableOptions.groupingOptions);
352
+ adaptableOptsWithDefaults.quickSearchOptions = Object.assign({}, DefaultAdaptableOptions.quickSearchOptions, adaptableOptions.quickSearchOptions);
353
+ adaptableOptsWithDefaults.columnFilterOptions = Object.assign({}, DefaultAdaptableOptions.columnFilterOptions, adaptableOptions.columnFilterOptions);
354
+ adaptableOptsWithDefaults.columnFilterOptions.quickFilterOptions = Object.assign({}, DefaultAdaptableOptions.columnFilterOptions.quickFilterOptions, adaptableOptsWithDefaults.columnFilterOptions.quickFilterOptions);
355
+ adaptableOptsWithDefaults.columnFilterOptions.filterFormOptions = Object.assign({}, DefaultAdaptableOptions.columnFilterOptions.filterFormOptions, adaptableOptsWithDefaults.columnFilterOptions.filterFormOptions);
356
+ adaptableOptsWithDefaults.columnFilterOptions.valuesFilterOptions = Object.assign({}, DefaultAdaptableOptions.columnFilterOptions.valuesFilterOptions, adaptableOptsWithDefaults.columnFilterOptions.valuesFilterOptions);
357
+ adaptableOptsWithDefaults.gridFilterOptions = Object.assign({}, DefaultAdaptableOptions.gridFilterOptions, adaptableOptions.gridFilterOptions);
358
+ adaptableOptsWithDefaults.userInterfaceOptions = Object.assign({}, DefaultAdaptableOptions.userInterfaceOptions, adaptableOptions.userInterfaceOptions);
359
+ adaptableOptsWithDefaults.userInterfaceOptions.dateInputOptions = Object.assign({}, DefaultAdaptableOptions.userInterfaceOptions.dateInputOptions, adaptableOptsWithDefaults.userInterfaceOptions.dateInputOptions);
360
+ adaptableOptsWithDefaults.menuOptions = Object.assign({}, DefaultAdaptableOptions.menuOptions, adaptableOptions.menuOptions);
361
+ adaptableOptsWithDefaults.stateOptions = Object.assign({}, DefaultAdaptableOptions.stateOptions, adaptableOptions.stateOptions);
362
+ adaptableOptsWithDefaults.exportOptions = Object.assign({}, DefaultAdaptableOptions.exportOptions, adaptableOptions.exportOptions);
363
+ adaptableOptsWithDefaults.teamSharingOptions = Object.assign({}, DefaultAdaptableOptions.teamSharingOptions, adaptableOptions.teamSharingOptions);
364
+ adaptableOptsWithDefaults.toolPanelOptions = Object.assign({}, DefaultAdaptableOptions.toolPanelOptions, adaptableOptions.toolPanelOptions);
365
+ adaptableOptsWithDefaults.dataChangeHistoryOptions = Object.assign({}, DefaultAdaptableOptions.dataChangeHistoryOptions, adaptableOptions.dataChangeHistoryOptions);
366
+ adaptableOptsWithDefaults.chartingOptions = Object.assign({}, DefaultAdaptableOptions.chartingOptions, adaptableOptions.chartingOptions);
367
+ adaptableOptsWithDefaults.chartingOptions.externalChartingOptions = Object.assign({}, DefaultAdaptableOptions.chartingOptions.externalChartingOptions, adaptableOptsWithDefaults.chartingOptions.externalChartingOptions);
368
+ adaptableOptsWithDefaults.settingsPanelOptions = Object.assign({}, DefaultAdaptableOptions.settingsPanelOptions, adaptableOptions.settingsPanelOptions);
369
+ adaptableOptsWithDefaults.fdc3Options = Object.assign({}, DefaultAdaptableOptions.fdc3Options, adaptableOptions.fdc3Options);
370
+ adaptableOptsWithDefaults.fdc3Options.actionColumnDefaultConfiguration = Object.assign({}, DefaultAdaptableOptions.fdc3Options.actionColumnDefaultConfiguration, adaptableOptsWithDefaults.fdc3Options.actionColumnDefaultConfiguration);
371
+ adaptableOptsWithDefaults.fdc3Options.uiControlsDefaultConfiguration = Object.assign({}, DefaultAdaptableOptions.fdc3Options.uiControlsDefaultConfiguration, adaptableOptsWithDefaults.fdc3Options.uiControlsDefaultConfiguration);
372
+ const { predefinedConfig } = adaptableOptsWithDefaults;
373
+ if (predefinedConfig) {
374
+ adaptableOptsWithDefaults.predefinedConfig =
375
+ typeof predefinedConfig === 'string'
376
+ ? predefinedConfig
377
+ : initPredefinedConfigWithUuids(predefinedConfig);
378
+ }
379
+ return adaptableOptsWithDefaults;
380
+ }
381
+ export const getDefaultAdaptableOptions = () => DefaultAdaptableOptions;
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { ICellEditorParams, ICellEditorComp } from '@ag-grid-community/core';
2
+ import { ICellEditorComp, ICellEditorParams } from '@ag-grid-community/core';
3
3
  import { IAdaptable } from '../../../AdaptableInterfaces/IAdaptable';
4
4
  export declare const ReactAdaptableDateEditor: React.ForwardRefExoticComponent<ICellEditorParams<any, any, any> & {
5
5
  showClearButton?: boolean;
@@ -2,8 +2,8 @@ import * as React from 'react';
2
2
  import { renderWithAdaptableContext } from '../../../View/renderWithAdaptableContext';
3
3
  import { InternalAdaptableDateEditor, } from './InternalAdaptableDateEditor';
4
4
  import { KeyCode, } from '@ag-grid-community/core';
5
- import { DateFormatter } from '../../../Utilities/Helpers/FormatHelper';
6
5
  import { forwardRef, useImperativeHandle, useRef, useState } from 'react';
6
+ import { DateFormatter } from '../../../Utilities/Helpers/FormatHelper';
7
7
  function shouldClearExistingValue(params) {
8
8
  return params.eventKey === KeyCode.BACKSPACE || params.eventKey === KeyCode.DELETE;
9
9
  }
@@ -29,7 +29,7 @@ export const ReactAdaptableDateEditor = forwardRef((props, ref) => {
29
29
  const valueRef = useRef(initialValue);
30
30
  const colValueParser = props.column.getColDef().valueParser;
31
31
  const valueParser = typeof colValueParser === 'function' ? colValueParser : defaultDateValueParser;
32
- const adaptable = props.api.__adaptable;
32
+ const adaptable = props.context.__adaptable;
33
33
  const editorRef = useRef(null);
34
34
  useImperativeHandle(ref, () => {
35
35
  return {
@@ -135,7 +135,7 @@ export class AdaptableDateEditor {
135
135
  }
136
136
  focusOut() { }
137
137
  getAdaptableInstance(params) {
138
- const adaptable = params.api.__adaptable;
138
+ const adaptable = params.context.__adaptable;
139
139
  return adaptable;
140
140
  }
141
141
  // after this component has been created and inserted into the grid