@adaptabletools/adaptable-cjs 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 (369) hide show
  1. package/agGrid.d.ts +4 -21
  2. package/agGrid.js +5 -21
  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 +72 -75
  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 +45 -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 +119 -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 +72 -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 +18 -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 +61 -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 +18 -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 +8 -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 +5 -1
  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 +98 -0
  110. package/src/PredefinedConfig/Common/RowSummary.d.ts +21 -0
  111. package/src/PredefinedConfig/Common/RowSummary.js +20 -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 +34 -11
  122. package/src/Redux/ActionsReducers/NoteRedux.d.ts +38 -0
  123. package/src/Redux/ActionsReducers/NoteRedux.js +89 -0
  124. package/src/Redux/ActionsReducers/SystemRedux.d.ts +6 -1
  125. package/src/Redux/ActionsReducers/SystemRedux.js +19 -6
  126. package/src/Redux/Store/AdaptableStore.d.ts +4 -6
  127. package/src/Redux/Store/AdaptableStore.js +66 -76
  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} +19 -25
  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 +62 -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 +3 -2
  192. package/src/Utilities/Constants/ModuleConstants.d.ts +6 -6
  193. package/src/Utilities/Constants/ModuleConstants.js +7 -7
  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 +430 -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 +6 -1
  203. package/src/Utilities/Helpers/AdaptableHelper.d.ts +3 -4
  204. package/src/Utilities/Helpers/AdaptableHelper.js +20 -60
  205. package/src/Utilities/Helpers/Helper.d.ts +2 -0
  206. package/src/Utilities/Helpers/Helper.js +6 -1
  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 -186
  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 +18 -0
  229. package/src/Utilities/license/decode.js +1 -70
  230. package/src/Utilities/license/hashing.js +1 -47
  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 +46 -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 +4 -1
  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 +200 -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 +181 -0
  274. package/src/View/License/LicenseWatermark.js +1 -66
  275. package/src/View/Note/NotePopup.d.ts +2 -0
  276. package/src/View/{Notes/NotesPopup.js → Note/NotePopup.js} +19 -19
  277. package/src/View/SpecialColumnSettingsWizardStep.js +4 -4
  278. package/src/View/Theme/ThemeSelector.js +2 -2
  279. package/src/agGrid/ActionColumnRenderer.js +7 -6
  280. package/src/agGrid/Adaptable.d.ts +3 -455
  281. package/src/agGrid/Adaptable.js +7 -5291
  282. package/src/agGrid/AdaptableAgGrid.d.ts +354 -0
  283. package/src/agGrid/AdaptableAgGrid.js +3972 -0
  284. package/src/agGrid/AdaptableLogger.js +78 -13
  285. package/src/agGrid/AgGridAdapter.d.ts +64 -0
  286. package/src/agGrid/AgGridAdapter.js +590 -0
  287. package/src/agGrid/AgGridColumnAdapter.d.ts +56 -0
  288. package/src/agGrid/AgGridColumnAdapter.js +836 -0
  289. package/src/agGrid/AgGridMenuAdapter.d.ts +28 -0
  290. package/src/agGrid/AgGridMenuAdapter.js +282 -0
  291. package/src/agGrid/AgGridOptionsService.d.ts +15 -0
  292. package/src/agGrid/AgGridOptionsService.js +80 -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} +74 -18
  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 +1 -56
  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 +3 -17
  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 +6 -4
  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 +7 -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 -9316
  327. package/src/migration/AdaptableUpgradeHelper.d.ts +38 -0
  328. package/src/migration/AdaptableUpgradeHelper.js +52 -0
  329. package/src/migration/VersionUpgrade.d.ts +8 -0
  330. package/src/migration/VersionUpgrade.js +15 -0
  331. package/src/migration/VersionUpgrade17.d.ts +18 -0
  332. package/src/migration/VersionUpgrade17.js +347 -0
  333. package/src/migration/VersionUpgrade18.d.ts +5 -0
  334. package/src/migration/VersionUpgrade18.js +10 -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.cjs.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 -44
  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 -5
  348. package/src/Redux/ActionsReducers/NotesRedux.d.ts +0 -39
  349. package/src/Redux/ActionsReducers/NotesRedux.js +0 -87
  350. package/src/Strategy/NotesModule.js +0 -62
  351. package/src/Utilities/Defaults/DefaultAdaptableOptions.d.ts +0 -2
  352. package/src/Utilities/Services/Interface/IRowEditService.d.ts +0 -3
  353. package/src/View/Components/ScopeComponent.d.ts +0 -24
  354. package/src/View/Components/ScopeComponent.js +0 -138
  355. package/src/View/Export/Wizard/ReportScopeWizard.d.ts +0 -17
  356. package/src/View/Export/Wizard/ReportScopeWizard.js +0 -52
  357. package/src/View/Notes/NotesPopup.d.ts +0 -2
  358. package/src/agGrid/agGridHelper.d.ts +0 -57
  359. package/src/agGrid/agGridHelper.js +0 -691
  360. package/src/agGrid/agGridMenuHelper.d.ts +0 -46
  361. package/src/agGrid/agGridMenuHelper.js +0 -673
  362. /package/src/AdaptableOptions/{CommentsOptions.js → CommentOptions.js} +0 -0
  363. /package/src/AdaptableOptions/{NotesOptions.js → NoteOptions.js} +0 -0
  364. /package/src/Api/Events/{CommentsChangedInfo.js → CommentChanged.js} +0 -0
  365. /package/src/Api/{NotesApi.js → NoteApi.js} +0 -0
  366. /package/src/PredefinedConfig/{NotesState.js → Common/TransposeConfig.js} +0 -0
  367. /package/src/{Utilities/Services/Interface/IRowEditService.js → PredefinedConfig/NoteState.js} +0 -0
  368. /package/src/View/{Notes → Note}/NoteEditor.d.ts +0 -0
  369. /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,282 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AgGridMenuAdapter = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const MenuOptions_1 = require("../AdaptableOptions/MenuOptions");
