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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (366) hide show
  1. package/agGrid.d.ts +4 -21
  2. package/agGrid.js +9 -26
  3. package/base.css +22 -8
  4. package/base.css.map +1 -1
  5. package/index.css +101 -75
  6. package/index.css.map +1 -1
  7. package/package.json +4 -5
  8. package/src/AdaptableInterfaces/IAdaptable.d.ts +58 -108
  9. package/src/AdaptableOptions/AdaptableOptions.d.ts +13 -7
  10. package/src/AdaptableOptions/ColumnFilterOptions.d.ts +11 -4
  11. package/src/AdaptableOptions/ColumnOptions.d.ts +9 -4
  12. package/src/AdaptableOptions/CommentOptions.d.ts +33 -0
  13. package/src/AdaptableOptions/GroupingOptions.d.ts +0 -7
  14. package/src/AdaptableOptions/MenuOptions.d.ts +6 -54
  15. package/src/AdaptableOptions/MenuOptions.js +71 -74
  16. package/src/AdaptableOptions/{NotesOptions.d.ts → NoteOptions.d.ts} +7 -4
  17. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +17 -0
  18. package/src/Api/AdaptableApi.d.ts +9 -4
  19. package/src/Api/BulkUpdateApi.d.ts +0 -5
  20. package/src/Api/ColumnApi.d.ts +4 -0
  21. package/src/Api/CommentApi.d.ts +11 -12
  22. package/src/Api/ConfigApi.d.ts +4 -5
  23. package/src/Api/EventApi.d.ts +7 -9
  24. package/src/Api/Events/AdaptableReady.d.ts +3 -3
  25. package/src/Api/Events/CommentChanged.d.ts +11 -0
  26. package/src/Api/Events/GridDataChanged.d.ts +4 -4
  27. package/src/Api/GridApi.d.ts +23 -13
  28. package/src/Api/Implementation/ActionColumnApiImpl.d.ts +2 -0
  29. package/src/Api/Implementation/ActionColumnApiImpl.js +30 -0
  30. package/src/Api/Implementation/AdaptableApiImpl.d.ts +3 -2
  31. package/src/Api/Implementation/AdaptableApiImpl.js +5 -2
  32. package/src/Api/Implementation/ApiBase.d.ts +5 -3
  33. package/src/Api/Implementation/ApiBase.js +8 -2
  34. package/src/Api/Implementation/BulkUpdateApiImpl.d.ts +0 -1
  35. package/src/Api/Implementation/BulkUpdateApiImpl.js +0 -4
  36. package/src/Api/Implementation/CellSummaryApiImpl.d.ts +0 -5
  37. package/src/Api/Implementation/CellSummaryApiImpl.js +2 -23
  38. package/src/Api/Implementation/ColumnApiImpl.d.ts +1 -0
  39. package/src/Api/Implementation/ColumnApiImpl.js +10 -0
  40. package/src/Api/Implementation/CommentsApiImpl.d.ts +5 -2
  41. package/src/Api/Implementation/CommentsApiImpl.js +7 -1
  42. package/src/Api/Implementation/ConfigApiImpl.d.ts +2 -2
  43. package/src/Api/Implementation/ConfigApiImpl.js +21 -13
  44. package/src/Api/Implementation/GridApiImpl.d.ts +6 -3
  45. package/src/Api/Implementation/GridApiImpl.js +49 -14
  46. package/src/Api/Implementation/LayoutApiImpl.d.ts +3 -0
  47. package/src/Api/Implementation/LayoutApiImpl.js +18 -0
  48. package/src/Api/Implementation/NoteApiImpl.d.ts +18 -0
  49. package/src/Api/Implementation/NoteApiImpl.js +40 -0
  50. package/src/Api/Implementation/OptionsApiImpl.d.ts +4 -4
  51. package/src/Api/Implementation/OptionsApiImpl.js +4 -4
  52. package/src/Api/Implementation/ScopeApiImpl.d.ts +2 -0
  53. package/src/Api/Implementation/ScopeApiImpl.js +20 -7
  54. package/src/Api/Implementation/StatusBarApiImpl.d.ts +0 -1
  55. package/src/Api/Implementation/StatusBarApiImpl.js +0 -3
  56. package/src/Api/Implementation/ToolPanelApiImpl.js +6 -6
  57. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +0 -3
  58. package/src/Api/Implementation/UserInterfaceApiImpl.js +0 -8
  59. package/src/Api/Internal/ActionRowInternalApi.d.ts +5 -1
  60. package/src/Api/Internal/ActionRowInternalApi.js +106 -0
  61. package/src/Api/Internal/AdaptableInternalApi.d.ts +6 -7
  62. package/src/Api/Internal/AdaptableInternalApi.js +21 -19
  63. package/src/Api/Internal/CalculatedColumnInternalApi.d.ts +2 -0
  64. package/src/Api/Internal/CalculatedColumnInternalApi.js +71 -0
  65. package/src/Api/Internal/ColumnFilterInternalApi.d.ts +2 -0
  66. package/src/Api/Internal/ColumnFilterInternalApi.js +23 -1
  67. package/src/Api/Internal/ColumnInternalApi.d.ts +4 -1
  68. package/src/Api/Internal/ColumnInternalApi.js +12 -0
  69. package/src/Api/Internal/CommentsInternalApi.d.ts +4 -0
  70. package/src/Api/Internal/CommentsInternalApi.js +14 -0
  71. package/src/Api/Internal/CustomSortInternalApi.d.ts +3 -2
  72. package/src/Api/Internal/CustomSortInternalApi.js +32 -1
  73. package/src/Api/Internal/DataSetInternalApi.js +1 -1
  74. package/src/Api/Internal/ExportInternalApi.d.ts +2 -1
  75. package/src/Api/Internal/ExportInternalApi.js +4 -1
  76. package/src/Api/Internal/Fdc3InternalApi.js +2 -2
  77. package/src/Api/Internal/FormatColumnInternalApi.js +3 -2
  78. package/src/Api/Internal/FreeTextColumnInternalApi.d.ts +2 -0
  79. package/src/Api/Internal/FreeTextColumnInternalApi.js +60 -0
  80. package/src/Api/Internal/GridFilterInternalApi.d.ts +5 -0
  81. package/src/Api/Internal/GridFilterInternalApi.js +7 -1
  82. package/src/Api/Internal/GridInternalApi.d.ts +23 -3
  83. package/src/Api/Internal/GridInternalApi.js +141 -7
  84. package/src/Api/Internal/LayoutInternalApi.d.ts +1 -0
  85. package/src/Api/Internal/LayoutInternalApi.js +16 -0
  86. package/src/Api/Internal/NoteInternalApi.d.ts +4 -0
  87. package/src/Api/Internal/NoteInternalApi.js +14 -0
  88. package/src/Api/Internal/TeamSharingInternalApi.js +1 -1
  89. package/src/Api/InteropioPluginApi.d.ts +2 -2
  90. package/src/Api/LayoutApi.d.ts +15 -0
  91. package/src/Api/NoteApi.d.ts +48 -0
  92. package/src/Api/OptionsApi.d.ts +8 -8
  93. package/src/Api/ScopeApi.d.ts +10 -0
  94. package/src/Api/UserInterfaceApi.d.ts +0 -11
  95. package/src/EnvVars.d.ts +3 -0
  96. package/src/EnvVars.js +4 -0
  97. package/src/PredefinedConfig/AdaptableState.d.ts +2 -2
  98. package/src/PredefinedConfig/CommentState.d.ts +27 -23
  99. package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +4 -0
  100. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
  101. package/src/PredefinedConfig/Common/AdaptableScope.d.ts +4 -1
  102. package/src/PredefinedConfig/Common/AggregationColumns.d.ts +1 -0
  103. package/src/PredefinedConfig/Common/AggregationColumns.js +3 -0
  104. package/src/PredefinedConfig/Common/DataUpdateConfig.d.ts +4 -0
  105. package/src/PredefinedConfig/Common/Enums.d.ts +2 -1
  106. package/src/PredefinedConfig/Common/Enums.js +1 -0
  107. package/src/PredefinedConfig/Common/Menu.d.ts +15 -1
  108. package/src/PredefinedConfig/Common/Menu.js +97 -1
  109. package/src/PredefinedConfig/Common/RowSummary.d.ts +21 -0
  110. package/src/PredefinedConfig/Common/RowSummary.js +17 -0
  111. package/src/PredefinedConfig/Common/TransposeConfig.d.ts +25 -0
  112. package/src/PredefinedConfig/Common/Types.d.ts +4 -4
  113. package/src/PredefinedConfig/Common/Types.js +4 -1
  114. package/src/PredefinedConfig/LayoutState.d.ts +5 -0
  115. package/src/PredefinedConfig/{NotesState.d.ts → NoteState.d.ts} +12 -22
  116. package/src/PredefinedConfig/PredefinedConfig.d.ts +3 -3
  117. package/src/PredefinedConfig/Selection/GridCell.d.ts +13 -0
  118. package/src/PredefinedConfig/SystemState.d.ts +9 -3
  119. package/src/Redux/ActionsReducers/LayoutRedux.d.ts +9 -0
  120. package/src/Redux/ActionsReducers/LayoutRedux.js +32 -10
  121. package/src/Redux/ActionsReducers/NoteRedux.d.ts +38 -0
  122. package/src/Redux/ActionsReducers/{NotesRedux.js → NoteRedux.js} +29 -28
  123. package/src/Redux/ActionsReducers/SystemRedux.d.ts +6 -1
  124. package/src/Redux/ActionsReducers/SystemRedux.js +16 -4
  125. package/src/Redux/Store/AdaptableStore.d.ts +4 -6
  126. package/src/Redux/Store/AdaptableStore.js +67 -77
  127. package/src/Redux/Store/Interface/IAdaptableStore.d.ts +8 -2
  128. package/src/Strategy/AdaptableModuleBase.d.ts +8 -8
  129. package/src/Strategy/AdaptableModuleBase.js +13 -15
  130. package/src/Strategy/AlertModule.d.ts +1 -2
  131. package/src/Strategy/AlertModule.js +3 -56
  132. package/src/Strategy/BulkUpdateModule.js +1 -1
  133. package/src/Strategy/CalculatedColumnModule.d.ts +2 -3
  134. package/src/Strategy/CalculatedColumnModule.js +6 -26
  135. package/src/Strategy/CellSummaryModule.d.ts +8 -6
  136. package/src/Strategy/CellSummaryModule.js +78 -23
  137. package/src/Strategy/ChartingModule.d.ts +0 -1
  138. package/src/Strategy/ChartingModule.js +2 -22
  139. package/src/Strategy/ColumnFilterModule.d.ts +2 -3
  140. package/src/Strategy/ColumnFilterModule.js +44 -103
  141. package/src/Strategy/ColumnInfoModule.js +2 -0
  142. package/src/Strategy/{CommentsModule.d.ts → CommentModule.d.ts} +2 -5
  143. package/src/Strategy/{CommentsModule.js → CommentModule.js} +17 -23
  144. package/src/Strategy/CustomSortModule.js +3 -2
  145. package/src/Strategy/DashboardModule.d.ts +1 -2
  146. package/src/Strategy/DashboardModule.js +9 -15
  147. package/src/Strategy/DataChangeHistoryModule.d.ts +1 -0
  148. package/src/Strategy/DataChangeHistoryModule.js +3 -1
  149. package/src/Strategy/DataImportModule.d.ts +1 -1
  150. package/src/Strategy/DataImportModule.js +5 -5
  151. package/src/Strategy/DataSetModule.d.ts +1 -1
  152. package/src/Strategy/DataSetModule.js +1 -1
  153. package/src/Strategy/ExportModule.d.ts +1 -0
  154. package/src/Strategy/ExportModule.js +17 -2
  155. package/src/Strategy/Fdc3Module.js +3 -0
  156. package/src/Strategy/FlashingCellModule.d.ts +1 -2
  157. package/src/Strategy/FlashingCellModule.js +6 -19
  158. package/src/Strategy/FormatColumnModule.d.ts +0 -2
  159. package/src/Strategy/FormatColumnModule.js +6 -51
  160. package/src/Strategy/FreeTextColumnModule.d.ts +0 -1
  161. package/src/Strategy/FreeTextColumnModule.js +1 -31
  162. package/src/Strategy/GridFilterModule.d.ts +0 -1
  163. package/src/Strategy/GridFilterModule.js +0 -37
  164. package/src/Strategy/GridInfoModule.js +2 -0
  165. package/src/Strategy/Interface/IModule.d.ts +0 -1
  166. package/src/Strategy/LayoutModule.d.ts +9 -3
  167. package/src/Strategy/LayoutModule.js +143 -63
  168. package/src/Strategy/NamedQueryModule.d.ts +0 -1
  169. package/src/Strategy/NamedQueryModule.js +0 -19
  170. package/src/Strategy/{NotesModule.d.ts → NoteModule.d.ts} +2 -1
  171. package/src/Strategy/NoteModule.js +57 -0
  172. package/src/Strategy/PlusMinusModule.d.ts +1 -1
  173. package/src/Strategy/PlusMinusModule.js +2 -2
  174. package/src/Strategy/ScheduleModule.d.ts +1 -1
  175. package/src/Strategy/ScheduleModule.js +1 -1
  176. package/src/Strategy/SettingsPanelModule.js +3 -3
  177. package/src/Strategy/ShortcutModule.d.ts +1 -1
  178. package/src/Strategy/ShortcutModule.js +1 -1
  179. package/src/Strategy/SmartEditModule.js +1 -1
  180. package/src/Strategy/StyledColumnModule.d.ts +1 -1
  181. package/src/Strategy/StyledColumnModule.js +26 -26
  182. package/src/Strategy/SystemStatusModule.js +2 -2
  183. package/src/Strategy/TeamSharingModule.d.ts +1 -0
  184. package/src/Strategy/TeamSharingModule.js +5 -5
  185. package/src/Strategy/ToolPanelModule.d.ts +0 -1
  186. package/src/Strategy/ToolPanelModule.js +0 -23
  187. package/src/Strategy/Utilities/getScopeViewItems.js +3 -0
  188. package/src/Utilities/Constants/DocumentationLinkConstants.js +1 -1
  189. package/src/Utilities/Constants/GeneralConstants.d.ts +1 -0
  190. package/src/Utilities/Constants/GeneralConstants.js +1 -0
  191. package/src/Utilities/Constants/ModuleConstants.d.ts +6 -6
  192. package/src/Utilities/Constants/ModuleConstants.js +6 -6
  193. package/src/Utilities/Defaults/DefaultSettingsPanel.js +7 -6
  194. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +3 -2
  195. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +429 -1
  196. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +3 -3
  197. package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.js +1 -1
  198. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.d.ts +1 -1
  199. package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +15 -0
  200. package/src/Utilities/Extensions/ArrayExtensions.d.ts +2 -0
  201. package/src/Utilities/Extensions/ArrayExtensions.js +4 -0
  202. package/src/Utilities/Helpers/AdaptableHelper.d.ts +3 -4
  203. package/src/Utilities/Helpers/AdaptableHelper.js +18 -58
  204. package/src/Utilities/Helpers/Helper.d.ts +2 -0
  205. package/src/Utilities/Helpers/Helper.js +4 -0
  206. package/src/Utilities/MenuItem.d.ts +7 -4
  207. package/src/Utilities/MenuItem.js +6 -3
  208. package/src/Utilities/ObjectFactory.d.ts +3 -3
  209. package/src/Utilities/ObjectFactory.js +4 -24
  210. package/src/Utilities/Services/AggregatedScalarLiveValue.d.ts +4 -2
  211. package/src/Utilities/Services/AggregatedScalarLiveValue.js +26 -19
  212. package/src/Utilities/Services/CellPopupService.js +2 -3
  213. package/src/Utilities/Services/Interface/IQueryLanguageService.d.ts +1 -1
  214. package/src/Utilities/Services/Interface/IReportService.d.ts +1 -4
  215. package/src/Utilities/Services/LicenseService/index.d.ts +3 -0
  216. package/src/Utilities/Services/LicenseService/index.js +1 -181
  217. package/src/Utilities/Services/MetamodelService.d.ts +1 -1
  218. package/src/Utilities/Services/MetamodelService.js +6 -3
  219. package/src/Utilities/Services/ModuleService.js +4 -0
  220. package/src/Utilities/Services/QueryLanguageService.d.ts +1 -1
  221. package/src/Utilities/Services/QueryLanguageService.js +4 -3
  222. package/src/Utilities/Services/ReportService.d.ts +7 -5
  223. package/src/Utilities/Services/ReportService.js +238 -22
  224. package/src/Utilities/Services/RowEditService.d.ts +3 -2
  225. package/src/Utilities/Services/RowEditService.js +3 -1
  226. package/src/Utilities/adaptableQlUtils.d.ts +2 -0
  227. package/src/Utilities/adaptableQlUtils.js +14 -0
  228. package/src/Utilities/license/decode.js +1 -65
  229. package/src/Utilities/license/hashing.js +1 -43
  230. package/src/View/AdaptableView.js +1 -3
  231. package/src/View/AdaptableViewFactory.js +2 -2
  232. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +2 -2
  233. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +1 -1
  234. package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
  235. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +3 -3
  236. package/src/View/CalculatedColumn/utils.d.ts +1 -1
  237. package/src/View/CellSummary/CellSummaryPopup.js +1 -1
  238. package/src/View/Comments/CommentsEditor.js +24 -11
  239. package/src/View/Comments/CommentsPopup.js +20 -11
  240. package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
  241. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.d.ts +5 -0
  242. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.js +42 -0
  243. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +5 -2
  244. package/src/View/Components/CellPopup/index.d.ts +1 -0
  245. package/src/View/Components/CellPopup/index.js +5 -2
  246. package/src/View/Components/FilterForm/FilterForm.js +20 -12
  247. package/src/View/Components/FilterForm/QuickFilterForm.js +15 -8
  248. package/src/View/Components/NewScopeComponent.js +34 -1
  249. package/src/View/Components/Popups/AdaptableLoadingScreen.d.ts +6 -5
  250. package/src/View/Components/Popups/AdaptableLoadingScreen.js +19 -9
  251. package/src/View/Components/Popups/AdaptableToaster.js +1 -1
  252. package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +7 -7
  253. package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +1 -0
  254. package/src/View/Components/Popups/WindowPopups/windowFactory.js +3 -0
  255. package/src/View/Components/Selectors/PermittedValuesSelector.js +2 -2
  256. package/src/View/Components/ValueSelector/index.d.ts +1 -0
  257. package/src/View/Components/ValueSelector/index.js +2 -2
  258. package/src/View/CustomSort/CustomSortSummary.js +1 -1
  259. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +8 -9
  260. package/src/View/FreeTextColumn/FreeTextColumnSummary.js +1 -1
  261. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +3 -1
  262. package/src/View/GridFilter/GridFilterViewPanel.js +9 -5
  263. package/src/View/GridFilter/useGridFilterExpressionEditor.js +1 -1
  264. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +2 -3
  265. package/src/View/Layout/LayoutViewPanel.js +2 -1
  266. package/src/View/Layout/TransposedPopup.d.ts +3 -0
  267. package/src/View/Layout/TransposedPopup.js +195 -0
  268. package/src/View/Layout/Wizard/LayoutWizard.js +36 -3
  269. package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -1
  270. package/src/View/Layout/Wizard/sections/RowSummarySection.d.ts +9 -0
  271. package/src/View/Layout/Wizard/sections/RowSummarySection.js +174 -0
  272. package/src/View/License/LicenseWatermark.js +1 -61
  273. package/src/View/Note/NotePopup.d.ts +2 -0
  274. package/src/View/{Notes/NotesPopup.js → Note/NotePopup.js} +17 -17
  275. package/src/View/SpecialColumnSettingsWizardStep.js +4 -4
  276. package/src/View/Theme/ThemeSelector.js +3 -3
  277. package/src/agGrid/ActionColumnRenderer.js +7 -6
  278. package/src/agGrid/Adaptable.d.ts +3 -455
  279. package/src/agGrid/Adaptable.js +8 -5292
  280. package/src/agGrid/AdaptableAgGrid.d.ts +352 -0
  281. package/src/agGrid/AdaptableAgGrid.js +3963 -0
  282. package/src/agGrid/AdaptableLogger.js +77 -11
  283. package/src/agGrid/AgGridAdapter.d.ts +64 -0
  284. package/src/agGrid/AgGridAdapter.js +585 -0
  285. package/src/agGrid/AgGridColumnAdapter.d.ts +56 -0
  286. package/src/agGrid/AgGridColumnAdapter.js +831 -0
  287. package/src/agGrid/AgGridMenuAdapter.d.ts +28 -0
  288. package/src/agGrid/AgGridMenuAdapter.js +277 -0
  289. package/src/agGrid/AgGridOptionsService.d.ts +15 -0
  290. package/src/agGrid/AgGridOptionsService.js +76 -0
  291. package/src/agGrid/BadgeRenderer.js +1 -1
  292. package/src/agGrid/CheckboxRenderer.js +1 -1
  293. package/src/agGrid/FilterWrapper.d.ts +2 -2
  294. package/src/agGrid/FilterWrapper.js +1 -1
  295. package/src/agGrid/attachAddaptableColumnTypes.d.ts +12 -12
  296. package/src/agGrid/defaultAdaptableOptions.d.ts +3 -0
  297. package/src/{Utilities/Defaults/DefaultAdaptableOptions.js → agGrid/defaultAdaptableOptions.js} +71 -17
  298. package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +1 -1
  299. package/src/agGrid/editors/AdaptableDateEditor/index.js +3 -3
  300. package/src/agGrid/editors/AdaptableNumberEditor/index.d.ts +2 -2
  301. package/src/agGrid/editors/AdaptableNumberEditor/index.js +2 -2
  302. package/src/agGrid/weightedAverage.d.ts +0 -2
  303. package/src/agGrid/weightedAverage.js +0 -54
  304. package/src/components/ColorPicker/ColorPicker.d.ts +1 -1
  305. package/src/components/Datepicker/index.d.ts +1 -1
  306. package/src/components/Datepicker/index.js +10 -2
  307. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +2 -1
  308. package/src/components/ExpressionEditor/QueryBuilder/utils.d.ts +0 -1
  309. package/src/components/ExpressionEditor/QueryBuilder/utils.js +1 -14
  310. package/src/components/InfiniteTable/index.js +2 -2
  311. package/src/components/Input/index.d.ts +1 -2
  312. package/src/components/List/ListGroupItem/index.d.ts +1 -1
  313. package/src/components/Modal/index.d.ts +1 -0
  314. package/src/components/Modal/index.js +4 -3
  315. package/src/components/Select/Select.d.ts +3 -1
  316. package/src/components/Select/Select.js +4 -2
  317. package/src/components/Textarea/index.d.ts +2 -2
  318. package/src/components/icons/index.js +2 -0
  319. package/src/components/icons/note.js +2 -2
  320. package/src/components/icons/rows.d.ts +3 -0
  321. package/src/components/icons/rows.js +4 -0
  322. package/src/env.js +2 -2
  323. package/src/metamodel/adaptable.metamodel.d.ts +186 -32
  324. package/src/metamodel/adaptable.metamodel.js +1 -9313
  325. package/src/migration/AdaptableUpgradeHelper.d.ts +38 -0
  326. package/src/migration/AdaptableUpgradeHelper.js +48 -0
  327. package/src/migration/VersionUpgrade.d.ts +8 -0
  328. package/src/migration/VersionUpgrade.js +11 -0
  329. package/src/migration/VersionUpgrade17.d.ts +18 -0
  330. package/src/migration/VersionUpgrade17.js +342 -0
  331. package/src/migration/VersionUpgrade18.d.ts +5 -0
  332. package/src/migration/VersionUpgrade18.js +6 -0
  333. package/src/parser/src/parser.js +117 -1257
  334. package/src/parser/src/predicate/mapExpressionToQlPredicate.js +1 -1
  335. package/src/parser/src/predicate/mapQlPredicateToExpression.js +2 -1
  336. package/src/parser/src/types.d.ts +7 -2
  337. package/src/types.d.ts +26 -19
  338. package/tsconfig.esm.tsbuildinfo +1 -1
  339. package/src/AdaptableOptions/CommentsOptions.d.ts +0 -28
  340. package/src/Api/Events/CommentsChangedInfo.d.ts +0 -5
  341. package/src/Api/Implementation/NotesApiImpl.d.ts +0 -16
  342. package/src/Api/Implementation/NotesApiImpl.js +0 -39
  343. package/src/Api/NotesApi.d.ts +0 -48
  344. package/src/PredefinedConfig/CellAddress.d.ts +0 -13
  345. package/src/PredefinedConfig/CellAddress.js +0 -4
  346. package/src/Redux/ActionsReducers/NotesRedux.d.ts +0 -39
  347. package/src/Strategy/NotesModule.js +0 -57
  348. package/src/Utilities/Defaults/DefaultAdaptableOptions.d.ts +0 -2
  349. package/src/Utilities/Services/Interface/IRowEditService.d.ts +0 -3
  350. package/src/View/Components/ScopeComponent.d.ts +0 -24
  351. package/src/View/Components/ScopeComponent.js +0 -133
  352. package/src/View/Export/Wizard/ReportScopeWizard.d.ts +0 -17
  353. package/src/View/Export/Wizard/ReportScopeWizard.js +0 -47
  354. package/src/View/Notes/NotesPopup.d.ts +0 -2
  355. package/src/agGrid/agGridHelper.d.ts +0 -57
  356. package/src/agGrid/agGridHelper.js +0 -686
  357. package/src/agGrid/agGridMenuHelper.d.ts +0 -46
  358. package/src/agGrid/agGridMenuHelper.js +0 -668
  359. /package/src/AdaptableOptions/{CommentsOptions.js → CommentOptions.js} +0 -0
  360. /package/src/AdaptableOptions/{NotesOptions.js → NoteOptions.js} +0 -0
  361. /package/src/Api/Events/{CommentsChangedInfo.js → CommentChanged.js} +0 -0
  362. /package/src/Api/{NotesApi.js → NoteApi.js} +0 -0
  363. /package/src/PredefinedConfig/{NotesState.js → Common/TransposeConfig.js} +0 -0
  364. /package/src/{Utilities/Services/Interface/IRowEditService.js → PredefinedConfig/NoteState.js} +0 -0
  365. /package/src/View/{Notes → Note}/NoteEditor.d.ts +0 -0
  366. /package/src/View/{Notes → Note}/NoteEditor.js +0 -0
