@adaptabletools/adaptable 20.3.0-canary.2 → 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 (427) 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 +71 -187
  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 +11 -11
  188. package/src/AdaptableState/Common/ExtendedLayout.d.ts +50 -0
  189. package/src/AdaptableState/Common/ProgressIndicatorConfig.d.ts +1 -4
  190. package/src/AdaptableState/Common/RowScope.d.ts +1 -1
  191. package/src/AdaptableState/FormatColumnState.d.ts +16 -9
  192. package/src/AdaptableState/InternalState.d.ts +1 -1
  193. package/src/AdaptableState/LayoutState.d.ts +26 -6
  194. package/src/AdaptableState/Selection/GridCell.d.ts +32 -0
  195. package/src/AdaptableState/StyledColumnState.d.ts +2 -2
  196. package/src/Api/AlertApi.d.ts +5 -11
  197. package/src/Api/ColumnApi.d.ts +17 -1
  198. package/src/Api/ColumnFilterApi.d.ts +32 -2
  199. package/src/Api/CustomSortApi.d.ts +5 -10
  200. package/src/Api/FlashingCellApi.d.ts +10 -6
  201. package/src/Api/FormatColumnApi.d.ts +8 -18
  202. package/src/Api/Implementation/AlertApiImpl.d.ts +6 -9
  203. package/src/Api/Implementation/AlertApiImpl.js +7 -6
  204. package/src/Api/Implementation/ApiBase.d.ts +2 -12
  205. package/src/Api/Implementation/ApiBase.js +5 -5
  206. package/src/Api/Implementation/ColumnApiImpl.d.ts +5 -2
  207. package/src/Api/Implementation/ColumnApiImpl.js +59 -23
  208. package/src/Api/Implementation/ColumnFilterApiImpl.d.ts +7 -1
  209. package/src/Api/Implementation/ColumnFilterApiImpl.js +76 -3
  210. package/src/Api/Implementation/ColumnScopeApiImpl.js +10 -2
  211. package/src/Api/Implementation/CustomSortApiImpl.d.ts +5 -10
  212. package/src/Api/Implementation/CustomSortApiImpl.js +6 -4
  213. package/src/Api/Implementation/FlashingCellApiImpl.d.ts +7 -6
  214. package/src/Api/Implementation/FlashingCellApiImpl.js +11 -8
  215. package/src/Api/Implementation/FormatColumnApiImpl.d.ts +8 -18
  216. package/src/Api/Implementation/FormatColumnApiImpl.js +10 -9
  217. package/src/Api/Implementation/LayoutApiImpl.d.ts +3 -2
  218. package/src/Api/Implementation/LayoutApiImpl.js +101 -7
  219. package/src/Api/Implementation/LayoutHelpers.d.ts +1 -0
  220. package/src/Api/Implementation/LayoutHelpers.js +23 -4
  221. package/src/Api/Implementation/PlusMinusApiImpl.d.ts +7 -5
  222. package/src/Api/Implementation/PlusMinusApiImpl.js +10 -7
  223. package/src/Api/Implementation/ScheduleApiImpl.d.ts +9 -16
  224. package/src/Api/Implementation/ScheduleApiImpl.js +15 -17
  225. package/src/Api/Implementation/ShortcutApiImpl.d.ts +5 -6
  226. package/src/Api/Implementation/ShortcutApiImpl.js +7 -8
  227. package/src/Api/Implementation/StyledColumnApiImpl.d.ts +7 -8
  228. package/src/Api/Implementation/StyledColumnApiImpl.js +12 -9
  229. package/src/Api/Implementation/TeamSharingApiImpl.js +1 -4
  230. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +2 -1
  231. package/src/Api/Implementation/UserInterfaceApiImpl.js +10 -9
  232. package/src/Api/Internal/AdaptableInternalApi.d.ts +2 -0
  233. package/src/Api/Internal/AdaptableInternalApi.js +3 -0
  234. package/src/Api/Internal/AlertInternalApi.d.ts +6 -6
  235. package/src/Api/Internal/AlertInternalApi.js +10 -10
  236. package/src/Api/Internal/ColumnFilterInternalApi.d.ts +13 -0
  237. package/src/Api/Internal/ColumnFilterInternalApi.js +93 -1
  238. package/src/Api/Internal/ColumnInternalApi.d.ts +2 -1
  239. package/src/Api/Internal/ColumnInternalApi.js +6 -2
  240. package/src/Api/Internal/DashboardInternalApi.js +1 -1
  241. package/src/Api/Internal/EntitlementInternalApi.d.ts +1 -0
  242. package/src/Api/Internal/EntitlementInternalApi.js +8 -0
  243. package/src/Api/Internal/ExportInternalApi.js +1 -1
  244. package/src/Api/Internal/FlashingCellInternalApi.js +1 -1
  245. package/src/Api/Internal/FormatColumnInternalApi.d.ts +12 -13
  246. package/src/Api/Internal/FormatColumnInternalApi.js +45 -16
  247. package/src/Api/Internal/GridInternalApi.d.ts +7 -10
  248. package/src/Api/Internal/GridInternalApi.js +76 -27
  249. package/src/Api/Internal/LayoutInternalApi.d.ts +5 -5
  250. package/src/Api/Internal/LayoutInternalApi.js +42 -5
  251. package/src/Api/Internal/PredicateInternalApi.d.ts +2 -6
  252. package/src/Api/Internal/PredicateInternalApi.js +4 -6
  253. package/src/Api/Internal/UserInterfaceInternalApi.d.ts +1 -0
  254. package/src/Api/Internal/UserInterfaceInternalApi.js +10 -3
  255. package/src/Api/LayoutApi.d.ts +7 -2
  256. package/src/Api/PlusMinusApi.d.ts +11 -7
  257. package/src/Api/ScheduleApi.d.ts +9 -16
  258. package/src/Api/ShortcutApi.d.ts +5 -6
  259. package/src/Api/StyledColumnApi.d.ts +10 -7
  260. package/src/Api/UserInterfaceApi.d.ts +5 -6
  261. package/src/Redux/ActionsReducers/InternalRedux.d.ts +4 -4
  262. package/src/Redux/ActionsReducers/InternalRedux.js +7 -7
  263. package/src/Redux/ActionsReducers/StyledColumnRedux.d.ts +7 -0
  264. package/src/Redux/ActionsReducers/StyledColumnRedux.js +13 -0
  265. package/src/Redux/Store/AdaptableStore.js +10 -10
  266. package/src/Strategy/AdaptableModuleBase.d.ts +14 -4
  267. package/src/Strategy/AdaptableModuleBase.js +46 -9
  268. package/src/Strategy/AlertModule.d.ts +3 -4
  269. package/src/Strategy/AlertModule.js +7 -4
  270. package/src/Strategy/CalculatedColumnModule.js +2 -2
  271. package/src/Strategy/CellSummaryModule.js +2 -2
  272. package/src/Strategy/ChartingModule.d.ts +3 -1
  273. package/src/Strategy/ChartingModule.js +9 -3
  274. package/src/Strategy/ColumnFilterModule.d.ts +1 -1
  275. package/src/Strategy/ColumnFilterModule.js +31 -15
  276. package/src/Strategy/ColumnInfoModule.js +2 -2
  277. package/src/Strategy/CommentModule.d.ts +1 -1
  278. package/src/Strategy/CommentModule.js +3 -3
  279. package/src/Strategy/CustomSortModule.d.ts +3 -4
  280. package/src/Strategy/CustomSortModule.js +2 -2
  281. package/src/Strategy/DashboardModule.js +1 -1
  282. package/src/Strategy/DataChangeHistoryModule.d.ts +2 -1
  283. package/src/Strategy/DataChangeHistoryModule.js +3 -10
  284. package/src/Strategy/DataImportModule.js +3 -3
  285. package/src/Strategy/ExportModule.js +1 -1
  286. package/src/Strategy/Fdc3Module.js +1 -1
  287. package/src/Strategy/FlashingCellModule.d.ts +3 -5
  288. package/src/Strategy/FlashingCellModule.js +3 -3
  289. package/src/Strategy/FormatColumnModule.d.ts +3 -4
  290. package/src/Strategy/FormatColumnModule.js +4 -2
  291. package/src/Strategy/FreeTextColumnModule.d.ts +1 -1
  292. package/src/Strategy/FreeTextColumnModule.js +2 -2
  293. package/src/Strategy/GridInfoModule.js +2 -2
  294. package/src/Strategy/Interface/IModule.d.ts +7 -3
  295. package/src/Strategy/LayoutModule.js +11 -11
  296. package/src/Strategy/NoteModule.d.ts +1 -1
  297. package/src/Strategy/NoteModule.js +3 -3
  298. package/src/Strategy/PlusMinusModule.d.ts +3 -4
  299. package/src/Strategy/PlusMinusModule.js +2 -2
  300. package/src/Strategy/QuickSearchModule.d.ts +2 -0
  301. package/src/Strategy/QuickSearchModule.js +9 -0
  302. package/src/Strategy/ScheduleModule.d.ts +3 -4
  303. package/src/Strategy/ScheduleModule.js +2 -2
  304. package/src/Strategy/SettingsPanelModule.js +1 -1
  305. package/src/Strategy/ShortcutModule.d.ts +3 -4
  306. package/src/Strategy/ShortcutModule.js +2 -2
  307. package/src/Strategy/StatusBarModule.d.ts +3 -2
  308. package/src/Strategy/StatusBarModule.js +6 -3
  309. package/src/Strategy/StyledColumnModule.d.ts +3 -4
  310. package/src/Strategy/StyledColumnModule.js +2 -2
  311. package/src/Strategy/SystemStatusModule.js +2 -2
  312. package/src/Strategy/TeamSharingModule.d.ts +1 -1
  313. package/src/Strategy/TeamSharingModule.js +5 -2
  314. package/src/Strategy/ToolPanelModule.d.ts +1 -1
  315. package/src/Strategy/ToolPanelModule.js +1 -4
  316. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsTargetItems.d.ts +5 -0
  317. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsTargetItems.js +12 -0
  318. package/src/Strategy/Utilities/Layout/getLayoutFilterViewItems.js +1 -1
  319. package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +1 -0
  320. package/src/Utilities/Constants/DocumentationLinkConstants.js +1 -0
  321. package/src/Utilities/Extensions/ArrayExtensions.d.ts +15 -2
  322. package/src/Utilities/Extensions/ArrayExtensions.js +62 -13
  323. package/src/Utilities/ObjectFactory.js +3 -2
  324. package/src/Utilities/Services/AnnotationsService.js +1 -1
  325. package/src/Utilities/Services/Interface/IModuleService.d.ts +2 -1
  326. package/src/Utilities/Services/ModuleService.d.ts +3 -3
  327. package/src/Utilities/Services/ModuleService.js +19 -7
  328. package/src/Utilities/getScopeViewItems.js +5 -2
  329. package/src/View/AdaptableView.js +3 -1
  330. package/src/View/ColumnInfo/ColumnInfo.js +9 -3
  331. package/src/View/Components/AdaptableIconSelector/index.js +2 -3
  332. package/src/View/Components/ColumnFilter/AdaptableColumnFilter.d.ts +0 -1
  333. package/src/View/Components/ColumnFilter/AdaptableColumnFilter.js +2 -3
  334. package/src/View/Components/ColumnFilter/AdaptableFloatingFilter.d.ts +0 -2
  335. package/src/View/Components/ColumnFilter/AdaptableFloatingFilter.js +4 -7
  336. package/src/View/Components/ColumnFilter/ColumnFilter.js +11 -4
  337. package/src/View/Components/ColumnFilter/ColumnFilterWindow.js +1 -1
  338. package/src/View/Components/ColumnFilter/FloatingFilter.js +1 -2
  339. package/src/View/Components/ColumnFilter/LayoutColumnFilter.js +1 -1
  340. package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +2 -2
  341. package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +2 -2
  342. package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.d.ts +1 -1
  343. package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.js +2 -2
  344. package/src/View/Components/ColumnFilter/utils.d.ts +2 -2
  345. package/src/View/Components/ColumnFilter/utils.js +6 -1
  346. package/src/View/Components/EntityRulesEditor/index.js +1 -2
  347. package/src/View/Components/FilterForm/ListBoxFilterForm.js +1 -1
  348. package/src/View/Components/NewScopeComponent.js +5 -1
  349. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +6 -6
  350. package/src/View/Components/PredicateEditor/PredicateEditor.js +1 -2
  351. package/src/View/Components/Selectors/BulkUpdateValueSelector.js +1 -1
  352. package/src/View/Components/Selectors/ColumnSelector.js +1 -1
  353. package/src/View/Components/Selectors/FieldSelector.js +1 -1
  354. package/src/View/Components/Selectors/PermittedValuesSelector.d.ts +1 -0
  355. package/src/View/Components/Selectors/PermittedValuesSelector.js +2 -2
  356. package/src/View/Dashboard/Dashboard.js +2 -2
  357. package/src/View/Dashboard/DashboardPopup.js +3 -1
  358. package/src/View/Dashboard/PinnedDashboard.js +1 -1
  359. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +9 -21
  360. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +59 -22
  361. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +4 -0
  362. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +1 -40
  363. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +13 -12
  364. package/src/View/FormatColumn/Wizard/FormatColumnTargetWizardSection.d.ts +8 -0
  365. package/src/View/FormatColumn/Wizard/FormatColumnTargetWizardSection.js +31 -0
  366. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +18 -4
  367. package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.js +1 -1
  368. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +1 -1
  369. package/src/View/Layout/TransposedPopup.js +2 -2
  370. package/src/View/Layout/Wizard/sections/ColumnsSection.js +64 -9
  371. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +5 -5
  372. package/src/View/StatusBar/AdaptableStatusBar.js +1 -4
  373. package/src/View/StatusBar/StatusBarPopup.js +1 -1
  374. package/src/View/Theme/ThemeSelector.js +1 -1
  375. package/src/agGrid/AdaptableAgGrid.d.ts +11 -7
  376. package/src/agGrid/AdaptableAgGrid.js +256 -218
  377. package/src/agGrid/AdaptableFilterHandler.d.ts +18 -0
  378. package/src/agGrid/AdaptableFilterHandler.js +61 -0
  379. package/src/agGrid/AgGridAdapter.d.ts +3 -7
  380. package/src/agGrid/AgGridAdapter.js +13 -46
  381. package/src/agGrid/AgGridColumnAdapter.d.ts +3 -3
  382. package/src/agGrid/AgGridColumnAdapter.js +86 -40
  383. package/src/agGrid/AgGridExportAdapter.js +1 -1
  384. package/src/agGrid/AgGridFilterAdapter.d.ts +2 -0
  385. package/src/agGrid/AgGridFilterAdapter.js +48 -0
  386. package/src/agGrid/AgGridFloatingFilterAdapter.d.ts +2 -0
  387. package/src/agGrid/{FloatingFilterWrapper.js → AgGridFloatingFilterAdapter.js} +24 -35
  388. package/src/agGrid/AgGridModulesAdapter.d.ts +15 -0
  389. package/src/agGrid/AgGridModulesAdapter.js +66 -0
  390. package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.js +1 -1
  391. package/src/agGrid/editors/AdaptablePercentageEditor/InternalAdaptablePercentageEditor.js +1 -1
  392. package/src/components/Dialog/index.js +1 -1
  393. package/src/components/Dropdown/Arrows.js +2 -2
  394. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.d.ts +1 -1
  395. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +2 -2
  396. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +2 -2
  397. package/src/components/FileDroppable/index.js +1 -1
  398. package/src/components/IconSelector/IconSelector.d.ts +2 -2
  399. package/src/components/OverlayTrigger/index.js +1 -1
  400. package/src/components/Select/Select.d.ts +1 -1
  401. package/src/components/Select/Select.js +116 -24
  402. package/src/components/icons/DefaultIcon.d.ts +0 -1
  403. package/src/components/icons/DefaultIcon.js +0 -6
  404. package/src/env.js +2 -2
  405. package/src/layout-manager/src/LayoutManagerModel.d.ts +6 -10
  406. package/src/layout-manager/src/index.d.ts +11 -3
  407. package/src/layout-manager/src/index.js +302 -87
  408. package/src/layout-manager/src/normalizeLayoutModel.js +7 -4
  409. package/src/layout-manager/src/simplifyLayoutModel.js +4 -4
  410. package/src/metamodel/adaptable.metamodel.d.ts +172 -20
  411. package/src/metamodel/adaptable.metamodel.js +1 -1
  412. package/src/migration/AdaptableUpgradeHelper.js +2 -0
  413. package/src/migration/VersionUpgrade17.js +1 -1
  414. package/src/migration/VersionUpgrade20.js +1 -0
  415. package/src/migration/VersionUpgrade21.d.ts +6 -0
  416. package/src/migration/VersionUpgrade21.js +24 -0
  417. package/src/types.d.ts +8 -9
  418. package/tsconfig.esm.tsbuildinfo +1 -1
  419. package/src/AdaptableState/Common/ExtendedLayoutInfo.d.ts +0 -27
  420. package/src/agGrid/FilterWrapper.d.ts +0 -2
  421. package/src/agGrid/FilterWrapper.js +0 -131
  422. package/src/agGrid/FloatingFilterWrapper.d.ts +0 -2
  423. package/src/agGrid/agGridModules.d.ts +0 -3
  424. package/src/agGrid/agGridModules.js +0 -15
  425. package/src/agGrid/getAgGridFilterNotifyModelFn.d.ts +0 -2
  426. package/src/agGrid/getAgGridFilterNotifyModelFn.js +0 -16
  427. /package/src/AdaptableState/Common/{ExtendedLayoutInfo.js → ExtendedLayout.js} +0 -0