6
+ const Icon_1 = require("../components/Icon");
7
+ const icons_1 = require("../components/icons");
8
+ const ArrayExtensions_1 = tslib_1.__importDefault(require("../Utilities/Extensions/ArrayExtensions"));
9
+ class AgGridMenuAdapter {
10
+ constructor(adaptableInstance) {
11
+ this.adaptableInstance = adaptableInstance;
12
+ }
13
+ get adaptableOptions() {
14
+ return this.adaptableInstance.adaptableOptions;
15
+ }
16
+ get adaptableApi() {
17
+ return this.adaptableInstance.api;
18
+ }
19
+ destroy() {
20
+ this.adaptableInstance = null;
21
+ }
22
+ buildColumnMenu(params, originalGetMainMenuItems) {
23
+ var _a;
24
+ const menuOptions = this.adaptableOptions.menuOptions;
25
+ const agGridMenuItems = (params.defaultItems ? [...params.defaultItems] : []);
26
+ if (!params.column) {
27
+ // return only AG Grid context if the Adaptable column is not found (should not happen)
28
+ return agGridMenuItems;
29
+ }
30
+ const adaptableColumn = this.adaptableApi.columnApi.getColumnWithColumnId((_a = params.column) === null || _a === void 0 ? void 0 : _a.getColId());
31
+ const menuContext = this.createColumnMenuContextObject(adaptableColumn, params.column);
32
+ const { adaptableMenuItems, structuredAdaptableMenuItems } = this.buildStructuredAdaptableColumnItems(menuContext);
33
+ // 1. first check if there is a custom column menu defined
34
+ if (typeof menuOptions.customColumnMenu === 'function') {
35
+ const defaultAgGridMenuItems = agGridMenuItems.map((itemName) => ({
36
+ menuType: 'AgGrid',
37
+ name: itemName,
38
+ }));
39
+ const defaultAdaptableMenuItems = adaptableMenuItems.map((adaptableItem) => (Object.assign({ menuType: 'Adaptable' }, adaptableItem)));
40
+ const customMenuItems = menuOptions
41
+ .customColumnMenu(Object.assign(Object.assign({}, menuContext), { defaultAgGridMenuItems,
42
+ defaultAdaptableMenuItems, structuredAdaptableMenuItems: this.mapAdaptableMenuItemToSystemMenuItems(structuredAdaptableMenuItems) }))
43
+ .filter(Boolean);
44
+ return customMenuItems
45
+ .map((customMenuItem) => this.mapCustomMenuItemToAgGridMenuDefinition(customMenuItem, menuContext))
46
+ .filter(Boolean);
47
+ }
48
+ // 2. if not, return the default context menu
49
+ const defaultContextMenu = [
50
+ ...agGridMenuItems,
51
+ 'separator',
52
+ ...structuredAdaptableMenuItems.map((adaptableItem) => this.mapAdaptableMenuItemToAgGridMenuDefinition(adaptableItem)),
53
+ ];
54
+ return defaultContextMenu;
55
+ }
56
+ buildStructuredAdaptableColumnItems(menuContext) {
57
+ const adaptableMenuItems = this.createAdaptableColumnMenuItems(menuContext);
58
+ // sort Adaptable menu items by default order
59
+ const structuredAdaptableMenuItems = this.buildGroupedModuleItems(MenuOptions_1.DEFAULT_ADAPTABLE_COLUMN_MENU_STRUCTURE, adaptableMenuItems);
60
+ return { adaptableMenuItems, structuredAdaptableMenuItems };
61
+ }
62
+ buildContextMenu(params, originalGetContextMenuItems) {
63
+ var _a;
64
+ // we do this in order to refresh the internal state of selected cells (technically query the AG Grid cellRanges)
65
+ // (right-click selected the current cell, but this was not reflected in the internal state of the selected cells)
66
+ this.adaptableInstance.refreshSelectedCellsState();
67
+ const menuOptions = this.adaptableOptions.menuOptions;
68
+ const agGridMenuItems = (params.defaultItems ? [...params.defaultItems] : []);
69
+ if (!params.column) {
70
+ // return only AG Grid context if the Adaptable column is not found (should not happen)
71
+ return agGridMenuItems;
72
+ }
73
+ const adaptableColumn = this.adaptableApi.columnApi.getColumnWithColumnId((_a = params.column) === null || _a === void 0 ? void 0 : _a.getColId());
74
+ const menuContext = this.createContextMenuContextObject(params, adaptableColumn);
75
+ const adaptableMenuItems = this.createAdaptableContextMenuItems(menuContext);
76
+ // sort Adaptable menu items by default order
77
+ const structuredAdaptableMenuItems = this.buildGroupedModuleItems(MenuOptions_1.DEFAULT_ADAPTABLE_CONTEXT_MENU_STRUCTURE, adaptableMenuItems);
78
+ // 1. first check if there is a custom context menu defined
79
+ if (typeof menuOptions.customContextMenu === 'function') {
80
+ const defaultAgGridMenuItems = agGridMenuItems.map((itemName) => ({
81
+ menuType: 'AgGrid',
82
+ name: itemName,
83
+ }));
84
+ const defaultAdaptableMenuItems = adaptableMenuItems.map((adaptableItem) => (Object.assign({ menuType: 'Adaptable' }, adaptableItem)));
85
+ const customMenuItems = menuOptions
86
+ .customContextMenu(Object.assign(Object.assign({}, menuContext), { defaultAgGridMenuItems,
87
+ defaultAdaptableMenuItems, structuredAdaptableMenuItems: this.mapAdaptableMenuItemToSystemMenuItems(structuredAdaptableMenuItems) }))
88
+ .filter(Boolean);
89
+ return customMenuItems
90
+ .map((customMenuItem) => this.mapCustomMenuItemToAgGridMenuDefinition(customMenuItem, menuContext))
91
+ .filter(Boolean);
92
+ }
93
+ // 2. if not, return the default context menu
94
+ const defaultContextMenu = [
95
+ ...agGridMenuItems,
96
+ 'separator',
97
+ ...structuredAdaptableMenuItems.map((adaptableItem) => this.mapAdaptableMenuItemToAgGridMenuDefinition(adaptableItem)),
98
+ ];
99
+ return defaultContextMenu;
100
+ }
101
+ createColumnMenuContextObject(adaptableColumn, agGridColumn) {
102
+ return Object.assign(Object.assign({}, this.adaptableInstance.api.internalApi.buildBaseContext()), { adaptableColumn: adaptableColumn, agGridColumn: agGridColumn, isRowGroupColumn: this.adaptableInstance.api.columnApi.isAutoRowGroupColumn(agGridColumn.getColId()) });
103
+ }
104
+ createAdaptableContextMenuItems(menuContext) {
105
+ let contextMenuItems = [];
106
+ this.adaptableInstance.adaptableModules.forEach((module) => {
107
+ let menuItems = module.addContextMenuItems(menuContext);
108
+ if (menuItems) {
109
+ contextMenuItems.push(...menuItems.filter(Boolean).filter((item) => item.isVisible !== false));
110
+ }
111
+ });
112
+ this.adaptableInstance._emitSync('CreateAdaptableContextMenuItems', {
113
+ items: contextMenuItems,
114
+ menuContext: menuContext,
115
+ });
116
+ return contextMenuItems;
117
+ }
118
+ createContextMenuContextObject(params, adaptableColumn) {
119
+ // lets build a picture of what has been right clicked. Will take time to get right but lets start
120
+ let isSingleSelectedColumn = false;
121
+ let isSelectedCell = false;
122
+ let isSelectedRow = false;
123
+ // row group columns dont provide an AdapTable Column so return bare minimum
124
+ if (!adaptableColumn) {
125
+ 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()) });
126
+ }
127
+ const clickedCell = this.adaptableInstance.getGridCellFromRowNode(params.node, adaptableColumn.columnId);
128
+ const selectedCellInfo = this.adaptableApi.gridApi.getSelectedCellInfo();
129
+ if (selectedCellInfo) {
130
+ let matchedCell = selectedCellInfo.gridCells.find((gc) => gc != null &&
131
+ gc.column == clickedCell.column &&
132
+ gc.primaryKeyValue == clickedCell.primaryKeyValue);
133
+ isSelectedCell = matchedCell != null;
134
+ if (isSelectedCell) {
135
+ isSingleSelectedColumn = ArrayExtensions_1.default.CorrectLength(selectedCellInfo.columns, 1);
136
+ }
137
+ }
138
+ const selectedRowInfo = this.adaptableApi.gridApi.getSelectedRowInfo();
139
+ if (selectedRowInfo) {
140
+ const matchedPKValue = selectedRowInfo.gridRows.find((gr) => gr != null && gr.primaryKeyValue == clickedCell.primaryKeyValue);
141
+ isSelectedRow = matchedPKValue != null;
142
+ }
143
+ 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()) });
144
+ }
145
+ mapAdaptableMenuItemToAgGridMenuDefinition(adaptableMenuItem) {
146
+ var _a;
147
+ return {
148
+ name: adaptableMenuItem.label,
149
+ action: adaptableMenuItem.onClick
150
+ ? adaptableMenuItem.onClick
151
+ : adaptableMenuItem.reduxAction
152
+ ? () => this.adaptableInstance.api.internalApi.dispatchReduxAction(adaptableMenuItem.reduxAction)
153
+ : undefined,
154
+ icon: this.mapAdaptableIconToAgGridIcon(adaptableMenuItem.icon, {
155
+ fill: 'var(--ab-color-text-on-primary)',
156
+ }),
157
+ subMenu: (_a = adaptableMenuItem.subItems) === null || _a === void 0 ? void 0 : _a.map((subMenuItem) => this.mapAdaptableMenuItemToAgGridMenuDefinition(subMenuItem)),
158
+ };
159
+ }
160
+ mapCustomMenuItemToAgGridMenuDefinition(customMenuItem, menuContext) {
161
+ var _a;
162
+ if (customMenuItem === '-') {
163
+ return 'separator';
164
+ }
165
+ if (customMenuItem.menuType === 'Group') {
166
+ return {
167
+ name: customMenuItem.label,
168
+ icon: this.mapAdaptableIconToAgGridIcon(customMenuItem.icon, {
169
+ fill: 'var(--ab-color-text-on-primary)',
170
+ }),
171
+ disabled: customMenuItem.disabled,
172
+ subMenu: !customMenuItem.disabled
173
+ ? (_a = customMenuItem.subMenuItems) === null || _a === void 0 ? void 0 : _a.map((subMenuItem) => this.mapCustomMenuItemToAgGridMenuDefinition(subMenuItem, menuContext)).filter(Boolean)
174
+ : undefined,
175
+ };
176
+ }
177
+ if (customMenuItem.menuType === 'AgGrid') {
178
+ return customMenuItem.name;
179
+ }
180
+ if (customMenuItem.menuType === 'Adaptable') {
181
+ return this.mapAdaptableMenuItemToAgGridMenuDefinition(customMenuItem);
182
+ }
183
+ if (customMenuItem.menuType === 'User') {
184
+ return this.mapUserMenuItemToAgGridMenuDefinition(customMenuItem, menuContext);
185
+ }
186
+ }
187
+ mapUserMenuItemToAgGridMenuDefinition(userMenuItem, menuContext) {
188
+ var _a;
189
+ if (userMenuItem.hidden) {
190
+ return;
191
+ }
192
+ return {
193
+ name: userMenuItem.label,
194
+ action: () => (userMenuItem.onClick ? userMenuItem.onClick(menuContext) : null),
195
+ icon: this.mapAdaptableIconToAgGridIcon(userMenuItem.icon, {
196
+ fill: 'var(--ab-color-text-on-primary)',
197
+ }),
198
+ disabled: userMenuItem.disabled,
199
+ subMenu: (_a = userMenuItem.subMenuItems) === null || _a === void 0 ? void 0 : _a.map((subMenuItem) => {
200
+ return this.mapCustomMenuItemToAgGridMenuDefinition(subMenuItem, menuContext);
201
+ }).filter(Boolean),
202
+ };
203
+ }
204
+ buildGroupedModuleItems(sortedMenuItems, adaptableMenuItems) {
205
+ return sortedMenuItems
206
+ .map((moduleOrGroup) => {
207
+ if (typeof moduleOrGroup === 'object') {
208
+ const submenuItems = this.buildGroupedModuleItems(moduleOrGroup.modules, adaptableMenuItems);
209
+ // if there is only one item in the submenu, we don't need to show the submenu
210
+ if (submenuItems.length === 1) {
211
+ return submenuItems[0];
212
+ }
213
+ return [
214
+ {
215
+ label: moduleOrGroup.title,
216
+ icon: moduleOrGroup.icon,
217
+ subItems: submenuItems,
218
+ },
219
+ ];
220
+ }
221
+ else {
222
+ return adaptableMenuItems.filter((menuItem) => menuItem.module === moduleOrGroup);
223
+ }
224
+ })
225
+ .filter((menuItems) => {
226
+ if (!menuItems.length) {
227
+ return false;
228
+ }
229
+ if (menuItems.length === 1) {
230
+ const singleMenuItem = menuItems[0];
231
+ if (singleMenuItem.subItems && singleMenuItem.subItems.length === 0) {
232
+ return false;
233
+ }
234
+ }
235
+ return true;
236
+ })
237
+ .flat();
238
+ }
239
+ mapAdaptableMenuItemToSystemMenuItems(adaptableMenuItems) {
240
+ return (adaptableMenuItems !== null && adaptableMenuItems !== void 0 ? adaptableMenuItems : []).map((menuItem) => {
241
+ let subItems = menuItem.subItems;
242
+ if (subItems && subItems.length > 0) {
243
+ subItems = subItems.map((subItem) => this.mapAdaptableMenuItemToSystemMenuItems(subItem.subItems));
244
+ }
245
+ return Object.assign(Object.assign({}, menuItem), { menuType: 'Adaptable', subItems });
246
+ });
247
+ }
248
+ createAdaptableColumnMenuItems(menuContext) {
249
+ let contextMenuItems = [];
250
+ this.adaptableInstance.adaptableModules.forEach((s) => {
251
+ let menuItems = s.addColumnMenuItems(menuContext.adaptableColumn);
252
+ if (menuItems) {
253
+ contextMenuItems.push(...menuItems.filter(Boolean).filter((item) => item.isVisible !== false));
254
+ }
255
+ });
256
+ return contextMenuItems;
257
+ }
258
+ // TODO AFL MIG: pretty sure this logic is duplicated in several other places
259
+ mapAdaptableIconToAgGridIcon(adaptableIcon, style) {
260
+ const icon = this.adaptableInstance.api.userInterfaceApi.internalApi.prepareAdaptableIconDef(adaptableIcon);
261
+ if ((0, Icon_1.isAdaptableElementIcon)(icon)) {
262
+ let element = icon.element;
263
+ if (typeof element === 'string') {
264
+ return element;
265
+ }
266
+ // THe element neets to be cloned.
267
+ // when it is used in more than one plce the element is removed from the DOM
268
+ return element.cloneNode(true);
269
+ }
270
+ else {
271
+ return (0, icons_1.iconToString)(icon, {
272
+ fill: 'var(--ab-color-text-on-primary)',
273
+ });
274
+ }
275
+ }
276
+ buildStandaloneColumnHeader(adaptableColumn) {
277
+ const agGridColumn = this.adaptableInstance.getAgGridColumnForColumnId(adaptableColumn.columnId);
278
+ const menuContext = this.createColumnMenuContextObject(adaptableColumn, agGridColumn);
279
+ return this.buildStructuredAdaptableColumnItems(menuContext).adaptableMenuItems;
280
+ }
281
+ }
282
+ exports.AgGridMenuAdapter = AgGridMenuAdapter;
@@ -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,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AgGridOptionsService = void 0;
4
+ class AgGridOptionsService {
5
+ constructor(adaptableInstance) {
6
+ this.adaptableInstance = adaptableInstance;
7
+ this.gridOptionsPropertyCache = new Map();
8
+ this.colDefPropertyCache = new Map();
9
+ }
10
+ destroy() {
11
+ this.gridOptionsPropertyCache.clear();
12
+ this.colDefPropertyCache.clear();
13
+ this.gridOptionsPropertyCache = null;
14
+ this.colDefPropertyCache = null;
15
+ }
16
+ setGridOptionsProperty(gridOptions, propertyName, propertyGetter) {
17
+ if (this.adaptableInstance.lifecycleState === 'preDestroyed') {
18
+ return;
19
+ }
20
+ const userKey = `user.${propertyName}`;
21
+ const adaptableKey = `adaptable.${propertyName}`;
22
+ const value = gridOptions[propertyName];
23
+ const isUserDefined = value !== this.gridOptionsPropertyCache.get(adaptableKey);
24
+ if (isUserDefined) {
25
+ this.gridOptionsPropertyCache.set(userKey, value);
26
+ }
27
+ const userValue = this.gridOptionsPropertyCache.get(userKey);
28
+ let adaptableValue = propertyGetter(userValue);
29
+ if (typeof adaptableValue === 'function') {
30
+ const previousValue = adaptableValue;
31
+ // @ts-ignore we know that adaptableValue is a function
32
+ adaptableValue = (...args) => {
33
+ if (this.adaptableInstance.isDestroyed) {
34
+ return;
35
+ }
36
+ this.agGridAdapter.grabAgGridApiOnTheFly(args);
37
+ return previousValue(...args);
38
+ };
39
+ }
40
+ if (adaptableValue != null) {
41
+ this.gridOptionsPropertyCache.set(adaptableKey, adaptableValue);
42
+ }
43
+ gridOptions[propertyName] = adaptableValue !== null && adaptableValue !== void 0 ? adaptableValue : userValue;
44
+ return gridOptions;
45
+ }
46
+ getUserGridOptionsProperty(propertyName) {
47
+ const userKey = `user.${propertyName}`;
48
+ return this.gridOptionsPropertyCache.get(userKey);
49
+ }
50
+ revertGridOptionsPropertyToUserValue(propertyName) {
51
+ const userKey = `user.${propertyName}`;
52
+ const userValue = this.gridOptionsPropertyCache.get(userKey);
53
+ this.agGridAdapter.setGridOption(propertyName, userValue);
54
+ }
55
+ CAREFUL_patchGridOptionsProperty(propertyName, value) {
56
+ var _a;
57
+ // @ts-ignore this is required to set gridOptions peroperties which are marked as initial (writable once, before grid is initialised)
58
+ const gos = (_a = this.agGridAdapter.getAgGridApi()) === null || _a === void 0 ? void 0 : _a.gos;
59
+ if (gos) {
60
+ gos.updateGridOptions({
61
+ options: {
62
+ [propertyName]: value,
63
+ },
64
+ source: 'api',
65
+ });
66
+ }
67
+ }
68
+ revertGridOptionsPropertiesToUserValue(gridOptions, propertyNames) {
69
+ for (const propertyName of propertyNames) {
70
+ // see this.setGridOptionsProperty(...)
71
+ const userKey = `user.${propertyName}`;
72
+ const userValue = this.gridOptionsPropertyCache.get(userKey);
73
+ gridOptions[propertyName] = userValue;
74
+ }
75
+ }
76
+ get agGridAdapter() {
77
+ return this.adaptableInstance.agGridAdapter;
78
+ }
79
+ }
80
+ exports.AgGridOptionsService = AgGridOptionsService;
@@ -11,7 +11,7 @@ const getBadgeRendererForColumn = (styledColumn, abColumn, api) => {
11
11
  }