@@ -8,20 +8,23 @@ import { ColumnSort } from '../../PredefinedConfig/Common/ColumnSort';
8
8
  import { DataUpdateConfig } from '../../PredefinedConfig/Common/DataUpdateConfig';
9
9
  import { CellHighlightInfo } from '../../PredefinedConfig/Common/CellHighlightInfo';
10
10
  import { RowHighlightInfo } from '../../PredefinedConfig/Common/RowHighlightInfo';
11
- import { GridOptions, IRowNode, RowModelType } from '@ag-grid-community/core';
11
+ import { IRowNode, RowModelType } from '@ag-grid-community/core';
12
12
  import { GridCellRange } from '../../PredefinedConfig/Selection/GridCellRange';
13
13
  import { CellDataChangedInfo } from '../../PredefinedConfig/Common/CellDataChangedInfo';
14
14
  import { RowsHighlightInfo } from '../../PredefinedConfig/Common/RowsHighlightInfo';
15
15
  import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
16
16
  import { GridInternalApi } from '../Internal/GridInternalApi';
17
+ import { TransposeConfig } from '../../PredefinedConfig/Common/TransposeConfig';
17
18
  export declare class GridApiImpl extends ApiBase implements GridApi {
18
19
  internalApi: GridInternalApi;
19
20
  constructor(adaptable: IAdaptable);
20
21
  getGridState(): GridState;
22
+ loadGridData(dataSource: any): void;
21
23
  resetGridData(dataSource: any[]): void;
22
24
  setInitialGridData(data: any): void;
23
25
  getGridData(): any[];
24
26
  getFilteredData(): any[];
27
+ getVisibleData(): any[];
25
28
  updateGridData(dataRows: any[], dataUpdateConfig?: DataUpdateConfig): Promise<IRowNode[]>;
26
29
  addOrUpdateGridData(dataRows: any[], dataUpdateConfig?: DataUpdateConfig): Promise<{
27
30
  addedRows: IRowNode[];
@@ -40,7 +43,6 @@ export declare class GridApiImpl extends ApiBase implements GridApi {
40
43
  hideFilterForm(): void;
41
44
  applyGridFiltering(): void;
42
45
  clearGridFiltering(): void;
43
- getAgGridInstance(): GridOptions;
44
46
  getColumnSorts(): ColumnSort[];
45
47
  getColumnSortForColumn(columnId: string): ColumnSort | undefined;
46
48
  setAdaptableSorting(columnSorts: ColumnSort[]): void;
@@ -120,7 +122,6 @@ export declare class GridApiImpl extends ApiBase implements GridApi {
120
122
  isCellEditable(gridCell: GridCell): boolean;
121
123
  isEveryCellEditable(gridCells: GridCell[]): boolean;
122
124
  getRowCount(): number;
123
- getVisibleRowCount(): number;
124
125
  getRowsInViewport(): IRowNode[];
125
126
  getColumnCount(): number;
126
127
  getVisibleColumnCount(): number;
@@ -130,4 +131,6 @@ export declare class GridApiImpl extends ApiBase implements GridApi {
130
131
  getGridContainerElement(): HTMLElement | null;
131
132
  openGridInfoSettingsPanel(): void;
132
133
  getAgGridRowModelType(): RowModelType;
134
+ getVisibleRowCount(): number;
135
+ showTransposedView(transposeConfig?: TransposeConfig): void;
133
136
  }
@@ -4,6 +4,8 @@ import { SystemHighlightCellAdd, SystemHighlightCellDelete, SystemHighlightCellD
4
4
  import * as ModuleConstants from '../../Utilities/Constants/ModuleConstants';
5
5
  import { GridInternalApi } from '../Internal/GridInternalApi';
6
6
  import ArrayExtensions from '../../Utilities/Extensions/ArrayExtensions';
7
+ import { logDeprecation } from '../../Utilities/logDeprecation';
8
+ import { WINDOW_SHOW_TRANSPOSED_VIEW } from '../../View/Components/Popups/WindowPopups/windowFactory';
7
9
  export class GridApiImpl extends ApiBase {
8
10
  constructor(adaptable) {
9
11
  super(adaptable);
@@ -12,13 +14,18 @@ export class GridApiImpl extends ApiBase {
12
14
  getGridState() {
13
15
  return this.getAdaptableState().Grid;
14
16
  }
15
- resetGridData(dataSource) {
17
+ loadGridData(dataSource) {
16
18
  this.adaptable.setGridData(dataSource);
17
19
  const allRowNodes = this.getAllRowNodes();
18
- this.internalApi.fireGridDataChangedEvent(dataSource, allRowNodes, 'Add');
20
+ this.internalApi.fireGridDataChangedEvent(dataSource, allRowNodes, 'Load');
21
+ }
22
+ resetGridData(dataSource) {
23
+ logDeprecation(this.adaptable.logger, 'GridApi', 'resetGridData', 'loadGridData');
24
+ this.loadGridData(dataSource);
19
25
  }
20
26
  setInitialGridData(data) {
21
- this.adaptable.setGridData(data);
27
+ logDeprecation(this.adaptable.logger, 'GridApi', 'setInitialGridData', 'loadGridData');
28
+ this.loadGridData(data);
22
29
  }
23
30
  getGridData() {
24
31
  return this.adaptable.getGridData();
@@ -26,6 +33,15 @@ export class GridApiImpl extends ApiBase {
26
33
  getFilteredData() {
27
34
  return this.adaptable.getFilteredData();
28
35
  }
36
+ getVisibleData() {
37
+ const data = [];
38
+ this.adaptable.forAllVisibleRowNodesDo((rowNode) => {
39
+ if (!this.isGroupRowNode(rowNode)) {
40
+ data.push(rowNode.data);
41
+ }
42
+ });
43
+ return data;
44
+ }
29
45
  async updateGridData(dataRows, dataUpdateConfig) {
30
46
  const rowNodes = await this.adaptable.updateRows(dataRows, dataUpdateConfig);
31
47
  this.internalApi.fireGridDataChangedEvent(dataRows, rowNodes, 'Edit');
@@ -114,9 +130,6 @@ export class GridApiImpl extends ApiBase {
114
130
  // slightly round the houses but we have to call ColumnFilterAPI as it does it properly
115
131
  this.adaptable.api.columnFilterApi.clearColumnFilters();
116
132
  }
117
- getAgGridInstance() {
118
- return this.adaptable.gridOptions;
119
- }
120
133
  getColumnSorts() {
121
134
  return this.getAdaptableState().Grid.ColumnSorts;
122
135
  }
@@ -271,7 +284,9 @@ export class GridApiImpl extends ApiBase {
271
284
  return this.adaptable.getFirstDisplayedRowNode();
272
285
  }
273
286
  getVisibleRowNodes(config) {
274
- return this.adaptable.getVisibleRowNodes();
287
+ const rowNodes = [];
288
+ this.adaptable.forAllVisibleRowNodesDo((rowNode) => rowNodes.push(rowNode), config);
289
+ return rowNodes;
275
290
  }
276
291
  getAllRowNodes(config) {
277
292
  return this.adaptable.getAllRowNodes(config);
@@ -330,10 +345,10 @@ export class GridApiImpl extends ApiBase {
330
345
  this.adaptable.expandRowGroupsForValues(columnValues);
331
346
  }
332
347
  isGridPivotable() {
333
- return this.adaptable.isGridPivotable();
348
+ return !this.getAdaptableApi().internalApi.isGridInTreeMode();
334
349
  }
335
350
  isGridGroupable() {
336
- return this.adaptable.isGridGroupable();
351
+ return !this.getAdaptableApi().internalApi.isGridInTreeMode();
337
352
  }
338
353
  isGridSelectable() {
339
354
  return this.adaptable.isGridSelectable();
@@ -349,7 +364,7 @@ export class GridApiImpl extends ApiBase {
349
364
  }
350
365
  redrawGrid() {
351
366
  this.adaptable.redrawBody();
352
- this.adaptable.redrawHeader();
367
+ this.adaptable.refreshHeader();
353
368
  }
354
369
  getGridCellsForRawValue(columnId, rawValue) {
355
370
  const gridCells = this.adaptable.getGridCellsForColumn(columnId);
@@ -452,7 +467,7 @@ export class GridApiImpl extends ApiBase {
452
467
  }
453
468
  refreshGroupRowNodes() {
454
469
  // see https://www.ag-grid.com/javascript-data-grid/client-side-row-stages/#refreshing-the-client-side-model
455
- this.getAgGridInstance().api.refreshClientSideRowModel('group');
470
+ this.getAdaptableApi().agGridApi.refreshClientSideRowModel('group');
456
471
  this.adaptable.updateRowGroupsExpandedState();
457
472
  }
458
473
  isCellEditable(gridCell) {
@@ -479,9 +494,6 @@ export class GridApiImpl extends ApiBase {
479
494
  getRowCount() {
480
495
  return this.adaptable.getRowCount();
481
496
  }
482
- getVisibleRowCount() {
483
- return this.adaptable.getVisibleRowCount();
484
- }
485
497
  getRowsInViewport() {
486
498
  return this.adaptable.getRowsInViewport();
487
499
  }
@@ -509,4 +521,27 @@ export class GridApiImpl extends ApiBase {
509
521
  getAgGridRowModelType() {
510
522
  return this.adaptable.getAgGridRowModelType();
511
523
  }
524
+ getVisibleRowCount() {
525
+ logDeprecation(this.adaptable.logger, 'GridApi', 'getVisibleRowCount', 'getRowCount');
526
+ return this.getRowCount();
527
+ }
528
+ showTransposedView(transposeConfig = {}) {
529
+ var _a, _b, _c, _d;
530
+ const transposedColumnId = (_a = transposeConfig.transposedColumnId) !== null && _a !== void 0 ? _a : this.getAdaptableApi().optionsApi.getPrimaryKey();
531
+ const hideTransposedColumn = (_b = transposeConfig.hideTransposedColumn) !== null && _b !== void 0 ? _b : true;
532
+ const visibleColumns = (_c = transposeConfig.visibleColumns) !== null && _c !== void 0 ? _c : false;
533
+ const visibleRows = (_d = transposeConfig.visibleRows) !== null && _d !== void 0 ? _d : false;
534
+ this.adaptable.api.internalApi.showPopupWindow({
535
+ id: WINDOW_SHOW_TRANSPOSED_VIEW,
536
+ factoryId: WINDOW_SHOW_TRANSPOSED_VIEW,
537
+ title: 'Transposed View',
538
+ icon: 'grid',
539
+ popupProps: {
540
+ transposedColumnId,
541
+ hideTransposedColumn,
542
+ visibleColumns,
543
+ visibleRows,
544
+ },
545
+ });
546
+ }
512
547
  }
@@ -9,6 +9,7 @@ import { LayoutInternalApi } from '../Internal/LayoutInternalApi';
9
9
  export declare class LayoutApiImpl extends ApiBase implements LayoutApi {
10
10
  internalApi: LayoutInternalApi;
11
11
  constructor(adaptable: IAdaptable);
12
+ isCurrentLayoutPivot(): boolean;
12
13
  getLayoutState(): LayoutState;
13
14
  shouldAutoSaveLayouts: () => boolean;
14
15
  getCurrentVisibleColumnIdsMap(): {
@@ -41,6 +42,8 @@ export declare class LayoutApiImpl extends ApiBase implements LayoutApi {
41
42
  removeColumnFromCurrentLayout(columnId: string): void;
42
43
  removeColumnFromAllLayouts(columnId: string): void;
43
44
  removeColumnFromLayout(columnId: string, layoutName: string): void;
45
+ addColumnToLayout(columnId: string, layoutName: string): void;
46
+ addColumnToCurrentLayout(columnId: string): void;
44
47
  getLayoutSupportedFeatures(): {
45
48
  RowGroupedColumns: boolean;
46
49
  AggregationColumns: boolean;
@@ -18,6 +18,9 @@ export class LayoutApiImpl extends ApiBase {
18
18
  };
19
19
  this.internalApi = new LayoutInternalApi(adaptable);
20
20
  }
21
+ isCurrentLayoutPivot() {
22
+ return this.getCurrentLayout().EnablePivot;
23
+ }
21
24
  getLayoutState() {
22
25
  return this.getAdaptableState().Layout;
23
26
  }
@@ -221,6 +224,21 @@ export class LayoutApiImpl extends ApiBase {
221
224
  }
222
225
  }
223
226
  }
227
+ addColumnToLayout(columnId, layoutName) {
228
+ const column = this.getAdaptableApi().columnApi.getColumnWithColumnId(columnId);
229
+ if (column) {
230
+ const layout = this.getLayoutByName(layoutName);
231
+ if (layout) {
232
+ if (!layout.Columns.includes(columnId)) {
233
+ this.dispatchAction(LayoutRedux.LayoutAddColumn(layoutName, columnId));
234
+ this.getAdaptableApi().columnApi.showColumn(columnId);
235
+ }
236
+ }
237
+ }
238
+ }
239
+ addColumnToCurrentLayout(columnId) {
240
+ this.addColumnToLayout(columnId, this.getCurrentLayoutName());
241
+ }
224
242
  getLayoutSupportedFeatures() {
225
243
  const layoutSupportedFeatures = {
226
244
  RowGroupedColumns: true,
@@ -0,0 +1,18 @@
1
+ import { ApiBase } from './ApiBase';
2
+ import { NoteApi } from '../NoteApi';
3
+ import { AdaptableNote, AdaptableNotes, NoteState } from '../../PredefinedConfig/NoteState';
4
+ import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
5
+ import { NoteInternalApi } from '../Internal/NoteInternalApi';
6
+ import { CellAddress } from '../../types';
7
+ export declare class NoteApiImpl extends ApiBase implements NoteApi {
8
+ internalApi: NoteInternalApi;
9
+ constructor(adaptable: IAdaptable);
10
+ addNote(noteStr: string, primaryKeyValue: any, columnId: string): void;
11
+ editNote(note: AdaptableNote): void;
12
+ updateNoteText(noteStr: string, note: AdaptableNote): void;
13
+ deleteNote(note: AdaptableNote): void;
14
+ getNoteState(): NoteState;
15
+ getAllNotes(): AdaptableNotes;
16
+ getNotesForCell(address: CellAddress): AdaptableNote[];
17
+ getNoteByUuid(uuid: string): AdaptableNote | undefined;
18
+ }
@@ -0,0 +1,40 @@
1
+ import { ApiBase } from './ApiBase';
2
+ import * as NoteRedux from '../../Redux/ActionsReducers/NoteRedux';
3
+ import { NoteInternalApi } from '../Internal/NoteInternalApi';
4
+ export class NoteApiImpl extends ApiBase {
5
+ constructor(adaptable) {
6
+ super(adaptable);
7
+ this.internalApi = new NoteInternalApi(adaptable);
8
+ }
9
+ addNote(noteStr, primaryKeyValue, columnId) {
10
+ const note = {
11
+ Text: noteStr,
12
+ PrimaryKeyValue: primaryKeyValue,
13
+ ColumnId: columnId,
14
+ Timestamp: Date.now(),
15
+ };
16
+ this.dispatchAction(NoteRedux.NoteAdd(note));
17
+ }
18
+ editNote(note) {
19
+ note.Timestamp = Date.now();
20
+ this.dispatchAction(NoteRedux.NoteEdit(note));
21
+ }
22
+ updateNoteText(noteStr, note) {
23
+ this.editNote(Object.assign(Object.assign({}, note), { Text: noteStr }));
24
+ }
25
+ deleteNote(note) {
26
+ this.dispatchAction(NoteRedux.NoteDelete(note));
27
+ }
28
+ getNoteState() {
29
+ return this.getAdaptableState().Note;
30
+ }
31
+ getAllNotes() {
32
+ return this.getNoteState().Notes;
33
+ }
34
+ getNotesForCell(address) {
35
+ return NoteRedux.GetNotesSelector(this.getAdaptableState().Note, address);
36
+ }
37
+ getNoteByUuid(uuid) {
38
+ return this.getAllNotes().find((note) => note.Uuid === uuid);
39
+ }
40
+ }
@@ -1,11 +1,11 @@
1
1
  import { ApiBase } from './ApiBase';
2
- import { ActionColumnOptions, ActionRowOptions, AdaptableOptions, AlertOptions, CalendarOptions, CellSummaryOptions, ChartingOptions, ColumnOptions, NotesOptions, ContainerOptions, DashboardOptions, DataChangeHistoryOptions, DataSetOptions, EditOptions, EntitlementOptions, ExportOptions, FlashingCellOptions, FormatColumnOptions, LayoutOptions, MenuOptions, NotificationsOptions, OptionsApi, QuickSearchOptions, SettingsPanelOptions, StateOptions, TeamSharingOptions, ToolPanelOptions, UserInterfaceOptions, GridFilterOptions } from '../../types';
2
+ import { ActionColumnOptions, ActionRowOptions, AdaptableOptions, AlertOptions, CalendarOptions, CellSummaryOptions, ChartingOptions, ColumnOptions, NoteOptions, ContainerOptions, DashboardOptions, DataChangeHistoryOptions, DataSetOptions, EditOptions, EntitlementOptions, ExportOptions, FlashingCellOptions, FormatColumnOptions, LayoutOptions, MenuOptions, NotificationsOptions, OptionsApi, QuickSearchOptions, SettingsPanelOptions, StateOptions, TeamSharingOptions, ToolPanelOptions, UserInterfaceOptions, GridFilterOptions } from '../../types';
3
3
  import { GroupingOptions } from '../../AdaptableOptions/GroupingOptions';
4
4
  import { CustomSortOptions } from '../../AdaptableOptions/CustomSortOptions';
5
5
  import { Fdc3Options } from '../../AdaptableOptions/Fdc3Options';
6
6
  import { ExpressionOptions } from '../../AdaptableOptions/ExpressionOptions';
7
7
  import { ColumnFilterOptions } from '../../AdaptableOptions/ColumnFilterOptions';
8
- import { CommentsOptions } from '../../AdaptableOptions/CommentsOptions';
8
+ import { CommentOptions } from '../../AdaptableOptions/CommentOptions';
9
9
  export declare class OptionsApiImpl extends ApiBase implements OptionsApi {
10
10
  getAdaptableId(): string;
11
11
  getAdaptableStateKey(): string;
@@ -19,8 +19,8 @@ export declare class OptionsApiImpl extends ApiBase implements OptionsApi {
19
19
  getCellSummaryOptions(): CellSummaryOptions;
20
20
  getCalendarOptions(): CalendarOptions;
21
21
  getColumnOptions(): ColumnOptions;
22
- getNotesOptions(): NotesOptions;
23
- getCommentsOptions(): Readonly<CommentsOptions<any>>;
22
+ getNoteOptions(): NoteOptions;
23
+ getCommentOptions(): Readonly<CommentOptions<any>>;
24
24
  getCustomSortOptions(): CustomSortOptions;
25
25
  getContainerOptions(): ContainerOptions;
26
26
  getDataSetOptions(): DataSetOptions;
@@ -36,11 +36,11 @@ export class OptionsApiImpl extends ApiBase {
36
36
  getColumnOptions() {
37
37
  return this.getOptions().columnOptions;
38
38
  }
39
- getNotesOptions() {
40
- return this.getOptions().notesOptions;
39
+ getNoteOptions() {
40
+ return this.getOptions().noteOptions;
41
41
  }
42
- getCommentsOptions() {
43
- return this.getOptions().commentsOptions;
42
+ getCommentOptions() {
43
+ return this.getOptions().commentOptions;
44
44
  }
45
45
  getCustomSortOptions() {
46
46
  return this.getOptions().customSortOptions;
@@ -10,6 +10,7 @@ export declare class ScopeApiImpl extends ApiBase implements ScopeApi {
10
10
  scopeIsEmpty(scope: AdaptableScope): boolean;
11
11
  scopeIsAll(scope: AdaptableScope): boolean;
12
12
  scopeHasDataType(scope: AdaptableScope): boolean;
13
+ scopeHasColumnType(scope: AdaptableScope): boolean;
13
14
  scopeHasOnlyBooleanDataType(scope: AdaptableScope): boolean;
14
15
  scopeHasColumns(scope: AdaptableScope): boolean;
15
16
  isSingleColumnScope(scope: AdaptableScope): boolean;
@@ -21,6 +22,7 @@ export declare class ScopeApiImpl extends ApiBase implements ScopeApi {
21
22
  isPrimaryKeyColumnInScopeColumns(scope: AdaptableScope): boolean;
22
23
  getScopeToString(scope: AdaptableScope): string;
23
24
  getColumnIdsInScope(scope: AdaptableScope): string[] | undefined;
25
+ getColumnTypesInScope(scope: AdaptableScope): string[] | undefined;
24
26
  getDataTypesInScope(scope: AdaptableScope): ScopeDataType[] | undefined;
25
27
  isColumnInNumericScope(column: AdaptableColumn, scope: AdaptableScope): boolean;
26
28
  isColumnInStringsScope(column: AdaptableColumn, scope: AdaptableScope): boolean;
@@ -13,6 +13,10 @@ export class ScopeApiImpl extends ApiBase {
13
13
  if ('DataTypes' in scope && scope.DataTypes.includes(column.dataType)) {
14
14
  return true;
15
15
  }
16
+ if ('ColumnTypes' in scope &&
17
+ scope.ColumnTypes.some((columnType) => { var _a; return (_a = column.columnTypes) === null || _a === void 0 ? void 0 : _a.includes(columnType); })) {
18
+ return true;
19
+ }
16
20
  if ('ColumnIds' in scope && scope.ColumnIds.includes(column.columnId)) {
17
21
  return true;
18
22
  }
@@ -27,13 +31,7 @@ export class ScopeApiImpl extends ApiBase {
27
31
  return columns;
28
32
  }
29
33
  return columns.filter((c) => {
30
- if ('DataTypes' in scope && scope.DataTypes.includes(c.dataType)) {
31
- return true;
32
- }
33
- if ('ColumnIds' in scope && scope.ColumnIds.includes(c.columnId)) {
34
- return true;
35
- }
36
- return false;
34
+ return this.isColumnInScope(c, scope);
37
35
  });
38
36
  }
39
37
  getScopeDescription(scope) {
@@ -44,6 +42,9 @@ export class ScopeApiImpl extends ApiBase {
44
42
  // do we need a true check here?
45
43
  return 'Columns: All';
46
44
  }
45
+ if ('ColumnTypes' in scope) {
46
+ return ((scope.ColumnTypes.length > 0 ? 'ColumnTypes' : 'ColumnType') + ': ' + scope.ColumnTypes.join(', '));
47
+ }
47
48
  if ('DataTypes' in scope) {
48
49
  return ((scope.DataTypes.length > 0 ? 'DataTypes' : 'DataType') + ': ' + scope.DataTypes.join(', '));
49
50
  }
@@ -67,6 +68,9 @@ export class ScopeApiImpl extends ApiBase {
67
68
  scopeHasDataType(scope) {
68
69
  return scope !== undefined && 'DataTypes' in scope;
69
70
  }
71
+ scopeHasColumnType(scope) {
72
+ return scope !== undefined && 'ColumnTypes' in scope;
73
+ }
70
74
  scopeHasOnlyBooleanDataType(scope) {
71
75
  var _a;
72
76
  return 'DataTypes' in scope && ((_a = scope.DataTypes) === null || _a === void 0 ? void 0 : _a.length) == 1 && scope.DataTypes[0] == 'Boolean';
@@ -120,6 +124,9 @@ export class ScopeApiImpl extends ApiBase {
120
124
  if ('All' in scope) {
121
125
  return 'Columns: All';
122
126
  }
127
+ if ('ColumnTypes' in scope) {
128
+ return 'ColumnTypes: ' + scope.ColumnTypes.join(',');
129
+ }
123
130
  if ('DataTypes' in scope) {
124
131
  return 'DataTypes: ' + scope.DataTypes.join(',');
125
132
  }
@@ -140,6 +147,12 @@ export class ScopeApiImpl extends ApiBase {
140
147
  }
141
148
  return undefined;
142
149
  }
150
+ getColumnTypesInScope(scope) {
151
+ if (scope !== undefined && 'ColumnTypes' in scope) {
152
+ return scope.ColumnTypes;
153
+ }
154
+ return undefined;
155
+ }
143
156
  getDataTypesInScope(scope) {
144
157
  if (scope !== undefined && 'DataTypes' in scope) {
145
158
  return scope.DataTypes;
@@ -5,6 +5,5 @@ import { StatusPanelDef } from '@ag-grid-community/core';
5
5
  export declare class StatusBarApiImpl extends ApiBase implements StatusBarApi {
6
6
  getAdaptableStatusBars(): AdaptableStatusBar[];
7
7
  getAgGridStatusPanels(): StatusPanelDef[];
8
- getAgGridStatusBar(): StatusPanelDef[];
9
8
  setStatusBarPanels(statusPanels: AdaptableStatusBar[]): void;
10
9
  }
@@ -7,9 +7,6 @@ export class StatusBarApiImpl extends ApiBase {
7
7
  getAgGridStatusPanels() {
8
8
  return this.adaptable.getAgGridStatusPanels();
9
9
  }
10
- getAgGridStatusBar() {
11
- return this.adaptable.getAgGridStatusPanels();
12
- }
13
10
  setStatusBarPanels(statusPanels) {
14
11
  this.dispatchAction(StatusBarSetPanels(statusPanels));
15
12
  }
@@ -10,15 +10,15 @@ export class ToolPanelApiImpl extends ApiBase {
10
10
  this.showModulePopup(ModuleConstants.ToolPanelModuleId);
11
11
  }
12
12
  openAdapTableToolPanel() {
13
- let gridOptions = this.getGridApi().getAgGridInstance();
14
- if (gridOptions) {
15
- gridOptions.api.openToolPanel('adaptable');
13
+ const agGridApi = this.getAdaptableApi().agGridApi;
14
+ if (agGridApi) {
15
+ agGridApi.openToolPanel('adaptable');
16
16
  }
17
17
  }
18
18
  closeAdapTableToolPanel() {
19
- let gridOptions = this.getGridApi().getAgGridInstance();
20
- if (gridOptions) {
21
- gridOptions.api.closeToolPanel();
19
+ const agGridApi = this.getAdaptableApi().agGridApi;
20
+ if (agGridApi) {
21
+ agGridApi.closeToolPanel();
22
22
  }
23
23
  }
24
24
  getCustomToolPanels() {
@@ -2,7 +2,6 @@ import { ApiBase } from './ApiBase';
2
2
  import { UserInterfaceApi } from '../UserInterfaceApi';
3
3
  import { AdaptableColumn } from '../../PredefinedConfig/Common/AdaptableColumn';
4
4
  import { AdaptableStyle } from '../../PredefinedConfig/Common/AdaptableStyle';
5
- import { ColumnMenuContext, ContextMenuContext, UserMenuItem } from '../../PredefinedConfig/Common/Menu';
6
5
  import { BulkUpdatePermittedValues, CustomSortPermittedValues, EditLookUpPermittedValues, FilterPermittedValues, PermittedValues } from '../../AdaptableOptions/UserInterfaceOptions';
7
6
  import { AdaptableObjectTag, CustomWindowConfig, GridCell } from '../../types';
8
7
  import { UserInterfaceInternalApi } from '../Internal/UserInterfaceInternalApi';
@@ -24,8 +23,6 @@ export declare class UserInterfaceApiImpl extends ApiBase implements UserInterfa
24
23
  getEditLookUpItems(): EditLookUpPermittedValues[];
25
24
  getEditLookUpItemForColumn(column: AdaptableColumn): EditLookUpPermittedValues | undefined;
26
25
  getEditLookUpValuesForEditLookUpItem(editLookUpItem: EditLookUpPermittedValues, gridCell: GridCell): any[] | undefined;
27
- addColumnMenuItem(userMenuItem: UserMenuItem<ColumnMenuContext>): void;
28
- addContextMenuItem(userMenuItem: UserMenuItem<ContextMenuContext>): void;
29
26
  getEditableCellStyle(): AdaptableStyle | undefined;
30
27
  getReadOnlyCellStyle(): AdaptableStyle | undefined;
31
28
  getAdaptableObjectTags(): AdaptableObjectTag[] | undefined;
@@ -142,14 +142,6 @@ export class UserInterfaceApiImpl extends ApiBase {
142
142
  }
143
143
  return this.adaptable.api.gridApi.internalApi.getEditLookUpValuesForColumn(editLookUpItem, gridCell.column, gridCell);
144
144
  }
145
- addColumnMenuItem(userMenuItem) {
146
- var _a;
147
- (_a = this.getMenuOptions().columnMenuItems) === null || _a === void 0 ? void 0 : _a.push(userMenuItem);
148
- }
149
- addContextMenuItem(userMenuItem) {
150
- var _a;
151
- (_a = this.getMenuOptions().contextMenuItems) === null || _a === void 0 ? void 0 : _a.push(userMenuItem);
152
- }
153
145
  getEditableCellStyle() {
154
146
  return this.getUserInterfaceOptions().editableCellStyle;
155
147
  }
@@ -1,7 +1,9 @@
1
- import { IRowNode } from '@ag-grid-community/core';
1
+ import { ColDef, IRowNode } from '@ag-grid-community/core';
2
2
  import { AdaptableForm } from '../../PredefinedConfig/Common/AdaptableForm';
3
3
  import { CreateActionRowFormContext, EditActionRowFormContext } from '../../AdaptableOptions/ActionRowOptions';
4
+ import { AdaptableButton } from '../../PredefinedConfig/Common/AdaptableButton';
4
5
  import { ApiBase } from '../Implementation/ApiBase';
6
+ import { ActionColumnContext } from '../../AdaptableOptions/ActionColumnOptions';
5
7
  export declare class ActionRowInternalApi extends ApiBase {
6
8
  buildRowEditForm(rowNode: IRowNode): AdaptableForm<EditActionRowFormContext>;
7
9
  buildRowCreateForm(clonedRowNode?: IRowNode): AdaptableForm<CreateActionRowFormContext>;
@@ -21,4 +23,6 @@ export declare class ActionRowInternalApi extends ApiBase {
21
23
  private buildFormFieldLabelContext;
22
24
  private getFieldTypeFromColumnType;
23
25
  private getFieldValueOptions;
26
+ getColDefsForActionRowColumns(): ColDef[];
27
+ getActionRowButtonDefs(): AdaptableButton<ActionColumnContext<any>>[];
24
28
  }
@@ -1,4 +1,7 @@
1
1
  import { ApiBase } from '../Implementation/ApiBase';
2
+ import { AB_SPECIAL_COLUMN, ADAPTABLE_ROW_ACTION_BUTTONS, } from '../../Utilities/Constants/GeneralConstants';
3
+ import UIHelper from '../../View/UIHelper';
4
+ import { ActionColumnRenderer, ReactActionColumnRenderer } from '../../agGrid/ActionColumnRenderer';
2
5
  export class ActionRowInternalApi extends ApiBase {
3
6
  buildRowEditForm(rowNode) {
4
7
  return this.buildActionRow('rowEdited', rowNode);
@@ -197,4 +200,107 @@ export class ActionRowInternalApi extends ApiBase {
197
200
  label: value,
198
201
  }));
199
202
  }
203
+ getColDefsForActionRowColumns() {
204
+ const actionButtons = this.getActionRowButtonDefs();
205
+ if (!actionButtons.length) {
206
+ return [];
207
+ }
208
+ return [
209
+ {
210
+ headerName: '',
211
+ colId: ADAPTABLE_ROW_ACTION_BUTTONS,
212
+ hide: false,
213
+ editable: false,
214
+ // 15px is the icon width + left&right padding + left&right border
215
+ width: Math.max(actionButtons.length * (UIHelper.getSimpleButtonPaddingWidth() * 2 + 15) + 2,
216
+ // If the width of the column is to small, the width will not be applied
217
+ // this triggers the setLayout an infinite loop because the width read from the grid is always different
218
+ 40),
219
+ resizable: false,
220
+ lockVisible: true,
221
+ suppressColumnsToolPanel: true,
222
+ suppressFiltersToolPanel: true,
223
+ suppressHeaderMenuButton: true,
224
+ suppressMovable: true,
225
+ filter: false,
226
+ sortable: false,
227
+ enableRowGroup: false,
228
+ pinned: this.getActionRowOptions().actionRowButtonOptions.position === 'pinnedRight'
229
+ ? 'right'
230
+ : 'left',
231
+ cellRenderer: this.getAdaptableVariant() === 'react' ? ReactActionColumnRenderer : ActionColumnRenderer,
232
+ cellClass: ADAPTABLE_ROW_ACTION_BUTTONS,
233
+ type: [AB_SPECIAL_COLUMN, 'abColDefObject'],
234
+ },
235
+ ];
236
+ }
237
+ getActionRowButtonDefs() {
238
+ const actionRowButtons = this.getActionRowApi().getActionRowButtons();
239
+ if (!(actionRowButtons === null || actionRowButtons === void 0 ? void 0 : actionRowButtons.length)) {
240
+ return [];
241
+ }
242
+ const defaultActionRowButtonConfiguration = {
243
+ create: {
244
+ icon: {
245
+ name: 'add',
246
+ },
247
+ tooltip: 'Create',
248
+ onClick: () => {
249
+ this.getActionRowApi().displayCreateActionRow();
250
+ },
251
+ },
252
+ edit: {
253
+ icon: {
254
+ name: 'edit',
255
+ },
256
+ tooltip: 'Edit',
257
+ onClick: (button, context) => {
258
+ this.getActionRowApi().displayEditActionRow(context.primaryKeyValue);
259
+ },
260
+ },
261
+ clone: {
262
+ icon: {
263
+ name: 'clone',
264
+ },
265
+ tooltip: 'Clone',
266
+ onClick: (button, context) => {
267
+ this.getActionRowApi().displayCloneActionRow(context.primaryKeyValue);
268
+ },
269
+ },
270
+ delete: {
271
+ icon: {
272
+ name: 'delete',
273
+ },
274
+ tooltip: 'Delete',
275
+ onClick: (button, context) => {
276
+ var _a, _b;
277
+ const eventInfo = {
278
+ type: 'rowDeleted',
279
+ rowNode: context.rowNode,
280
+ adaptableApi: context.adaptableApi,
281
+ userName: context.userName,
282
+ adaptableId: context.adaptableId,
283
+ };
284
+ this.getEventApi().emit('ActionRowSubmitted', eventInfo);
285
+ (_b = (_a = this.getActionRowOptions().actionRowFormOptions).onFormSubmit) === null || _b === void 0 ? void 0 : _b.call(_a, eventInfo);
286
+ },
287
+ },
288
+ };
289
+ const actionButtons = actionRowButtons
290
+ .map((actionRowButtonType) => {
291
+ var _a, _b;
292
+ const defaultButtonConfig = defaultActionRowButtonConfiguration[actionRowButtonType];
293
+ if (!defaultButtonConfig) {
294
+ // should NOT happen unless the user sent some invalid button type in the predefined config
295
+ return;
296
+ }
297
+ const customButtonConfig = (_b = (_a = this.getActionRowOptions().actionRowButtonOptions).customConfiguration) === null || _b === void 0 ? void 0 : _b.call(_a, Object.assign(Object.assign({}, this.getAdaptableApi().internalApi.buildBaseContext()), { actionRowButtonType }));
298
+ if (!customButtonConfig) {
299
+ return defaultButtonConfig;
300
+ }
301
+ return Object.assign(Object.assign({}, defaultButtonConfig), customButtonConfig);
302
+ })
303
+ .filter(Boolean);
304
+ return actionButtons;
305
+ }
200
306
  }