@adaptabletools/adaptable 20.3.0 → 21.0.0-canary.0

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 (415) hide show
  1. package/agGrid.d.ts +2 -1
  2. package/agGrid.js +2 -1
  3. package/base.css +36 -15
  4. package/base.css.map +1 -1
  5. package/icons/add-circle.svg +1 -0
  6. package/icons/add.svg +1 -0
  7. package/icons/alert.svg +1 -0
  8. package/icons/align-center.svg +1 -0
  9. package/icons/align-justify.svg +1 -0
  10. package/icons/align-left.svg +1 -0
  11. package/icons/align-right.svg +1 -0
  12. package/icons/arrow-down-long.svg +1 -0
  13. package/icons/arrow-down.svg +1 -0
  14. package/icons/arrow-expand.svg +1 -0
  15. package/icons/arrow-left.svg +1 -0
  16. package/icons/arrow-right.svg +1 -0
  17. package/icons/arrow-up-long.svg +1 -0
  18. package/icons/arrow-up.svg +1 -0
  19. package/icons/assignment.svg +1 -0
  20. package/icons/badge.svg +1 -0
  21. package/icons/bold.svg +1 -0
  22. package/icons/boolean-list.svg +1 -0
  23. package/icons/brain.svg +1 -0
  24. package/icons/broadcast.svg +1 -0
  25. package/icons/brush.svg +1 -0
  26. package/icons/building.svg +1 -0
  27. package/icons/calculated-column.svg +1 -0
  28. package/icons/calendar.svg +1 -0
  29. package/icons/call.svg +1 -0
  30. package/icons/case-lower.svg +1 -0
  31. package/icons/case-sentence.svg +1 -0
  32. package/icons/case-upper.svg +1 -0
  33. package/icons/cells.svg +1 -0
  34. package/icons/chart.svg +1 -0
  35. package/icons/chat.svg +1 -0
  36. package/icons/check-circle.svg +1 -0
  37. package/icons/check.svg +1 -0
  38. package/icons/checked.svg +1 -0
  39. package/icons/clipboard.svg +1 -0
  40. package/icons/clone.svg +1 -0
  41. package/icons/close.svg +1 -0
  42. package/icons/cloud-upload.svg +1 -0
  43. package/icons/collapse-all.svg +1 -0
  44. package/icons/collapse.svg +1 -0
  45. package/icons/color-palette.svg +1 -0
  46. package/icons/column-add.svg +1 -0
  47. package/icons/column-outline.svg +1 -0
  48. package/icons/columns.svg +1 -0
  49. package/icons/comment.svg +1 -0
  50. package/icons/comments.svg +1 -0
  51. package/icons/contact.svg +1 -0
  52. package/icons/contains.svg +1 -0
  53. package/icons/copy.svg +1 -0
  54. package/icons/csv.svg +1 -0
  55. package/icons/dashboard.svg +1 -0
  56. package/icons/data-set.svg +1 -0
  57. package/icons/date-range.svg +1 -0
  58. package/icons/delete.svg +1 -0
  59. package/icons/division.svg +1 -0
  60. package/icons/dock.svg +1 -0
  61. package/icons/dollar.svg +1 -0
  62. package/icons/download.svg +1 -0
  63. package/icons/downloaded.svg +1 -0
  64. package/icons/drag.svg +1 -0
  65. package/icons/edit-table.svg +1 -0
  66. package/icons/edit.svg +1 -0
  67. package/icons/ends-with.svg +1 -0
  68. package/icons/equals.svg +1 -0
  69. package/icons/equation.svg +1 -0
  70. package/icons/error.svg +1 -0
  71. package/icons/excel.svg +1 -0
  72. package/icons/expand-all.svg +1 -0
  73. package/icons/expand.svg +1 -0
  74. package/icons/exponent.svg +1 -0
  75. package/icons/export-data.svg +1 -0
  76. package/icons/export.svg +1 -0
  77. package/icons/fast-backward.svg +1 -0
  78. package/icons/fast-forward.svg +1 -0
  79. package/icons/fdc3.svg +1 -0
  80. package/icons/filled-circle.svg +1 -0
  81. package/icons/filter-list.svg +1 -0
  82. package/icons/filter-off.svg +1 -0
  83. package/icons/filter.svg +1 -0
  84. package/icons/flag.svg +1 -0
  85. package/icons/folder-open.svg +1 -0
  86. package/icons/folder-shared.svg +1 -0
  87. package/icons/folder.svg +1 -0
  88. package/icons/function.svg +1 -0
  89. package/icons/gradient.svg +1 -0
  90. package/icons/greater-than-or-equal.svg +1 -0
  91. package/icons/greater-than.svg +1 -0
  92. package/icons/grid-filter.svg +1 -0
  93. package/icons/grid-info.svg +1 -0
  94. package/icons/grid.svg +1 -0
  95. package/icons/history.svg +1 -0
  96. package/icons/home.svg +1 -0
  97. package/icons/horizontal-lines.svg +1 -0
  98. package/icons/import-export.svg +1 -0
  99. package/icons/import.svg +1 -0
  100. package/icons/info.svg +1 -0
  101. package/icons/interactions.svg +1 -0
  102. package/icons/italic.svg +1 -0
  103. package/icons/json.svg +1 -0
  104. package/icons/laptop.svg +1 -0
  105. package/icons/less-than-or-equal.svg +1 -0
  106. package/icons/less-than.svg +1 -0
  107. package/icons/lightning.svg +1 -0
  108. package/icons/link.svg +1 -0
  109. package/icons/list.svg +1 -0
  110. package/icons/logout.svg +1 -0
  111. package/icons/mail.svg +1 -0
  112. package/icons/menu.svg +1 -0
  113. package/icons/minus.svg +1 -0
  114. package/icons/money.svg +1 -0
  115. package/icons/multiplication.svg +1 -0
  116. package/icons/newpage.svg +1 -0
  117. package/icons/news.svg +1 -0
  118. package/icons/not-contains.svg +1 -0
  119. package/icons/not-equal.svg +1 -0
  120. package/icons/note.svg +1 -0
  121. package/icons/open-in-new.svg +1 -0
  122. package/icons/order.svg +1 -0
  123. package/icons/organisation.svg +1 -0
  124. package/icons/overline.svg +1 -0
  125. package/icons/paperclip.svg +1 -0
  126. package/icons/pause.svg +1 -0
  127. package/icons/percent-tag.svg +1 -0
  128. package/icons/percent.svg +1 -0
  129. package/icons/person.svg +1 -0
  130. package/icons/pie-chart.svg +1 -0
  131. package/icons/play.svg +1 -0
  132. package/icons/plus.svg +1 -0
  133. package/icons/quote.svg +1 -0
  134. package/icons/refresh.svg +1 -0
  135. package/icons/regex.svg +1 -0
  136. package/icons/reminder.svg +1 -0
  137. package/icons/resume.svg +1 -0
  138. package/icons/rows.svg +1 -0
  139. package/icons/save.svg +1 -0
  140. package/icons/schedule.svg +1 -0
  141. package/icons/science.svg +1 -0
  142. package/icons/search-table.svg +1 -0
  143. package/icons/search.svg +1 -0
  144. package/icons/select-all.svg +1 -0
  145. package/icons/select-fwd.svg +1 -0
  146. package/icons/select-off.svg +1 -0
  147. package/icons/settings.svg +1 -0
  148. package/icons/sort-asc.svg +1 -0
  149. package/icons/sort-desc.svg +1 -0
  150. package/icons/spanner.svg +1 -0
  151. package/icons/spark-line.svg +1 -0
  152. package/icons/starts-with.svg +1 -0
  153. package/icons/statusbar.svg +1 -0
  154. package/icons/stop.svg +1 -0
  155. package/icons/strikethrough.svg +1 -0
  156. package/icons/styled-grid.svg +1 -0
  157. package/icons/sync.svg +1 -0
  158. package/icons/tab-unselected.svg +1 -0
  159. package/icons/target.svg +1 -0
  160. package/icons/theme.svg +1 -0
  161. package/icons/traffic-lights.svg +1 -0
  162. package/icons/triangle-down.svg +1 -0
  163. package/icons/triangle-up.svg +1 -0
  164. package/icons/unchecked.svg +1 -0
  165. package/icons/underline.svg +1 -0
  166. package/icons/undo.svg +1 -0
  167. package/icons/unfilled-circle.svg +1 -0
  168. package/icons/upload.svg +1 -0
  169. package/icons/visibility-off-bold.svg +1 -0
  170. package/icons/visibility-off.svg +1 -0
  171. package/icons/visibility-on-bold.svg +1 -0
  172. package/icons/visibility-on.svg +1 -0
  173. package/icons/warning.svg +1 -0
  174. package/index.css +32 -15
  175. package/index.css.map +1 -1
  176. package/package.json +2 -2
  177. package/src/AdaptableInterfaces/IAdaptable.d.ts +10 -5
  178. package/src/AdaptableOptions/ColumnOptions.d.ts +38 -38
  179. package/src/AdaptableOptions/DefaultAdaptableOptions.js +3 -2
  180. package/src/AdaptableOptions/EditOptions.d.ts +4 -7
  181. package/src/AdaptableOptions/FilterOptions.d.ts +50 -15
  182. package/src/AdaptableOptions/LayoutOptions.d.ts +8 -21
  183. package/src/AdaptableOptions/PredicateOptions.d.ts +1 -1
  184. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +1 -1
  185. package/src/AdaptableState/Common/AdaptableColumn.d.ts +7 -0
  186. package/src/AdaptableState/Common/AdaptablePredicate.js +2 -2
  187. package/src/AdaptableState/Common/CustomWindowConfig.d.ts +2 -2
  188. package/src/AdaptableState/Common/ExtendedLayout.d.ts +50 -0
  189. package/src/AdaptableState/FormatColumnState.d.ts +8 -1
  190. package/src/AdaptableState/InternalState.d.ts +1 -1
  191. package/src/AdaptableState/LayoutState.d.ts +26 -6
  192. package/src/AdaptableState/Selection/GridCell.d.ts +32 -0
  193. package/src/AdaptableState/StyledColumnState.d.ts +2 -2
  194. package/src/Api/AlertApi.d.ts +5 -11
  195. package/src/Api/ColumnApi.d.ts +17 -1
  196. package/src/Api/ColumnFilterApi.d.ts +32 -2
  197. package/src/Api/CustomSortApi.d.ts +5 -10
  198. package/src/Api/FlashingCellApi.d.ts +10 -6
  199. package/src/Api/FormatColumnApi.d.ts +8 -18
  200. package/src/Api/Implementation/AlertApiImpl.d.ts +6 -9
  201. package/src/Api/Implementation/AlertApiImpl.js +7 -6
  202. package/src/Api/Implementation/ApiBase.d.ts +2 -12
  203. package/src/Api/Implementation/ApiBase.js +5 -5
  204. package/src/Api/Implementation/ColumnApiImpl.d.ts +5 -2
  205. package/src/Api/Implementation/ColumnApiImpl.js +59 -23
  206. package/src/Api/Implementation/ColumnFilterApiImpl.d.ts +7 -1
  207. package/src/Api/Implementation/ColumnFilterApiImpl.js +76 -3
  208. package/src/Api/Implementation/ColumnScopeApiImpl.js +10 -2
  209. package/src/Api/Implementation/CustomSortApiImpl.d.ts +5 -10
  210. package/src/Api/Implementation/CustomSortApiImpl.js +6 -4
  211. package/src/Api/Implementation/FlashingCellApiImpl.d.ts +7 -6
  212. package/src/Api/Implementation/FlashingCellApiImpl.js +11 -8
  213. package/src/Api/Implementation/FormatColumnApiImpl.d.ts +8 -18
  214. package/src/Api/Implementation/FormatColumnApiImpl.js +10 -9
  215. package/src/Api/Implementation/LayoutApiImpl.d.ts +3 -2
  216. package/src/Api/Implementation/LayoutApiImpl.js +101 -7
  217. package/src/Api/Implementation/LayoutHelpers.d.ts +1 -0
  218. package/src/Api/Implementation/LayoutHelpers.js +23 -4
  219. package/src/Api/Implementation/PlusMinusApiImpl.d.ts +7 -5
  220. package/src/Api/Implementation/PlusMinusApiImpl.js +10 -7
  221. package/src/Api/Implementation/ScheduleApiImpl.d.ts +9 -16
  222. package/src/Api/Implementation/ScheduleApiImpl.js +15 -17
  223. package/src/Api/Implementation/ShortcutApiImpl.d.ts +5 -6
  224. package/src/Api/Implementation/ShortcutApiImpl.js +7 -8
  225. package/src/Api/Implementation/StyledColumnApiImpl.d.ts +7 -8
  226. package/src/Api/Implementation/StyledColumnApiImpl.js +12 -9
  227. package/src/Api/Implementation/TeamSharingApiImpl.js +1 -4
  228. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +2 -1
  229. package/src/Api/Implementation/UserInterfaceApiImpl.js +10 -9
  230. package/src/Api/Internal/AdaptableInternalApi.d.ts +2 -0
  231. package/src/Api/Internal/AdaptableInternalApi.js +3 -0
  232. package/src/Api/Internal/AlertInternalApi.d.ts +6 -6
  233. package/src/Api/Internal/AlertInternalApi.js +10 -10
  234. package/src/Api/Internal/ColumnFilterInternalApi.d.ts +13 -0
  235. package/src/Api/Internal/ColumnFilterInternalApi.js +93 -1
  236. package/src/Api/Internal/ColumnInternalApi.d.ts +2 -1
  237. package/src/Api/Internal/ColumnInternalApi.js +4 -0
  238. package/src/Api/Internal/DashboardInternalApi.js +1 -1
  239. package/src/Api/Internal/EntitlementInternalApi.d.ts +1 -0
  240. package/src/Api/Internal/EntitlementInternalApi.js +8 -0
  241. package/src/Api/Internal/ExportInternalApi.js +1 -1
  242. package/src/Api/Internal/FlashingCellInternalApi.js +1 -1
  243. package/src/Api/Internal/FormatColumnInternalApi.d.ts +8 -11
  244. package/src/Api/Internal/FormatColumnInternalApi.js +13 -13
  245. package/src/Api/Internal/GridInternalApi.d.ts +7 -10
  246. package/src/Api/Internal/GridInternalApi.js +76 -27
  247. package/src/Api/Internal/LayoutInternalApi.d.ts +5 -5
  248. package/src/Api/Internal/LayoutInternalApi.js +42 -5
  249. package/src/Api/Internal/PredicateInternalApi.d.ts +2 -6
  250. package/src/Api/Internal/PredicateInternalApi.js +4 -6
  251. package/src/Api/Internal/UserInterfaceInternalApi.d.ts +1 -0
  252. package/src/Api/Internal/UserInterfaceInternalApi.js +10 -3
  253. package/src/Api/LayoutApi.d.ts +7 -2
  254. package/src/Api/PlusMinusApi.d.ts +11 -7
  255. package/src/Api/ScheduleApi.d.ts +9 -16
  256. package/src/Api/ShortcutApi.d.ts +5 -6
  257. package/src/Api/StyledColumnApi.d.ts +10 -7
  258. package/src/Api/UserInterfaceApi.d.ts +5 -6
  259. package/src/Redux/ActionsReducers/InternalRedux.d.ts +4 -4
  260. package/src/Redux/ActionsReducers/InternalRedux.js +7 -7
  261. package/src/Redux/ActionsReducers/StyledColumnRedux.d.ts +7 -0
  262. package/src/Redux/ActionsReducers/StyledColumnRedux.js +13 -0
  263. package/src/Redux/Store/AdaptableStore.js +10 -10
  264. package/src/Strategy/AdaptableModuleBase.d.ts +14 -4
  265. package/src/Strategy/AdaptableModuleBase.js +46 -9
  266. package/src/Strategy/AlertModule.d.ts +3 -4
  267. package/src/Strategy/AlertModule.js +7 -4
  268. package/src/Strategy/CalculatedColumnModule.js +2 -2
  269. package/src/Strategy/CellSummaryModule.js +2 -2
  270. package/src/Strategy/ChartingModule.d.ts +3 -1
  271. package/src/Strategy/ChartingModule.js +9 -3
  272. package/src/Strategy/ColumnFilterModule.d.ts +1 -1
  273. package/src/Strategy/ColumnFilterModule.js +31 -15
  274. package/src/Strategy/ColumnInfoModule.js +2 -2
  275. package/src/Strategy/CommentModule.d.ts +1 -1
  276. package/src/Strategy/CommentModule.js +3 -3
  277. package/src/Strategy/CustomSortModule.d.ts +3 -4
  278. package/src/Strategy/CustomSortModule.js +2 -2
  279. package/src/Strategy/DashboardModule.js +1 -1
  280. package/src/Strategy/DataChangeHistoryModule.d.ts +2 -1
  281. package/src/Strategy/DataChangeHistoryModule.js +3 -10
  282. package/src/Strategy/DataImportModule.js +3 -3
  283. package/src/Strategy/ExportModule.js +1 -1
  284. package/src/Strategy/Fdc3Module.js +1 -1
  285. package/src/Strategy/FlashingCellModule.d.ts +3 -5
  286. package/src/Strategy/FlashingCellModule.js +3 -3
  287. package/src/Strategy/FormatColumnModule.d.ts +3 -4
  288. package/src/Strategy/FormatColumnModule.js +2 -2
  289. package/src/Strategy/FreeTextColumnModule.d.ts +1 -1
  290. package/src/Strategy/FreeTextColumnModule.js +2 -2
  291. package/src/Strategy/GridInfoModule.js +2 -2
  292. package/src/Strategy/Interface/IModule.d.ts +7 -3
  293. package/src/Strategy/LayoutModule.js +11 -11
  294. package/src/Strategy/NoteModule.d.ts +1 -1
  295. package/src/Strategy/NoteModule.js +3 -3
  296. package/src/Strategy/PlusMinusModule.d.ts +3 -4
  297. package/src/Strategy/PlusMinusModule.js +2 -2
  298. package/src/Strategy/QuickSearchModule.d.ts +2 -0
  299. package/src/Strategy/QuickSearchModule.js +9 -0
  300. package/src/Strategy/ScheduleModule.d.ts +3 -4
  301. package/src/Strategy/ScheduleModule.js +2 -2
  302. package/src/Strategy/SettingsPanelModule.js +1 -1
  303. package/src/Strategy/ShortcutModule.d.ts +3 -4
  304. package/src/Strategy/ShortcutModule.js +2 -2
  305. package/src/Strategy/StatusBarModule.d.ts +3 -2
  306. package/src/Strategy/StatusBarModule.js +6 -3
  307. package/src/Strategy/StyledColumnModule.d.ts +3 -4
  308. package/src/Strategy/StyledColumnModule.js +2 -2
  309. package/src/Strategy/SystemStatusModule.js +2 -2
  310. package/src/Strategy/TeamSharingModule.d.ts +1 -1
  311. package/src/Strategy/TeamSharingModule.js +5 -2
  312. package/src/Strategy/ToolPanelModule.d.ts +1 -1
  313. package/src/Strategy/ToolPanelModule.js +1 -4
  314. package/src/Strategy/Utilities/Layout/getLayoutFilterViewItems.js +1 -1
  315. package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +1 -0
  316. package/src/Utilities/Constants/DocumentationLinkConstants.js +1 -0
  317. package/src/Utilities/Extensions/ArrayExtensions.d.ts +15 -2
  318. package/src/Utilities/Extensions/ArrayExtensions.js +62 -13
  319. package/src/Utilities/ObjectFactory.js +3 -3
  320. package/src/Utilities/Services/AnnotationsService.js +1 -1
  321. package/src/Utilities/Services/Interface/IModuleService.d.ts +2 -1
  322. package/src/Utilities/Services/ModuleService.d.ts +3 -3
  323. package/src/Utilities/Services/ModuleService.js +19 -7
  324. package/src/View/AdaptableView.js +3 -1
  325. package/src/View/ColumnInfo/ColumnInfo.js +9 -3
  326. package/src/View/Components/AdaptableIconSelector/index.js +2 -3
  327. package/src/View/Components/ColumnFilter/AdaptableColumnFilter.d.ts +0 -1
  328. package/src/View/Components/ColumnFilter/AdaptableColumnFilter.js +2 -3
  329. package/src/View/Components/ColumnFilter/AdaptableFloatingFilter.d.ts +0 -2
  330. package/src/View/Components/ColumnFilter/AdaptableFloatingFilter.js +4 -7
  331. package/src/View/Components/ColumnFilter/ColumnFilter.js +11 -4
  332. package/src/View/Components/ColumnFilter/ColumnFilterWindow.js +1 -1
  333. package/src/View/Components/ColumnFilter/FloatingFilter.js +1 -2
  334. package/src/View/Components/ColumnFilter/LayoutColumnFilter.js +1 -1
  335. package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +2 -2
  336. package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +2 -2
  337. package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.d.ts +1 -1
  338. package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.js +2 -2
  339. package/src/View/Components/ColumnFilter/utils.d.ts +2 -2
  340. package/src/View/Components/ColumnFilter/utils.js +6 -1
  341. package/src/View/Components/EntityRulesEditor/index.js +1 -2
  342. package/src/View/Components/FilterForm/ListBoxFilterForm.js +1 -1
  343. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +6 -6
  344. package/src/View/Components/PredicateEditor/PredicateEditor.js +1 -2
  345. package/src/View/Components/Selectors/BulkUpdateValueSelector.js +1 -1
  346. package/src/View/Components/Selectors/ColumnSelector.js +1 -1
  347. package/src/View/Components/Selectors/FieldSelector.js +1 -1
  348. package/src/View/Components/Selectors/PermittedValuesSelector.d.ts +1 -0
  349. package/src/View/Components/Selectors/PermittedValuesSelector.js +2 -2
  350. package/src/View/Dashboard/Dashboard.js +2 -2
  351. package/src/View/Dashboard/DashboardPopup.js +3 -1
  352. package/src/View/Dashboard/PinnedDashboard.js +1 -1
  353. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +9 -21
  354. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +58 -21
  355. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +11 -11
  356. package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.js +1 -1
  357. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +1 -1
  358. package/src/View/Layout/TransposedPopup.js +2 -2
  359. package/src/View/Layout/Wizard/sections/ColumnsSection.js +64 -9
  360. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +5 -5
  361. package/src/View/StatusBar/AdaptableStatusBar.js +1 -4
  362. package/src/View/StatusBar/StatusBarPopup.js +1 -1
  363. package/src/View/Theme/ThemeSelector.js +1 -1
  364. package/src/agGrid/AdaptableAgGrid.d.ts +11 -7
  365. package/src/agGrid/AdaptableAgGrid.js +251 -216
  366. package/src/agGrid/AdaptableFilterHandler.d.ts +18 -0
  367. package/src/agGrid/AdaptableFilterHandler.js +61 -0
  368. package/src/agGrid/AgGridAdapter.d.ts +3 -7
  369. package/src/agGrid/AgGridAdapter.js +13 -46
  370. package/src/agGrid/AgGridColumnAdapter.d.ts +2 -2
  371. package/src/agGrid/AgGridColumnAdapter.js +81 -36
  372. package/src/agGrid/AgGridFilterAdapter.d.ts +2 -0
  373. package/src/agGrid/AgGridFilterAdapter.js +48 -0
  374. package/src/agGrid/AgGridFloatingFilterAdapter.d.ts +2 -0
  375. package/src/agGrid/{FloatingFilterWrapper.js → AgGridFloatingFilterAdapter.js} +24 -35
  376. package/src/agGrid/AgGridModulesAdapter.d.ts +15 -0
  377. package/src/agGrid/AgGridModulesAdapter.js +66 -0
  378. package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.js +1 -1
  379. package/src/agGrid/editors/AdaptablePercentageEditor/InternalAdaptablePercentageEditor.js +1 -1
  380. package/src/components/Dialog/index.js +1 -1
  381. package/src/components/Dropdown/Arrows.js +2 -2
  382. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.d.ts +1 -1
  383. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +2 -2
  384. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +2 -2
  385. package/src/components/FileDroppable/index.js +1 -1
  386. package/src/components/IconSelector/IconSelector.d.ts +2 -2
  387. package/src/components/OverlayTrigger/index.js +1 -1
  388. package/src/components/Select/Select.d.ts +1 -1
  389. package/src/components/Select/Select.js +116 -24
  390. package/src/components/icons/DefaultIcon.d.ts +0 -1
  391. package/src/components/icons/DefaultIcon.js +0 -6
  392. package/src/env.js +2 -2
  393. package/src/layout-manager/src/LayoutManagerModel.d.ts +6 -10
  394. package/src/layout-manager/src/index.d.ts +11 -3
  395. package/src/layout-manager/src/index.js +302 -87
  396. package/src/layout-manager/src/normalizeLayoutModel.js +7 -4
  397. package/src/layout-manager/src/simplifyLayoutModel.js +4 -4
  398. package/src/metamodel/adaptable.metamodel.d.ts +70 -19
  399. package/src/metamodel/adaptable.metamodel.js +1 -1
  400. package/src/migration/AdaptableUpgradeHelper.js +2 -0
  401. package/src/migration/VersionUpgrade17.js +1 -1
  402. package/src/migration/VersionUpgrade20.js +1 -0
  403. package/src/migration/VersionUpgrade21.d.ts +6 -0
  404. package/src/migration/VersionUpgrade21.js +24 -0
  405. package/src/types.d.ts +7 -8
  406. package/tsconfig.esm.tsbuildinfo +1 -1
  407. package/src/AdaptableState/Common/ExtendedLayoutInfo.d.ts +0 -27
  408. package/src/agGrid/FilterWrapper.d.ts +0 -2
  409. package/src/agGrid/FilterWrapper.js +0 -131
  410. package/src/agGrid/FloatingFilterWrapper.d.ts +0 -2
  411. package/src/agGrid/agGridModules.d.ts +0 -3
  412. package/src/agGrid/agGridModules.js +0 -15
  413. package/src/agGrid/getAgGridFilterNotifyModelFn.d.ts +0 -2
  414. package/src/agGrid/getAgGridFilterNotifyModelFn.js +0 -16
  415. /package/src/AdaptableState/Common/{ExtendedLayoutInfo.js → ExtendedLayout.js} +0 -0