12
12
  return class BadgetRenderer {
13
13
  getAdaptableInstance(params) {
14
- const adaptable = params.api.__adaptable;
14
+ const adaptable = params.context.__adaptable;
15
15
  return adaptable;
16
16
  }
17
17
  init(params) {
@@ -69,7 +69,7 @@ class CheckboxEditor {
69
69
  // however, using ReactUI makes some race conditions possible, in which cases the editor will be displayed for a few milliseconds
70
70
  // we provide this logic for those few cases (to avoid a flicker effect)
71
71
  init(params) {
72
- const adaptable = params.api.__adaptable;
72
+ const adaptable = params.context.__adaptable;
73
73
  const inputElement = document.createElement('input');
74
74
  inputElement.type = 'checkbox';
75
75
  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;
@@ -5,7 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const React = tslib_1.__importStar(require("react"));
6
6
  const react_1 = require("react");
7
7
  const FilterForm_1 = require("../View/Components/FilterForm/FilterForm");
8
- let FilterWrapperFactory = (adaptable) => {
8
+ const FilterWrapperFactory = (adaptable) => {
9
9
  function isFilterActive(colId) {
10
10
  // we need this here
11
11
  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,15 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DefaultAdaptableOptions = void 0;
3
+ exports.getDefaultAdaptableOptions = exports.applyDefaultAdaptableOptions = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const GeneralConstants = tslib_1.__importStar(require("../Constants/GeneralConstants"));
6
- const GeneralConstants_1 = require("../Constants/GeneralConstants");
7
- const UIHelper_1 = tslib_1.__importStar(require("../../View/UIHelper"));
8
- const AdaptablePredicate_1 = require("../../PredefinedConfig/Common/AdaptablePredicate");
9
- const Enums_1 = require("../../PredefinedConfig/Common/Enums");
10
- const ModuleConstants = tslib_1.__importStar(require("../../Utilities/Constants/ModuleConstants"));
11
- // change type to DeepRequired<AdaptableOptions> to check which properties have no default values defined
12
- exports.DefaultAdaptableOptions = {
5
+ const GeneralConstants = tslib_1.__importStar(require("../Utilities/Constants/GeneralConstants"));
6
+ const UIHelper_1 = tslib_1.__importStar(require("../View/UIHelper"));
7
+ const GeneralConstants_1 = require("../Utilities/Constants/GeneralConstants");
8
+ const Enums_1 = require("../PredefinedConfig/Common/Enums");
9
+ const AdaptablePredicate_1 = require("../PredefinedConfig/Common/AdaptablePredicate");
10
+ const ModuleConstants = tslib_1.__importStar(require("../Utilities/Constants/ModuleConstants"));
11
+ const AdaptableHelper_1 = require("../Utilities/Helpers/AdaptableHelper");
12
+ const DefaultAdaptableOptions = {
13
13
  adaptableId: GeneralConstants.ADAPTABLE_ID,
14
14
  adaptableStateKey: undefined,
15
15
  primaryKey: '',
@@ -147,7 +147,6 @@ exports.DefaultAdaptableOptions = {
147
147
  customSortOptions: { customSortComparers: undefined },
148
148
  dataSetOptions: { dataSets: GeneralConstants_1.EMPTY_ARRAY },
149
149
  groupingOptions: {
150
- showGroupingTotalsAsHeader: false,
151
150
  balancedGroupsKey: undefined,
152
151
  restoreUngroupedColumns: false,
153
152
  autoOrderGroupedColumns: true,
@@ -173,13 +172,6 @@ exports.DefaultAdaptableOptions = {
173
172
  menuOptions: {
174
173
  customColumnMenu: undefined,
175
174
  customContextMenu: undefined,
176
- showAdaptableContextMenu: true,
177
- showAdaptableColumnMenu: true,
178
- showUngroupColumnMenuItem: true,
179
- columnMenuOrder: ['aggrid', 'adaptable', 'user'],
180
- contextMenuOrder: ['aggrid', 'adaptable', 'user'],
181
- columnMenuItems: undefined,
182
- contextMenuItems: undefined,
183
175
  },
184
176
  columnFilterOptions: {
185
177
  quickFilterOptions: {
@@ -201,7 +193,7 @@ exports.DefaultAdaptableOptions = {
201
193
  sortValuesFilter: false,
202
194
  filterValuesUsingTime: false,
203
195
  showDistinctFilteredValuesOnly: false,
204
- maxFilterValuesToDisplay: 2000,
196
+ maxFilterValuesToDisplay: undefined,
205
197
  includeBlankFilterValues: false,
206
198
  showValuesCount: undefined,
207
199
  },
@@ -223,6 +215,7 @@ exports.DefaultAdaptableOptions = {
223
215
  enableFilterOnSpecialColumns: true,
224
216
  showClearFilterButton: false,
225
217
  showSuspendFilterButton: false,
218
+ showDatePicker: true,
226
219
  },
227
220
  gridFilterOptions: {
228
221
  availableFilterEditors: ['ExpressionEditor', 'QueryBuilder'],
@@ -254,6 +247,7 @@ exports.DefaultAdaptableOptions = {
254
247
  loadState: undefined,
255
248
  persistState: undefined,
256
249
  clearState: undefined,
250
+ autoMigrateState: true,
257
251
  },
258
252
  teamSharingOptions: {
259
253
  enableTeamSharing: false,
@@ -272,6 +266,9 @@ exports.DefaultAdaptableOptions = {
272
266
  useCustomMacLikeScrollbars: false,
273
267
  englishVariant: 'GB',
274
268
  showLoadingScreen: true,
269
+ loadingScreenDelay: 200,
270
+ loadingScreenTitle: 'Initialising Grid',
271
+ loadingScreenText: 'Retrieving your settings and setting up the grid...',
275
272
  disableDeleteConfirmation: false,
276
273
  dateInputOptions: {
277
274
  useNativeInput: false,
@@ -329,3 +326,62 @@ exports.DefaultAdaptableOptions = {
329
326
  },
330
327
  },
331
328
  };
329
+ function applyDefaultAdaptableOptions(adaptableOptions) {
330
+ var _a;
331
+ const adaptableOptsWithDefaults = Object.assign({}, DefaultAdaptableOptions, adaptableOptions);
332
+ adaptableOptsWithDefaults.adaptableStateKey =
333
+ (_a = adaptableOptsWithDefaults.adaptableStateKey) !== null && _a !== void 0 ? _a : adaptableOptsWithDefaults.adaptableId;
334
+ adaptableOptsWithDefaults.dataImportOptions = Object.assign({}, DefaultAdaptableOptions.dataImportOptions, adaptableOptions.dataImportOptions);
335
+ adaptableOptsWithDefaults.expressionOptions = Object.assign({}, DefaultAdaptableOptions.expressionOptions, adaptableOptions.expressionOptions);
336
+ adaptableOptsWithDefaults.calendarOptions = Object.assign({}, DefaultAdaptableOptions.calendarOptions, adaptableOptions.calendarOptions);
337
+ adaptableOptsWithDefaults.columnOptions = Object.assign({}, DefaultAdaptableOptions.columnOptions, adaptableOptions.columnOptions);
338
+ adaptableOptsWithDefaults.customSortOptions = Object.assign({}, DefaultAdaptableOptions.customSortOptions, adaptableOptions.customSortOptions);
339
+ adaptableOptsWithDefaults.dataSetOptions = Object.assign({}, DefaultAdaptableOptions.dataSetOptions, adaptableOptions.dataSetOptions);
340
+ adaptableOptsWithDefaults.cellSummaryOptions = Object.assign({}, DefaultAdaptableOptions.cellSummaryOptions, adaptableOptions.cellSummaryOptions);
341
+ adaptableOptsWithDefaults.predicateOptions = Object.assign({}, DefaultAdaptableOptions.predicateOptions, adaptableOptsWithDefaults.predicateOptions);
342
+ adaptableOptsWithDefaults.layoutOptions = Object.assign({}, DefaultAdaptableOptions.layoutOptions, adaptableOptions.layoutOptions);
343
+ adaptableOptsWithDefaults.notificationsOptions = Object.assign({}, DefaultAdaptableOptions.notificationsOptions, adaptableOptions.notificationsOptions);
344
+ adaptableOptsWithDefaults.alertOptions = Object.assign({}, DefaultAdaptableOptions.alertOptions, adaptableOptions.alertOptions);
345
+ adaptableOptsWithDefaults.flashingCellOptions = Object.assign({}, DefaultAdaptableOptions.flashingCellOptions, adaptableOptions.flashingCellOptions);
346
+ adaptableOptsWithDefaults.entitlementOptions = Object.assign({}, DefaultAdaptableOptions.entitlementOptions, adaptableOptions.entitlementOptions);
347
+ adaptableOptsWithDefaults.dashboardOptions = Object.assign({}, DefaultAdaptableOptions.dashboardOptions, adaptableOptions.dashboardOptions);
348
+ adaptableOptsWithDefaults.editOptions = Object.assign({}, DefaultAdaptableOptions.editOptions, adaptableOptions.editOptions);
349
+ adaptableOptsWithDefaults.actionColumnOptions = Object.assign({}, DefaultAdaptableOptions.actionColumnOptions, adaptableOptions.actionColumnOptions);
350
+ // to do
351
+ adaptableOptsWithDefaults.actionRowOptions = Object.assign({}, DefaultAdaptableOptions.actionRowOptions, adaptableOptions.actionRowOptions);
352
+ adaptableOptsWithDefaults.actionRowOptions.actionRowButtonOptions = Object.assign({}, DefaultAdaptableOptions.actionRowOptions.actionRowButtonOptions, adaptableOptsWithDefaults.actionRowOptions.actionRowButtonOptions);
353
+ adaptableOptsWithDefaults.actionRowOptions.actionRowFormOptions = Object.assign({}, DefaultAdaptableOptions.actionRowOptions.actionRowFormOptions, adaptableOptsWithDefaults.actionRowOptions.actionRowFormOptions);
354
+ adaptableOptsWithDefaults.containerOptions = Object.assign({}, DefaultAdaptableOptions.containerOptions, adaptableOptions.containerOptions);
355
+ adaptableOptsWithDefaults.groupingOptions = Object.assign({}, DefaultAdaptableOptions.groupingOptions, adaptableOptions.groupingOptions);
356
+ adaptableOptsWithDefaults.quickSearchOptions = Object.assign({}, DefaultAdaptableOptions.quickSearchOptions, adaptableOptions.quickSearchOptions);
357
+ adaptableOptsWithDefaults.columnFilterOptions = Object.assign({}, DefaultAdaptableOptions.columnFilterOptions, adaptableOptions.columnFilterOptions);
358
+ adaptableOptsWithDefaults.columnFilterOptions.quickFilterOptions = Object.assign({}, DefaultAdaptableOptions.columnFilterOptions.quickFilterOptions, adaptableOptsWithDefaults.columnFilterOptions.quickFilterOptions);
359
+ adaptableOptsWithDefaults.columnFilterOptions.filterFormOptions = Object.assign({}, DefaultAdaptableOptions.columnFilterOptions.filterFormOptions, adaptableOptsWithDefaults.columnFilterOptions.filterFormOptions);
360
+ adaptableOptsWithDefaults.columnFilterOptions.valuesFilterOptions = Object.assign({}, DefaultAdaptableOptions.columnFilterOptions.valuesFilterOptions, adaptableOptsWithDefaults.columnFilterOptions.valuesFilterOptions);
361
+ adaptableOptsWithDefaults.gridFilterOptions = Object.assign({}, DefaultAdaptableOptions.gridFilterOptions, adaptableOptions.gridFilterOptions);
362
+ adaptableOptsWithDefaults.userInterfaceOptions = Object.assign({}, DefaultAdaptableOptions.userInterfaceOptions, adaptableOptions.userInterfaceOptions);
363
+ adaptableOptsWithDefaults.userInterfaceOptions.dateInputOptions = Object.assign({}, DefaultAdaptableOptions.userInterfaceOptions.dateInputOptions, adaptableOptsWithDefaults.userInterfaceOptions.dateInputOptions);
364
+ adaptableOptsWithDefaults.menuOptions = Object.assign({}, DefaultAdaptableOptions.menuOptions, adaptableOptions.menuOptions);
365
+ adaptableOptsWithDefaults.stateOptions = Object.assign({}, DefaultAdaptableOptions.stateOptions, adaptableOptions.stateOptions);
366
+ adaptableOptsWithDefaults.exportOptions = Object.assign({}, DefaultAdaptableOptions.exportOptions, adaptableOptions.exportOptions);
367
+ adaptableOptsWithDefaults.teamSharingOptions = Object.assign({}, DefaultAdaptableOptions.teamSharingOptions, adaptableOptions.teamSharingOptions);
368
+ adaptableOptsWithDefaults.toolPanelOptions = Object.assign({}, DefaultAdaptableOptions.toolPanelOptions, adaptableOptions.toolPanelOptions);
369
+ adaptableOptsWithDefaults.dataChangeHistoryOptions = Object.assign({}, DefaultAdaptableOptions.dataChangeHistoryOptions, adaptableOptions.dataChangeHistoryOptions);
370
+ adaptableOptsWithDefaults.chartingOptions = Object.assign({}, DefaultAdaptableOptions.chartingOptions, adaptableOptions.chartingOptions);
371
+ adaptableOptsWithDefaults.chartingOptions.externalChartingOptions = Object.assign({}, DefaultAdaptableOptions.chartingOptions.externalChartingOptions, adaptableOptsWithDefaults.chartingOptions.externalChartingOptions);
372
+ adaptableOptsWithDefaults.settingsPanelOptions = Object.assign({}, DefaultAdaptableOptions.settingsPanelOptions, adaptableOptions.settingsPanelOptions);
373
+ adaptableOptsWithDefaults.fdc3Options = Object.assign({}, DefaultAdaptableOptions.fdc3Options, adaptableOptions.fdc3Options);
374
+ adaptableOptsWithDefaults.fdc3Options.actionColumnDefaultConfiguration = Object.assign({}, DefaultAdaptableOptions.fdc3Options.actionColumnDefaultConfiguration, adaptableOptsWithDefaults.fdc3Options.actionColumnDefaultConfiguration);
375
+ adaptableOptsWithDefaults.fdc3Options.uiControlsDefaultConfiguration = Object.assign({}, DefaultAdaptableOptions.fdc3Options.uiControlsDefaultConfiguration, adaptableOptsWithDefaults.fdc3Options.uiControlsDefaultConfiguration);
376
+ const { predefinedConfig } = adaptableOptsWithDefaults;
377
+ if (predefinedConfig) {
378
+ adaptableOptsWithDefaults.predefinedConfig =
379
+ typeof predefinedConfig === 'string'
380
+ ? predefinedConfig
381
+ : (0, AdaptableHelper_1.initPredefinedConfigWithUuids)(predefinedConfig);
382
+ }
383
+ return adaptableOptsWithDefaults;
384
+ }
385
+ exports.applyDefaultAdaptableOptions = applyDefaultAdaptableOptions;
386
+ const getDefaultAdaptableOptions = () => DefaultAdaptableOptions;
387
+ exports.getDefaultAdaptableOptions = getDefaultAdaptableOptions;
@@ -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;