@@ -1,4 +1,5 @@
1
1
  import { ShortcutState, Shortcut } from '../AdaptableState/ShortcutState';
2
+ import { LayoutExtendedConfig } from '../types';
2
3
  /**
3
4
  * Provides run-time access to Shortcut Module and associated state
4
5
  */
@@ -11,25 +12,23 @@ export interface ShortcutApi {
11
12
  * Gets all Shortcuts in Adaptable State
12
13
  * @returns shortcuts
13
14
  */
14
- getShortcuts(config?: {
15
- includeLayoutNotAssociatedObjects?: boolean;
16
- }): Shortcut[];
15
+ getShortcuts(config?: LayoutExtendedConfig): Shortcut[];
17
16
  /**
18
17
  * Retrieves Shortcut by Id
19
18
  * @param id Shortcut id
20
19
  * @returns shortcut
21
20
  */
22
- getShortcutById(id: Shortcut['Uuid']): Shortcut;
21
+ getShortcutById(id: Shortcut['Uuid'], config?: LayoutExtendedConfig): Shortcut;
23
22
  /**
24
23
  * Gets all active (not-suspended) Shortcuts in Adaptable State
25
24
  * @returns shortcuts
26
25
  */
27
- getActiveShortcuts(): Shortcut[];
26
+ getActiveShortcuts(config?: LayoutExtendedConfig): Shortcut[];
28
27
  /**
29
28
  * Gets all suspended Shortcuts in Adaptable State
30
29
  * @returns shortcuts
31
30
  */
32
- getSuspendedShortcuts(): Shortcut[];
31
+ getSuspendedShortcuts(config?: LayoutExtendedConfig): Shortcut[];
33
32
  /**
34
33
  * Adds new Shortcut to the state
35
34
  * @param shortcut Shortcut to add
@@ -1,5 +1,6 @@
1
1
  import { AdaptableColumn } from '../AdaptableState/Common/AdaptableColumn';
2
2
  import { StyledColumn, StyledColumnState } from '../AdaptableState/StyledColumnState';
3
+ import { LayoutExtendedConfig } from '../types';
3
4
  /**
4
5
  * Provides run-time access to Styled Column Module and associated state
5
6
  */
@@ -12,36 +13,38 @@ export interface StyledColumnApi {
12
13
  * Retrieves all Styled Columns in Adaptable State
13
14
  * @returns Styled Columns
14
15
  */
15
- getStyledColumns(config?: {
16
- includeLayoutNotAssociatedObjects?: boolean;
17
- }): StyledColumn[];
16
+ getStyledColumns(config?: LayoutExtendedConfig): StyledColumn[];
18
17
  /**
19
18
  * Retrieves Styled Column by Id
20
19
  * @param id Styled Column id
21
20
  * @returns Styled Column
22
21
  */
23
- getStyledColumnById(id: StyledColumn['Uuid']): StyledColumn;
22
+ getStyledColumnById(id: StyledColumn['Uuid'], config?: LayoutExtendedConfig): StyledColumn;
24
23
  /**
25
24
  * Retrieves Styled Column for given Column Id
26
25
  * @param columnId Styled Column id
27
26
  * @returns Styled Column
28
27
  */
29
- getStyledColumnForColumnId(columnId: StyledColumn['ColumnId']): StyledColumn;
28
+ getStyledColumnForColumnId(columnId: StyledColumn['ColumnId'], config?: LayoutExtendedConfig): StyledColumn;
30
29
  /**
31
30
  * Retrieves all active (not-suspended) Styled Columns in Adaptable State
32
31
  * @returns Styled Columns
33
32
  */
34
- getActiveStyledColumns(): StyledColumn[];
33
+ getActiveStyledColumns(config?: LayoutExtendedConfig): StyledColumn[];
35
34
  /**
36
35
  * Retrieves all suspended Styled Columns in Adaptable State
37
36
  * @returns Styled Columns
38
37
  */
39
- getSuspendedStyledColumns(): StyledColumn[];
38
+ getSuspendedStyledColumns(config?: LayoutExtendedConfig): StyledColumn[];
40
39
  /**
41
40
  * Delete a Styled column
42
41
  * @param styledColumn
43
42
  */
44
43
  deleteStyledColumn(styledColumn: StyledColumn): void;
44
+ /**
45
+ * Delete all Styled Columns in State
46
+ */
47
+ deleteAllStyledColumns(): void;
45
48
  /**
46
49
  * Create a Styled column
47
50
  * @param styledColumn
@@ -1,6 +1,6 @@
1
1
  import { AdaptableStyle } from '../AdaptableState/Common/AdaptableStyle';
2
2
  import { AdaptableObject, AdaptableObjectTag } from '../AdaptableState/Common/AdaptableObject';
3
- import { AdaptableIcon, AdaptableModule } from '../types';
3
+ import { AdaptableModule, CustomIcon } from '../types';
4
4
  import { CustomWindowConfig } from '../AdaptableState/Common/CustomWindowConfig';
5
5
  import { ProgressIndicatorConfig } from '../AdaptableState/Common/ProgressIndicatorConfig';
6
6
  /**
@@ -11,6 +11,10 @@ export interface UserInterfaceApi {
11
11
  * Retrieves Color Palette currently being used
12
12
  */
13
13
  getColorPalette(): string[];
14
+ /**
15
+ * Retrieves Custom Icons provided by users
16
+ */
17
+ getCustomIcons(): CustomIcon[];
14
18
  /**
15
19
  * Retrieves any Style Class Names from User Interface Options
16
20
  */
@@ -37,11 +41,6 @@ export interface UserInterfaceApi {
37
41
  * @param adaptableModule optional Module to check
38
42
  */
39
43
  getAdaptableObjectsWithTag(tag: AdaptableObjectTag, adaptableModule?: AdaptableModule): AdaptableObject[] | undefined;
40
- /**
41
- * Returns AdapTable Icon with given name
42
- * @param name name of Icon
43
- */
44
- getCustomIconDefinition(name: string): AdaptableIcon | undefined;
45
44
  /**
46
45
  * Displays a progress indicator
47
46
  * @param config.progressText - text to display in the progress indicator
@@ -63,7 +63,7 @@ export declare const SETTINGS_PANEL_SET = "SETTINGS_PANEL_SET";
63
63
  export declare const QUICK_FILTER_BAR_SHOW = "QUICK_FILTER_BAR_SHOW";
64
64
  export declare const QUICK_FILTER_BAR_HIDE = "QUICK_FILTER_BAR_HIDE";
65
65
  export declare const DISABLE_DELETE_CONFIRMATION = "DISABLE_DELETE_CONFIRMATION";
66
- export declare const LAYOUT_SHOW_NOT_ASSOCIATED_OBJECTS = "LAYOUT_SHOW_NOT_ASSOCIATED_OBJECTS";
66
+ export declare const LAYOUT_SHOW_NON_EXTENDED_OBJECTS = "LAYOUT_SHOW_NON_EXTENDED_OBJECTS";
67
67
  export declare const DASHBOARD_REFRESH = "DASHBOARD_REFRESH";
68
68
  export declare const DATA_SET_SELECT = "DATA_SET_SELECT";
69
69
  export declare const CHARTING_SET_CURRENT_CHART_MODELS = "CHARTING_SET_CURRENT_CHART_MODELS";
@@ -261,8 +261,8 @@ export interface QuickFilterBarShowAction extends Redux.Action {
261
261
  }
262
262
  export interface QuickFilterBarHideAction extends Redux.Action {
263
263
  }
264
- export interface LayoutShowNotAssociatedObjectsAction extends Redux.Action {
265
- showNotAssociatedObjects: boolean;
264
+ export interface LayoutShowNonExtendedObjectsAction extends Redux.Action {
265
+ showNonExtendedObjects: boolean;
266
266
  }
267
267
  export interface DataSetSelectAction extends Redux.Action {
268
268
  dataSet: DataSet;
@@ -324,7 +324,7 @@ export declare const DataChangeHistoryResume: () => DataChangeHistoryResumeActio
324
324
  export declare const SettingsPanelSet: (name: string, settings: InternalState['SettingsPanel']['0']) => SettingsPanelSetAction;
325
325
  export declare const QuickFilterBarShow: () => QuickFilterBarShowAction;
326
326
  export declare const QuickFilterBarHide: () => QuickFilterBarHideAction;
327
- export declare const LayoutShowNotAssociatedObjects: (showNotAssociatedObjects: boolean) => LayoutShowNotAssociatedObjectsAction;
327
+ export declare const LayoutShowNonExtendedObjects: (showNonExtendedObjects: boolean) => LayoutShowNonExtendedObjectsAction;
328
328
  export declare const DashboardRefresh: () => DashboardRefreshAction;
329
329
  export declare const DataSetSelect: (dataSet: DataSet) => DataSetSelectAction;
330
330
  export declare const ChartingSetCurrentChartModels: (chartModels: ChartModel[]) => ChartingSetCurrentChartModelsAction;
@@ -75,7 +75,7 @@ export const QUICK_FILTER_BAR_HIDE = 'QUICK_FILTER_BAR_HIDE';
75
75
  // Delete warning
76
76
  export const DISABLE_DELETE_CONFIRMATION = 'DISABLE_DELETE_CONFIRMATION';
77
77
  // Layout
78
- export const LAYOUT_SHOW_NOT_ASSOCIATED_OBJECTS = 'LAYOUT_SHOW_NOT_ASSOCIATED_OBJECTS';
78
+ export const LAYOUT_SHOW_NON_EXTENDED_OBJECTS = 'LAYOUT_SHOW_NON_EXTENDED_OBJECTS';
79
79
  export const DASHBOARD_REFRESH = 'DASHBOARD_REFRESH';
80
80
  // DataSet
81
81
  export const DATA_SET_SELECT = 'DATA_SET_SELECT';
@@ -275,9 +275,9 @@ export const QuickFilterBarShow = () => ({
275
275
  export const QuickFilterBarHide = () => ({
276
276
  type: QUICK_FILTER_BAR_HIDE,
277
277
  });
278
- export const LayoutShowNotAssociatedObjects = (showNotAssociatedObjects) => ({
279
- type: LAYOUT_SHOW_NOT_ASSOCIATED_OBJECTS,
280
- showNotAssociatedObjects,
278
+ export const LayoutShowNonExtendedObjects = (showNonExtendedObjects) => ({
279
+ type: LAYOUT_SHOW_NON_EXTENDED_OBJECTS,
280
+ showNonExtendedObjects: showNonExtendedObjects,
281
281
  });
282
282
  export const DashboardRefresh = () => ({
283
283
  type: DASHBOARD_REFRESH,
@@ -388,7 +388,7 @@ const initialState = {
388
388
  externalChartingDefinitions: [],
389
389
  },
390
390
  Layout: {
391
- ShowLayoutNotAssociatedObjects: false,
391
+ showLayoutNonExtendedObjects: false,
392
392
  },
393
393
  DisableDeleteConfirmation: false,
394
394
  Export: {
@@ -769,12 +769,12 @@ export const InternalReducer = (state = initialState, action) => {
769
769
  return Object.assign({}, state, { IsQuickFilterVisible: true });
770
770
  case QUICK_FILTER_BAR_HIDE:
771
771
  return Object.assign({}, state, { IsQuickFilterVisible: false });
772
- case LAYOUT_SHOW_NOT_ASSOCIATED_OBJECTS: {
772
+ case LAYOUT_SHOW_NON_EXTENDED_OBJECTS: {
773
773
  const typedAction = action;
774
774
  return {
775
775
  ...state,
776
776
  Layout: {
777
- ShowLayoutNotAssociatedObjects: typedAction.showNotAssociatedObjects,
777
+ showLayoutNonExtendedObjects: typedAction.showNonExtendedObjects,
778
778
  },
779
779
  };
780
780
  }
@@ -12,6 +12,10 @@ export declare const STYLED_COLUMN_EDIT = "STYLED_COLUMN_EDIT";
12
12
  * @ReduxAction A Special Column Style has been deleted
13
13
  */
14
14
  export declare const STYLED_COLUMN_DELETE = "STYLED_COLUMN_DELETE";
15
+ /**
16
+ * @ReduxAction Delete ALL Styled Columns
17
+ */
18
+ export declare const STYLED_COLUMN_DELETE_ALL = "STYLED_COLUMN_DELETE_ALL";
15
19
  /**
16
20
  * @ReduxAction StyledColumn Module is ready
17
21
  */
@@ -41,6 +45,8 @@ export interface StyledColumnEditAction extends StyledColumnAction {
41
45
  }
42
46
  export interface StyledColumnDeleteAction extends StyledColumnAction {
43
47
  }
48
+ export interface StyledColumnDeleteAllAction extends Redux.Action {
49
+ }
44
50
  export interface StyledColumnSuspendAction extends StyledColumnAction {
45
51
  }
46
52
  export interface StyledColumnUnSuspendAction extends StyledColumnAction {
@@ -55,6 +61,7 @@ export interface StyledColumnReadyAction extends Redux.Action {
55
61
  export declare const StyledColumnAdd: (formatColumn: StyledColumn) => StyledColumnAddAction;
56
62
  export declare const StyledColumnEdit: (formatColumn: StyledColumn) => StyledColumnEditAction;
57
63
  export declare const StyledColumnDelete: (formatColumn: StyledColumn) => StyledColumnDeleteAction;
64
+ export declare const StyledColumnDeleteAll: () => StyledColumnDeleteAllAction;
58
65
  export declare const StyledColumnSuspend: (formatColumn: StyledColumn) => StyledColumnSuspendAction;
59
66
  export declare const StyledColumnUnSuspend: (formatColumn: StyledColumn) => StyledColumnSuspendAction;
60
67
  export declare const StyledColumnSuspendAll: () => StyledColumnSuspendAllAction;
@@ -13,6 +13,10 @@ export const STYLED_COLUMN_EDIT = 'STYLED_COLUMN_EDIT';
13
13
  * @ReduxAction A Special Column Style has been deleted
14
14
  */
15
15
  export const STYLED_COLUMN_DELETE = 'STYLED_COLUMN_DELETE';
16
+ /**
17
+ * @ReduxAction Delete ALL Styled Columns
18
+ */
19
+ export const STYLED_COLUMN_DELETE_ALL = 'STYLED_COLUMN_DELETE_ALL';
16
20
  /**
17
21
  * @ReduxAction StyledColumn Module is ready
18
22
  */
@@ -45,6 +49,9 @@ export const StyledColumnDelete = (formatColumn) => ({
45
49
  type: STYLED_COLUMN_DELETE,
46
50
  StyledColumn: formatColumn,
47
51
  });
52
+ export const StyledColumnDeleteAll = () => ({
53
+ type: STYLED_COLUMN_DELETE_ALL,
54
+ });
48
55
  export const StyledColumnSuspend = (formatColumn) => ({
49
56
  type: STYLED_COLUMN_SUSPEND,
50
57
  StyledColumn: formatColumn,
@@ -89,6 +96,12 @@ export const StyledColumnReducer = (state = initialState, action) => {
89
96
  StyledColumns: state.StyledColumns.filter((abObject) => abObject.Uuid !== actionStyledColumn.Uuid),
90
97
  };
91
98
  }
99
+ case STYLED_COLUMN_DELETE_ALL: {
100
+ return {
101
+ ...state,
102
+ StyledColumns: [],
103
+ };
104
+ }
92
105
  case STYLED_COLUMN_SUSPEND: {
93
106
  return {
94
107
  ...state,
@@ -892,18 +892,18 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
892
892
  const newLayout = (newLayoutState.Layouts || []).find((l) => l.Name == newLayoutState.CurrentLayout) ||
893
893
  newLayoutState.Layouts[0] ||
894
894
  ERROR_LAYOUT;
895
- // Apply filtering if Column or Grid filters have been changed
896
- let refreshFilters = false;
895
+ const changedColumnSorts = adaptable.api.layoutApi.internalApi.getChangedColumnSorts(oldLayout.ColumnSorts, newLayout.ColumnSorts);
896
+ changedColumnSorts.forEach((columnId) => adaptable.api.filterApi.columnFilterApi.resetFilterValues(columnId));
897
+ let refreshColumnFilters = false;
897
898
  if (adaptable.api.filterApi.columnFilterApi.internalApi.areColumnFiltersDifferent(oldLayout.ColumnFilters, newLayout.ColumnFilters)) {
898
- refreshFilters = true;
899
+ refreshColumnFilters = true;
899
900
  }
900
- // Apply Grid filtering if Grid filter has been changed
901
- if (!refreshFilters &&
902
- adaptable.api.filterApi.gridFilterApi.internalApi.isGridFilterDifferent(oldLayout.GridFilter, newLayout.GridFilter)) {
903
- refreshFilters = true;
901
+ let refreshGridFilter = false;
902
+ if (adaptable.api.filterApi.gridFilterApi.internalApi.isGridFilterDifferent(oldLayout.GridFilter, newLayout.GridFilter)) {
903
+ refreshGridFilter = true;
904
904
  }
905
- if (refreshFilters) {
906
- adaptable.applyFiltering();
905
+ if (refreshColumnFilters || refreshGridFilter) {
906
+ adaptable.applyFiltering({ updateColumnFilterModel: refreshColumnFilters });
907
907
  }
908
908
  if (returnAction.type == LayoutRedux.LAYOUT_SELECT ||
909
909
  returnAction.type == LayoutRedux.LAYOUT_DELETE) {
@@ -969,7 +969,7 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
969
969
  adaptable.api.eventApi.internalApi.fireGridFilterAppliedEvent();
970
970
  adaptable.api.eventApi.internalApi.fireLayoutChangedEvent(action.type, null, middlewareAPI.getState().Layout);
971
971
  setTimeout(() => {
972
- adaptable.applyFiltering();
972
+ adaptable.applyFiltering({ updateColumnFilterModel: false });
973
973
  }, 5);
974
974
  return next(returnAction);
975
975
  }
@@ -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>;