@@ -1,3 +1,4 @@
1
+ import { AgModuleName } from 'ag-grid-enterprise';
1
2
  import { IModule, ModuleInfo, TeamSharingReferences } from './Interface/IModule';
2
3
  import { Action } from 'redux';
3
4
  import { AdaptableColumn } from '../AdaptableState/Common/AdaptableColumn';
@@ -20,15 +21,24 @@ export declare abstract class AdaptableModuleBase implements IModule {
20
21
  protected api: AdaptableApi;
21
22
  moduleInfo: ModuleInfo;
22
23
  AccessLevel: AccessLevel;
24
+ agGridModuleDepsInfo: {
25
+ hasRequiredAgGridModuleDependencies: boolean;
26
+ missingAgGridModuleDependencies?: AgModuleName[];
27
+ };
23
28
  constructor(module: AdaptableModule, friendlyName: string, glyph: AdaptableSystemIconName, popup: string, description: string, api: AdaptableApi);
24
29
  protected getViewAccessLevel(): AccessLevel;
25
30
  protected getEditAccessLevel(): AccessLevel;
31
+ protected getAgGridModuleDependencies(): AgModuleName[];
32
+ isModuleEnabled(): boolean;
26
33
  isModuleAvailable(): boolean;
34
+ isModuleVisible(): boolean;
35
+ isModuleEditable(): boolean;
36
+ setAgGridDepsInfo(): void;
37
+ logMissingAgGridDepsInfos(): void;
27
38
  /**
28
39
  * Used inside the unified UI to show the share button
29
40
  */
30
41
  isModuleObjectsShareable(): boolean;
31
- isModuleEditable(): boolean;
32
42
  getModuleAdaptableObjects(): AdaptableObject[];
33
43
  getExplicitlyReferencedColumnIds(adaptableObject: AdaptableObject): string[];
34
44
  getReferencedNamedQueryNames(adaptableObject: AdaptableObject): string[];
@@ -56,10 +66,10 @@ export declare abstract class AdaptableModuleBase implements IModule {
56
66
  getTeamSharingReferences(adaptableObject: AdaptableObject): TeamSharingReferences;
57
67
  getPopupMaxWidth(): number | undefined;
58
68
  /**
59
- * TRUE for objects of type {@link LayoutAssociatedObject}
69
+ * TRUE for objects of type {@link LayoutExtensionObject}
60
70
  */
61
- canBeAssociatedWithLayouts(): boolean;
62
- showLayoutNotAssociatedObjects(): boolean;
71
+ containsLayoutExtensions(): boolean;
72
+ showLayoutNonExtendedObjects(): boolean;
63
73
  private getFriendlyName;
64
74
  private hasRequiredAccessLevel;
65
75
  }
@@ -31,8 +31,48 @@ export class AdaptableModuleBase {
31
31
  // override where necessary
32
32
  return 'Full';
33
33
  }
34
+ getAgGridModuleDependencies() {
35
+ // override where necessary
36
+ return [];
37
+ }
38
+ isModuleEnabled() {
39
+ // by default all modules are enabled; some modules may override this to check specific flags, configs, etc.
40
+ return true;
41
+ }
34
42
  isModuleAvailable() {
35
- return this.hasRequiredAccessLevel(this.getViewAccessLevel());
43
+ return this.agGridModuleDepsInfo?.hasRequiredAgGridModuleDependencies;
44
+ }
45
+ isModuleVisible() {
46
+ return (this.isModuleEnabled() &&
47
+ this.isModuleAvailable() &&
48
+ this.hasRequiredAccessLevel(this.getViewAccessLevel()));
49
+ }
50
+ isModuleEditable() {
51
+ return (this.isModuleEnabled() &&
52
+ this.isModuleAvailable() &&
53
+ this.hasRequiredAccessLevel(this.getEditAccessLevel()));
54
+ }
55
+ setAgGridDepsInfo() {
56
+ const agGridModulesAdapter = this.api.internalApi.getAgGridModulesAdapter();
57
+ const missingAgGridModuleDependencies = this.getAgGridModuleDependencies().filter((agGridModule) => !agGridModulesAdapter.isAgGridModuleRegistered(agGridModule));
58
+ if (missingAgGridModuleDependencies.length) {
59
+ this.agGridModuleDepsInfo = {
60
+ hasRequiredAgGridModuleDependencies: false,
61
+ missingAgGridModuleDependencies,
62
+ };
63
+ }
64
+ else {
65
+ this.agGridModuleDepsInfo = {
66
+ hasRequiredAgGridModuleDependencies: true,
67
+ };
68
+ }
69
+ }
70
+ logMissingAgGridDepsInfos() {
71
+ if (this.isModuleEnabled() &&
72
+ this.hasRequiredAccessLevel(this.getViewAccessLevel()) &&
73
+ !this.isModuleAvailable()) {
74
+ this.api.logWarn(`Module '${this.moduleInfo.ModuleName}' is not available - missing required AG Grid modules: ${this.agGridModuleDepsInfo.missingAgGridModuleDependencies.join(', ')}`);
75
+ }
36
76
  }
37
77
  /**
38
78
  * Used inside the unified UI to show the share button
@@ -40,9 +80,6 @@ export class AdaptableModuleBase {
40
80
  isModuleObjectsShareable() {
41
81
  return true;
42
82
  }
43
- isModuleEditable() {
44
- return this.hasRequiredAccessLevel(this.getEditAccessLevel());
45
- }
46
83
  getModuleAdaptableObjects() {
47
84
  // override where necessary in base classes
48
85
  return [];
@@ -70,7 +107,7 @@ export class AdaptableModuleBase {
70
107
  this.AccessLevel = this.api.entitlementApi.getEntitlementAccessLevelForModule(this.moduleInfo.ModuleName);
71
108
  }
72
109
  createModuleMenuItem(source) {
73
- if (this.isModuleAvailable() && this.moduleInfo.Popup) {
110
+ if (this.isModuleVisible() && this.moduleInfo.Popup) {
74
111
  const moduleParams = {
75
112
  source: source,
76
113
  maxWidth: this.getPopupMaxWidth(),
@@ -192,13 +229,13 @@ export class AdaptableModuleBase {
192
229
  return undefined;
193
230
  }
194
231
  /**
195
- * TRUE for objects of type {@link LayoutAssociatedObject}
232
+ * TRUE for objects of type {@link LayoutExtensionObject}
196
233
  */
197
- canBeAssociatedWithLayouts() {
234
+ containsLayoutExtensions() {
198
235
  return false;
199
236
  }
200
- showLayoutNotAssociatedObjects() {
201
- return this.api.layoutApi.internalApi.showLayoutNotAssociatedObjects();
237
+ showLayoutNonExtendedObjects() {
238
+ return this.api.layoutApi.internalApi.showLayoutNonExtendedObjects();
202
239
  }
203
240
  getFriendlyName(module, friendlyName) {
204
241
  let returnValue = friendlyName;
@@ -5,6 +5,7 @@ import { AdaptableObject } from '../AdaptableState/Common/AdaptableObject';
5
5
  import { ContextMenuContext } from '../AdaptableState/Common/Menu';
6
6
  import { TeamSharingImportInfo } from '../AdaptableState/TeamSharingState';
7
7
  import { MenuItemShowPopup } from '../Utilities/MenuItem';
8
+ import { LayoutExtendedConfig } from '../types';
8
9
  import { AdaptableModuleBase } from './AdaptableModuleBase';
9
10
  import { ICellDataChangeListenerModule } from './Interface/ICellDataChangeListenerModule';
10
11
  import { AdaptableModuleView, AdaptableObjectCompactView, AdaptableObjectView } from './Interface/IModule';
@@ -15,9 +16,7 @@ export declare class AlertModule extends AdaptableModuleBase implements ICellDat
15
16
  shouldListenToDataChanges(): boolean;
16
17
  checkListenToCellDataChanged(): void;
17
18
  setupCellDataChangeListener(): void;
18
- getModuleAdaptableObjects(config?: {
19
- includeLayoutNotAssociatedObjects?: boolean;
20
- }): AdaptableObject[];
19
+ getModuleAdaptableObjects(config?: LayoutExtendedConfig): AdaptableObject[];
21
20
  getExplicitlyReferencedColumnIds(alertDefinition: AlertDefinition): string[];
22
21
  getReferencedNamedQueryNames(alertDefinition: AlertDefinition): string[];
23
22
  createContextMenuItems(menuContext: ContextMenuContext): MenuItemShowPopup<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-group" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "grid-group" | "grid-info-show" | "layout-edit" | "settings-panel-open" | "system-status-show" | "menu-group" | "alert-clear" | "bulk-update-apply" | "column-filter-on-cell-value" | "comment-add" | "comment-remove" | "edit-group" | "export-group" | "export-all-data" | "export-all-data-excel-download" | "export-all-data-visualexcel-download" | "export-all-data-csv" | "export-all-data-csv-download" | "export-all-data-csv-clipboard" | "export-all-data-json" | "export-all-data-json-download" | "export-all-data-json-clipboard" | "export-current-layout" | "export-current-layout-excel-download" | "export-current-layout-visualexcel-download" | "export-current-layout-csv" | "export-current-layout-csv-download" | "export-current-layout-csv-clipboard" | "export-current-layout-json" | "export-current-layout-json-download" | "export-current-layout-json-clipboard" | "export-selected-data" | "export-selected-data-excel-download" | "export-selected-data-visualexcel-download" | "export-selected-data-csv" | "export-selected-data-csv-download" | "export-selected-data-csv-clipboard" | "export-selected-data-json" | "export-selected-data-json-download" | "export-selected-data-json-clipboard" | "fdc3-broadcast" | "fdc3-raise-intent" | "flashing-cell-clear" | "flashing-row-clear" | "layout-aggregated-view" | "layout-auto-size" | "layout-clear-selection" | "layout-select-all" | "note-add" | "note-remove" | "smart-edit-apply">[];
@@ -30,5 +29,5 @@ export declare class AlertModule extends AdaptableModuleBase implements ICellDat
30
29
  toView(alert: AlertDefinition): AdaptableObjectView;
31
30
  toViewAll(): AdaptableObjectView[];
32
31
  getViewProperties(): AdaptableModuleView;
33
- canBeAssociatedWithLayouts(): boolean;
32
+ containsLayoutExtensions(): boolean;
34
33
  }
@@ -99,7 +99,7 @@ export class AlertModule extends AdaptableModuleBase {
99
99
  }
100
100
  createContextMenuItems(menuContext) {
101
101
  const items = [];
102
- if (!menuContext.isRowGroupColumn && this.isModuleAvailable()) {
102
+ if (!menuContext.isRowGroupColumn && this.isModuleVisible()) {
103
103
  if (menuContext.adaptableColumn && menuContext.rowNode) {
104
104
  let relevantAlert;
105
105
  // find alerts which highlight the current cell
@@ -159,8 +159,11 @@ export class AlertModule extends AdaptableModuleBase {
159
159
  });
160
160
  }
161
161
  getTeamSharingAction() {
162
+ const config = {
163
+ includeLayoutNotExtendedObjects: false,
164
+ };
162
165
  return {
163
- ModuleEntities: this.api.alertApi.getAlertDefinitions(),
166
+ ModuleEntities: this.api.alertApi.getAlertDefinitions(config),
164
167
  AddAction: AlertRedux.AlertDefinitionAdd,
165
168
  EditAction: AlertRedux.AlertDefinitionEdit,
166
169
  };
@@ -195,7 +198,7 @@ export class AlertModule extends AdaptableModuleBase {
195
198
  }
196
199
  toViewAll() {
197
200
  return this.getModuleAdaptableObjects({
198
- includeLayoutNotAssociatedObjects: this.showLayoutNotAssociatedObjects(),
201
+ includeLayoutNotExtendedObjects: this.showLayoutNonExtendedObjects(),
199
202
  }).map((alert) => this.toView(alert));
200
203
  }
201
204
  getViewProperties() {
@@ -221,7 +224,7 @@ export class AlertModule extends AdaptableModuleBase {
221
224
  },
222
225
  };
223
226
  }
224
- canBeAssociatedWithLayouts() {
227
+ containsLayoutExtensions() {
225
228
  return true;
226
229
  }
227
230
  }
@@ -63,7 +63,7 @@ export class CalculatedColumnModule extends AdaptableModuleBase {
63
63
  if (!column) {
64
64
  return;
65
65
  }
66
- if (!this.isModuleAvailable()) {
66
+ if (!this.isModuleVisible()) {
67
67
  return;
68
68
  }
69
69
  if (this.isModuleEditable() && column.isCalculatedColumn) {
@@ -81,7 +81,7 @@ export class CalculatedColumnModule extends AdaptableModuleBase {
81
81
  if (!menuContext.adaptableColumn) {
82
82
  return;
83
83
  }
84
- if (!this.isModuleAvailable()) {
84
+ if (!this.isModuleVisible()) {
85
85
  return;
86
86
  }
87
87
  if (this.isModuleEditable() &&
@@ -16,7 +16,7 @@ export class CellSummaryModule extends AdaptableModuleBase {
16
16
  return 'Full';
17
17
  }
18
18
  createColumnMenuItems(column) {
19
- if (!this.isModuleAvailable()) {
19
+ if (!this.isModuleVisible()) {
20
20
  return;
21
21
  }
22
22
  if (column.dataType !== 'number') {
@@ -36,7 +36,7 @@ export class CellSummaryModule extends AdaptableModuleBase {
36
36
  ];
37
37
  }
38
38
  createContextMenuItems(menuContext) {
39
- if (!this.isModuleAvailable()) {
39
+ if (!this.isModuleVisible()) {
40
40
  return;
41
41
  }
42
42
  if (menuContext.adaptableColumn &&
@@ -3,9 +3,11 @@ import { AdaptableModuleBase } from './AdaptableModuleBase';
3
3
  import { AdaptableApi } from '../Api/AdaptableApi';
4
4
  import { AdaptableColumn, ChartDefinition } from '../types';
5
5
  import { ExternalChartDefinition } from '../AdaptableState/ChartingState';
6
+ import { AgModuleName } from 'ag-grid-enterprise';
6
7
  export declare class ChartingModule extends AdaptableModuleBase implements IModule {
7
8
  constructor(api: AdaptableApi);
8
- isModuleAvailable(): boolean;
9
+ protected getAgGridModuleDependencies(): AgModuleName[];
10
+ isModuleEnabled(): boolean;
9
11
  createColumnMenuItems(column: AdaptableColumn): import("../Utilities/MenuItem").MenuItemShowPopup<"separator" | "calculated-column-edit" | "cell-summary-show" | "chart-show" | "column-group" | "column-filter-group" | "column-filter-bar-hide" | "column-filter-bar-show" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "custom-sort-add" | "custom-sort-edit" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "flashing-cell-add" | "flashing-cell-delete" | "format-column-add" | "format-column-edit" | "free-text-column-edit" | "grid-group" | "grid-info-show" | "layout-column-caption-change" | "layout-column-hide" | "layout-edit" | "layout-column-select" | "layout-column-select-preserve" | "layout-column-select-reset" | "layout-grid-select" | "plus-minus-add" | "settings-panel-open" | "styling-group" | "styled-column-badge-add" | "styled-column-badge-edit" | "styled-column-gradient-add" | "styled-column-gradient-edit" | "styled-column-percent-bar-add" | "styled-column-percent-bar-edit" | "styled-column-sparkline-add" | "styled-column-sparkline-edit" | "system-status-show" | "_navbar">[];
10
12
  getModuleAdaptableObjects(): (ChartDefinition | ExternalChartDefinition)[];
11
13
  toViewAll(): AdaptableObjectView[];
@@ -12,10 +12,16 @@ export class ChartingModule extends AdaptableModuleBase {
12
12
  constructor(api) {
13
13
  super(ModuleConstants.ChartingModuleId, ModuleConstants.ChartingFriendlyName, 'chart', 'ChartPopup', 'Create AG Grid Charts in order to see Adaptable Data visually', api);
14
14
  }
15
- isModuleAvailable() {
16
- const agChartsAvailable = this.api.chartingApi.isChartingEnabled() && super.isModuleAvailable();
15
+ getAgGridModuleDependencies() {
16
+ return ['IntegratedChartsModule'];
17
+ }
18
+ isModuleEnabled() {
19
+ const agGridChartsEnabled = this.api.agGridApi.getGridOption('enableCharts');
20
+ if (agGridChartsEnabled) {
21
+ return true;
22
+ }
17
23
  const externalChartsAvailable = Helper.objectHasKeys(this.api.optionsApi.getChartingOptions().externalChartingOptions);
18
- return Boolean(agChartsAvailable || externalChartsAvailable);
24
+ return externalChartsAvailable;
19
25
  }
20
26
  createColumnMenuItems(column) {
21
27
  if (column &&
@@ -8,11 +8,11 @@ import { AdaptableObject } from '../AdaptableState/Common/AdaptableObject';
8
8
  import { ColumnFilter } from '../types';
9
9
  export declare class ColumnFilterModule extends AdaptableModuleBase implements IModule {
10
10
  constructor(api: AdaptableApi);
11
+ onAdaptableReady(): void;
11
12
  setModuleEntitlement(): void;
12
13
  getModuleAdaptableObjects(): AdaptableObject[];
13
14
  getExplicitlyReferencedColumnIds(columnFilter: ColumnFilter): string[];
14
15
  hasNamedQueryReferences(): boolean;
15
- onAdaptableReady(): void;
16
16
  createColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem<"separator" | "calculated-column-edit" | "cell-summary-show" | "chart-show" | "column-group" | "column-filter-group" | "column-filter-bar-hide" | "column-filter-bar-show" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "custom-sort-add" | "custom-sort-edit" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "flashing-cell-add" | "flashing-cell-delete" | "format-column-add" | "format-column-edit" | "free-text-column-edit" | "grid-group" | "grid-info-show" | "layout-column-caption-change" | "layout-column-hide" | "layout-edit" | "layout-column-select" | "layout-column-select-preserve" | "layout-column-select-reset" | "layout-grid-select" | "plus-minus-add" | "settings-panel-open" | "styling-group" | "styled-column-badge-add" | "styled-column-badge-edit" | "styled-column-gradient-add" | "styled-column-gradient-edit" | "styled-column-percent-bar-add" | "styled-column-percent-bar-edit" | "styled-column-sparkline-add" | "styled-column-sparkline-edit" | "system-status-show" | "_navbar">[];
17
17
  createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem<AdaptableContextMenuItemName>[] | undefined;
18
18
  getTeamSharingAction(): TeamSharingImportInfo<ColumnFilter>;
@@ -8,6 +8,36 @@ export class ColumnFilterModule extends AdaptableModuleBase {
8
8
  constructor(api) {
9
9
  super(ModuleConstants.ColumnFilterModuleId, ModuleConstants.ColumnFilterFriendlyName, 'filter', 'FilterPopup', 'Advanced filtering capability allows users to see precisely the data they want', api);
10
10
  }
11
+ onAdaptableReady() {
12
+ if (this.api.optionsApi.getFilterOptions().columnFilterOptions.showQuickFilter == false) {
13
+ this.api.filterApi.columnFilterApi.hideQuickFilterBar();
14
+ }
15
+ else {
16
+ this.api.filterApi.columnFilterApi.showQuickFilterBar();
17
+ }
18
+ const columnFilters = this.api.filterApi.columnFilterApi.getColumnFilters();
19
+ columnFilters.forEach((cf) => {
20
+ if (!this.api.columnApi.isColumnInGrid(cf.ColumnId)) {
21
+ this.api.logError('Column Filter contains missing column: ' + cf.ColumnId);
22
+ }
23
+ });
24
+ this.api.internalApi
25
+ .getDataService()
26
+ .on('CellDataChanged', (cellDataChangedInfo) => {
27
+ const changedColumnId = cellDataChangedInfo.column.columnId;
28
+ this.api.filterApi.columnFilterApi.resetFilterValues(changedColumnId);
29
+ });
30
+ // we reset the filter cache on sort change, because we might have columns
31
+ // with "In" filters, with custom values, which use `context.orderedValues`
32
+ // customInFilterValues: (context: CustomInFilterValuesContext<Car>) => {
33
+ // return context.orderedValues;
34
+ // }
35
+ // and that order will most likely change when sorting happens
36
+ // so we need to reset the cached filter values when sorting changes
37
+ this.api.eventApi.on('GridSorted', () => {
38
+ this.api.filterApi.columnFilterApi.resetAllFilterValues();
39
+ });
40
+ }
11
41
  setModuleEntitlement() {
12
42
  if (!this.api.optionsApi.getFilterOptions().useAdaptableFiltering) {
13
43
  this.AccessLevel = 'Hidden';
@@ -25,20 +55,6 @@ export class ColumnFilterModule extends AdaptableModuleBase {
25
55
  hasNamedQueryReferences() {
26
56
  return false;
27
57
  }
28
- onAdaptableReady() {
29
- if (this.api.optionsApi.getFilterOptions().columnFilterOptions.showQuickFilter == false) {
30
- this.api.filterApi.columnFilterApi.hideQuickFilterBar();
31
- }
32
- else {
33
- this.api.filterApi.columnFilterApi.showQuickFilterBar();
34
- }
35
- const columnFilters = this.api.filterApi.columnFilterApi.getColumnFilters();
36
- columnFilters.forEach((cf) => {
37
- if (!this.api.columnApi.isColumnInGrid(cf.ColumnId)) {
38
- this.api.logError('Column Filter contains missing column: ' + cf.ColumnId);
39
- }
40
- });
41
- }
42
58
  createColumnMenuItems(column) {
43
59
  let columnFilterMenuItems = [];
44
60
  if (column &&
@@ -64,7 +80,7 @@ export class ColumnFilterModule extends AdaptableModuleBase {
64
80
  }
65
81
  }
66
82
  createContextMenuItems(menuContext) {
67
- if (!menuContext.isRowGroupColumn && this.isModuleAvailable()) {
83
+ if (!menuContext.isRowGroupColumn && this.isModuleVisible()) {
68
84
  if (menuContext.adaptableColumn &&
69
85
  menuContext.adaptableColumn.filterable &&
70
86
  menuContext.isSingleSelectedColumn &&
@@ -8,7 +8,7 @@ export class ColumnInfoModule extends AdaptableModuleBase {
8
8
  return 'Full';
9
9
  }
10
10
  createColumnMenuItems(column) {
11
- if (this.isModuleAvailable() && !column.isTreeColumn) {
11
+ if (this.isModuleVisible() && !column.isTreeColumn) {
12
12
  const columnPopUpParams = {
13
13
  source: 'ColumnMenu',
14
14
  column: column,
@@ -25,7 +25,7 @@ export class ColumnInfoModule extends AdaptableModuleBase {
25
25
  }
26
26
  }
27
27
  createContextMenuItems(menuContext) {
28
- if (this.isModuleAvailable()) {
28
+ if (this.isModuleVisible()) {
29
29
  const columnPopUpParams = {
30
30
  source: 'ColumnMenu',
31
31
  column: menuContext.adaptableColumn,
@@ -5,7 +5,7 @@ import { IModule } from './Interface/IModule';
5
5
  export declare class CommentModule extends AdaptableModuleBase implements IModule {
6
6
  constructor(api: AdaptableApi);
7
7
  onAdaptableReady(): void;
8
- isModuleAvailable(): boolean;
8
+ isModuleEnabled(): boolean;
9
9
  private loadComments;
10
10
  createContextMenuItems(menuContext: ContextMenuContext): import("../Utilities/MenuItem").MenuItemDoClickFunction<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-group" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "grid-group" | "grid-info-show" | "layout-edit" | "settings-panel-open" | "system-status-show" | "menu-group" | "alert-clear" | "bulk-update-apply" | "column-filter-on-cell-value" | "comment-add" | "comment-remove" | "edit-group" | "export-group" | "export-all-data" | "export-all-data-excel-download" | "export-all-data-visualexcel-download" | "export-all-data-csv" | "export-all-data-csv-download" | "export-all-data-csv-clipboard" | "export-all-data-json" | "export-all-data-json-download" | "export-all-data-json-clipboard" | "export-current-layout" | "export-current-layout-excel-download" | "export-current-layout-visualexcel-download" | "export-current-layout-csv" | "export-current-layout-csv-download" | "export-current-layout-csv-clipboard" | "export-current-layout-json" | "export-current-layout-json-download" | "export-current-layout-json-clipboard" | "export-selected-data" | "export-selected-data-excel-download" | "export-selected-data-visualexcel-download" | "export-selected-data-csv" | "export-selected-data-csv-download" | "export-selected-data-csv-clipboard" | "export-selected-data-json" | "export-selected-data-json-download" | "export-selected-data-json-clipboard" | "fdc3-broadcast" | "fdc3-raise-intent" | "flashing-cell-clear" | "flashing-row-clear" | "layout-aggregated-view" | "layout-auto-size" | "layout-clear-selection" | "layout-select-all" | "note-add" | "note-remove" | "smart-edit-apply">[];
11
11
  }
@@ -7,7 +7,7 @@ export class CommentModule extends AdaptableModuleBase {
7
7
  onAdaptableReady() {
8
8
  this.loadComments();
9
9
  }
10
- isModuleAvailable() {
10
+ isModuleEnabled() {
11
11
  const options = this.api.optionsApi.getCommentOptions();
12
12
  if (!options || !options.persistCommentThreads || !options.loadCommentThreads) {
13
13
  return false;
@@ -15,7 +15,7 @@ export class CommentModule extends AdaptableModuleBase {
15
15
  if (this.api.optionsApi.isAutogeneratePrimaryKey()) {
16
16
  return false;
17
17
  }
18
- return super.isModuleAvailable();
18
+ return super.isModuleEnabled();
19
19
  }
20
20
  async loadComments() {
21
21
  const commentThreads = await this.api.optionsApi
@@ -24,7 +24,7 @@ export class CommentModule extends AdaptableModuleBase {
24
24
  this.api.commentApi.setComments(commentThreads);
25
25
  }
26
26
  createContextMenuItems(menuContext) {
27
- if (!this.isModuleAvailable()) {
27
+ if (!this.isModuleVisible()) {
28
28
  return;
29
29
  }
30
30
  if (!this.api.commentApi.internalApi.areCommentsSupportedInLayout()) {
@@ -5,11 +5,10 @@ import { TeamSharingImportInfo } from '../AdaptableState/TeamSharingState';
5
5
  import { AdaptableModuleView, AdaptableObjectView, IModule } from './Interface/IModule';
6
6
  import { AdaptableApi } from '../Api/AdaptableApi';
7
7
  import { AdaptableObject } from '../AdaptableState/Common/AdaptableObject';
8
+ import { LayoutExtendedConfig } from '../types';
8
9
  export declare class CustomSortModule extends AdaptableModuleBase implements IModule {
9
10
  constructor(api: AdaptableApi);
10
- getModuleAdaptableObjects(config?: {
11
- includeLayoutNotAssociatedObjects?: boolean;
12
- }): AdaptableObject[];
11
+ getModuleAdaptableObjects(config?: LayoutExtendedConfig): AdaptableObject[];
13
12
  getExplicitlyReferencedColumnIds(customSort: CustomSort): string[];
14
13
  hasNamedQueryReferences(): boolean;
15
14
  createColumnMenuItems(column: AdaptableColumn): import("../Utilities/MenuItem").MenuItemShowPopup<"custom-sort-add" | "custom-sort-edit">[];
@@ -17,5 +16,5 @@ export declare class CustomSortModule extends AdaptableModuleBase implements IMo
17
16
  toView(customSort: CustomSort): AdaptableObjectView;
18
17
  toViewAll(): AdaptableObjectView[];
19
18
  getViewProperties(): AdaptableModuleView;
20
- canBeAssociatedWithLayouts(): boolean;
19
+ containsLayoutExtensions(): boolean;
21
20
  }
@@ -56,7 +56,7 @@ export class CustomSortModule extends AdaptableModuleBase {
56
56
  }
57
57
  toViewAll() {
58
58
  return this.getModuleAdaptableObjects({
59
- includeLayoutNotAssociatedObjects: this.showLayoutNotAssociatedObjects(),
59
+ includeLayoutNotExtendedObjects: this.showLayoutNonExtendedObjects(),
60
60
  }).map((customSort) => this.toView(customSort));
61
61
  }
62
62
  getViewProperties() {
@@ -73,7 +73,7 @@ export class CustomSortModule extends AdaptableModuleBase {
73
73
  },
74
74
  };
75
75
  }
76
- canBeAssociatedWithLayouts() {
76
+ containsLayoutExtensions() {
77
77
  return true;
78
78
  }
79
79
  }
@@ -25,7 +25,7 @@ export class DashboardModule extends AdaptableModuleBase {
25
25
  return this.buildMenuItems();
26
26
  }
27
27
  buildMenuItems() {
28
- if (this.isModuleAvailable()) {
28
+ if (this.isModuleVisible()) {
29
29
  let menuItems = [];
30
30
  const dashboardState = this.api.dashboardApi.getDashboardState();
31
31
  if (this.isModuleEditable()) {
@@ -2,14 +2,15 @@ import { AdaptableModuleBase } from './AdaptableModuleBase';
2
2
  import { AdaptableModuleView } from './Interface/IModule';
3
3
  import { AdaptableApi } from '../Api/AdaptableApi';
4
4
  import { ICellDataChangeListenerModule } from './Interface/ICellDataChangeListenerModule';
5
+ import { AgModuleName } from 'ag-grid-enterprise';
5
6
  export declare class DataChangeHistoryModule extends AdaptableModuleBase implements ICellDataChangeListenerModule {
6
7
  isListeningToCellDataChanges: boolean;
7
8
  constructor(api: AdaptableApi);
8
9
  onAdaptableReady(): void;
10
+ protected getAgGridModuleDependencies(): AgModuleName[];
9
11
  shouldListenToDataChanges(): boolean;
10
12
  checkListenToCellDataChanged(): void;
11
13
  setupCellDataChangeListener(): void;
12
- isModuleAvailable(): boolean;
13
14
  getPopupMaxWidth(): number;
14
15
  hasNamedQueryReferences(): boolean;
15
16
  private isDataChangeLoggable;
@@ -10,6 +10,9 @@ export class DataChangeHistoryModule extends AdaptableModuleBase {
10
10
  this.api.internalApi.initializeDataChangeHistory();
11
11
  this.checkListenToCellDataChanged();
12
12
  }
13
+ getAgGridModuleDependencies() {
14
+ return ['ClientSideRowModelModule'];
15
+ }
13
16
  shouldListenToDataChanges() {
14
17
  return this.api.dataChangeHistoryApi.getDataChangeHistoryMode() === 'ACTIVE';
15
18
  }
@@ -30,16 +33,6 @@ export class DataChangeHistoryModule extends AdaptableModuleBase {
30
33
  }
31
34
  });
32
35
  }
33
- isModuleAvailable() {
34
- const isAdaptableModuleAvailable = super.isModuleAvailable();
35
- const isAgGridModuleAvailable = this.api.internalApi
36
- .getAdaptableInstance()
37
- .agGridAdapter.isAgGridModuleRegistered('ClientSideRowModel');
38
- if (isAdaptableModuleAvailable && !isAgGridModuleAvailable) {
39
- this.api.logWarn(`Data Change History is NOT available due to missing required AG Grid module: ClientSideRowModel`);
40
- }
41
- return isAdaptableModuleAvailable && isAgGridModuleAvailable;
42
- }
43
36
  getPopupMaxWidth() {
44
37
  return 1000;
45
38
  }
@@ -5,18 +5,18 @@ export class DataImportModule extends AdaptableModuleBase {
5
5
  super(ModuleConstants.DataImportModuleId, ModuleConstants.DataImportFriendyName, 'import', 'DataImportPopup', 'Import Data', api);
6
6
  }
7
7
  createModuleMenuItem(source) {
8
- if (this.isModuleAvailable()) {
8
+ if (this.isModuleVisible()) {
9
9
  return this.createDataImportMenuItem(source);
10
10
  }
11
11
  }
12
12
  createContextMenuItems() {
13
- if (this.isModuleAvailable()) {
13
+ if (this.isModuleVisible()) {
14
14
  return [this.createDataImportMenuItem('ContextMenu')];
15
15
  }
16
16
  return undefined;
17
17
  }
18
18
  createColumnMenuItems() {
19
- if (this.isModuleAvailable()) {
19
+ if (this.isModuleVisible()) {
20
20
  return [this.createDataImportMenuItem('ColumnMenu')];
21
21
  }
22
22
  }
@@ -30,7 +30,7 @@ export class ExportModule extends AdaptableModuleBase {
30
30
  return this.api.namedQueryApi.internalApi.getReferencedNamedQueryNames(report.Query.BooleanExpression);
31
31
  }
32
32
  createContextMenuItems(menuContext) {
33
- const canExport = !menuContext.isRowGroupColumn && this.isModuleAvailable();
33
+ const canExport = !menuContext.isRowGroupColumn && this.isModuleVisible();
34
34
  if (!canExport) {
35
35
  return;
36
36
  }
@@ -5,7 +5,7 @@ export class Fdc3Module extends AdaptableModuleBase {
5
5
  super(ModuleConstants.Fdc3ModuleId, ModuleConstants.Fdc3FriendlyName, 'fdc3', null, 'The FDC3 Module - handles the FDC3 integration', api);
6
6
  }
7
7
  createContextMenuItems(menuContext) {
8
- if (!this.isModuleAvailable()) {
8
+ if (!this.isModuleVisible()) {
9
9
  return;
10
10
  }
11
11
  if (menuContext.adaptableColumn && menuContext.rowNode) {
@@ -5,7 +5,7 @@ import { TeamSharingImportInfo } from '../AdaptableState/TeamSharingState';
5
5
  import { AdaptableModuleBase } from './AdaptableModuleBase';
6
6
  import { AdaptableModuleView, AdaptableObjectView } from './Interface/IModule';
7
7
  import { AdaptableObject } from '../AdaptableState/Common/AdaptableObject';
8
- import { FlashingCellDefinition } from '../types';
8
+ import { FlashingCellDefinition, LayoutExtendedConfig } from '../types';
9
9
  import { ICellDataChangeListenerModule } from './Interface/ICellDataChangeListenerModule';
10
10
  export declare class FlashingCellModule extends AdaptableModuleBase implements ICellDataChangeListenerModule {
11
11
  private isListeningToCellDataChanges;
@@ -16,9 +16,7 @@ export declare class FlashingCellModule extends AdaptableModuleBase implements I
16
16
  setupCellDataChangeListener(): void;
17
17
  private getFlashingCellDefinitionsForDataChange;
18
18
  private showFlashingCellsForDefinitions;
19
- getModuleAdaptableObjects(config?: {
20
- includeLayoutNotAssociatedObjects?: boolean;
21
- }): AdaptableObject[];
19
+ getModuleAdaptableObjects(config?: LayoutExtendedConfig): AdaptableObject[];
22
20
  getExplicitlyReferencedColumnIds(alertDefinition: FlashingCellDefinition): string[];
23
21
  getReferencedNamedQueryNames(alertDefinition: FlashingCellDefinition): string[];
24
22
  createColumnMenuItems(column: AdaptableColumn): import("../Utilities/MenuItem").MenuItemDoReduxAction<"separator" | "calculated-column-edit" | "cell-summary-show" | "chart-show" | "column-group" | "column-filter-group" | "column-filter-bar-hide" | "column-filter-bar-show" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "custom-sort-add" | "custom-sort-edit" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "flashing-cell-add" | "flashing-cell-delete" | "format-column-add" | "format-column-edit" | "free-text-column-edit" | "grid-group" | "grid-info-show" | "layout-column-caption-change" | "layout-column-hide" | "layout-edit" | "layout-column-select" | "layout-column-select-preserve" | "layout-column-select-reset" | "layout-grid-select" | "plus-minus-add" | "settings-panel-open" | "styling-group" | "styled-column-badge-add" | "styled-column-badge-edit" | "styled-column-gradient-add" | "styled-column-gradient-edit" | "styled-column-percent-bar-add" | "styled-column-percent-bar-edit" | "styled-column-sparkline-add" | "styled-column-sparkline-edit" | "system-status-show" | "_navbar">[];
@@ -29,5 +27,5 @@ export declare class FlashingCellModule extends AdaptableModuleBase implements I
29
27
  toView(flashingCell: FlashingCellDefinition): AdaptableObjectView;
30
28
  toViewAll(): AdaptableObjectView[];
31
29
  getViewProperties(): AdaptableModuleView;
32
- canBeAssociatedWithLayouts(): boolean;
30
+ containsLayoutExtensions(): boolean;
33
31
  }
@@ -192,7 +192,7 @@ export class FlashingCellModule extends AdaptableModuleBase {
192
192
  }
193
193
  createContextMenuItems(menuContext) {
194
194
  const items = [];
195
- if (!menuContext.isRowGroupColumn && this.isModuleAvailable()) {
195
+ if (!menuContext.isRowGroupColumn && this.isModuleVisible()) {
196
196
  if (menuContext.adaptableColumn && menuContext.rowNode) {
197
197
  const flashingCellForRow = this.api.flashingCellApi.internalApi.getAdaptableFlashingCellFor(menuContext.primaryKeyValue);
198
198
  const flashingCellForCell = this.api.flashingCellApi.internalApi.getAdaptableFlashingCellFor(menuContext.primaryKeyValue, menuContext.adaptableColumn.columnId);
@@ -260,7 +260,7 @@ export class FlashingCellModule extends AdaptableModuleBase {
260
260
  }
261
261
  toViewAll() {
262
262
  return this.getModuleAdaptableObjects({
263
- includeLayoutNotAssociatedObjects: this.showLayoutNotAssociatedObjects(),
263
+ includeLayoutNotExtendedObjects: this.showLayoutNonExtendedObjects(),
264
264
  }).map((flashingCell) => this.toView(flashingCell));
265
265
  }
266
266
  getViewProperties() {
@@ -274,7 +274,7 @@ export class FlashingCellModule extends AdaptableModuleBase {
274
274
  getEditWizard: () => FlashingCellWizard,
275
275
  };
276
276
  }
277
- canBeAssociatedWithLayouts() {
277
+ containsLayoutExtensions() {
278
278
  return true;
279
279
  }
280
280
  }
@@ -6,11 +6,10 @@ import { FormatColumn } from '../AdaptableState/FormatColumnState';
6
6
  import { AdaptableModuleView, AdaptableObjectView, IModule } from './Interface/IModule';
7
7
  import { AdaptableApi } from '../Api/AdaptableApi';
8
8
  import { AdaptableObject } from '../AdaptableState/Common/AdaptableObject';
9
+ import { LayoutExtendedConfig } from '../types';
9
10
  export declare class FormatColumnModule extends AdaptableModuleBase implements IModule {
10
11
  constructor(api: AdaptableApi);
11
- getModuleAdaptableObjects(config?: {
12
- includeLayoutNotAssociatedObjects?: boolean;
13
- }): AdaptableObject[];
12
+ getModuleAdaptableObjects(config?: LayoutExtendedConfig): AdaptableObject[];
14
13
  getExplicitlyReferencedColumnIds(formatColumn: FormatColumn): string[];
15
14
  getReferencedNamedQueryNames(formatColumn: FormatColumn): string[];
16
15
  createColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem<"separator" | "calculated-column-edit" | "cell-summary-show" | "chart-show" | "column-group" | "column-filter-group" | "column-filter-bar-hide" | "column-filter-bar-show" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "custom-sort-add" | "custom-sort-edit" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "flashing-cell-add" | "flashing-cell-delete" | "format-column-add" | "format-column-edit" | "free-text-column-edit" | "grid-group" | "grid-info-show" | "layout-column-caption-change" | "layout-column-hide" | "layout-edit" | "layout-column-select" | "layout-column-select-preserve" | "layout-column-select-reset" | "layout-grid-select" | "plus-minus-add" | "settings-panel-open" | "styling-group" | "styled-column-badge-add" | "styled-column-badge-edit" | "styled-column-gradient-add" | "styled-column-gradient-edit" | "styled-column-percent-bar-add" | "styled-column-percent-bar-edit" | "styled-column-sparkline-add" | "styled-column-sparkline-edit" | "system-status-show" | "_navbar">[];
@@ -18,5 +17,5 @@ export declare class FormatColumnModule extends AdaptableModuleBase implements I
18
17
  toView(formatColumn: FormatColumn): AdaptableObjectView;
19
18
  toViewAll(): AdaptableObjectView[];
20
19
  getViewProperties(): AdaptableModuleView;
21
- canBeAssociatedWithLayouts(): boolean;
20
+ containsLayoutExtensions(): boolean;
22
21
  }