@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
@@ -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
  }
@@ -10,6 +10,7 @@ import { MoveFormatColumn } from '../View/FormatColumn/MoveFormatColumn';
10
10
  import { getObjectTagsViewItems } from '../Utilities/getObjectTagsViewItems';
11
11
  import { getRuleViewItems } from '../Utilities/getRuleViewItems';
12
12
  import { getScopeViewItems } from '../Utilities/getScopeViewItems';
13
+ import { getFormatColumnSettingsTargetItems } from './Utilities/FormatColumn/getFormatColumnSettingsTargetItems';
13
14
  export class FormatColumnModule extends AdaptableModuleBase {
14
15
  constructor(api) {
15
16
  super(ModuleConstants.FormatColumnModuleId, ModuleConstants.FormatColumnFriendlyName, 'color-palette', 'FormatColumnPopup', 'Create a column style, display format or cell alignment', api);
@@ -82,6 +83,7 @@ export class FormatColumnModule extends AdaptableModuleBase {
82
83
  abObject: formatColumn,
83
84
  items: [
84
85
  getScopeViewItems(formatColumn.Scope, this.api),
86
+ getFormatColumnSettingsTargetItems(formatColumn),
85
87
  formatColumn.Rule && getRuleViewItems(formatColumn.Rule, this.api),
86
88
  {
87
89
  name: 'Style',
@@ -98,7 +100,7 @@ export class FormatColumnModule extends AdaptableModuleBase {
98
100
  }
99
101
  toViewAll() {
100
102
  return this.getModuleAdaptableObjects({
101
- includeLayoutNotAssociatedObjects: this.showLayoutNotAssociatedObjects(),
103
+ includeLayoutNotExtendedObjects: this.showLayoutNonExtendedObjects(),
102
104
  }).map((formatColumn) => this.toView(formatColumn));
103
105
  }
104
106
  getViewProperties() {
@@ -115,7 +117,7 @@ export class FormatColumnModule extends AdaptableModuleBase {
115
117
  },
116
118
  };
117
119
  }
118
- canBeAssociatedWithLayouts() {
120
+ containsLayoutExtensions() {
119
121
  return true;
120
122
  }
121
123
  }
@@ -12,7 +12,7 @@ export declare class FreeTextColumnModule extends AdaptableModuleBase implements
12
12
  shouldListenToDataChanges(): boolean;
13
13
  checkListenToCellDataChanged(): void;
14
14
  setupCellDataChangeListener(): void;
15
- isModuleAvailable(): boolean;
15
+ isModuleEnabled(): boolean;
16
16
  getModuleAdaptableObjects(): FreeTextColumn[];
17
17
  hasNamedQueryReferences(): boolean;
18
18
  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">[];
@@ -34,9 +34,9 @@ export class FreeTextColumnModule extends AdaptableModuleBase {
34
34
  }
35
35
  });
36
36
  }
37
- isModuleAvailable() {
37
+ isModuleEnabled() {
38
38
  // FreeTextColumn module doesn't support autogenerated primary keys
39
- return super.isModuleAvailable() && !this.api.optionsApi.isAutogeneratePrimaryKey();
39
+ return !this.api.optionsApi.isAutogeneratePrimaryKey();
40
40
  }
41
41
  getModuleAdaptableObjects() {
42
42
  return this.api.freeTextColumnApi.getFreeTextColumns();
@@ -8,7 +8,7 @@ export class GridInfoModule extends AdaptableModuleBase {
8
8
  return 'Full';
9
9
  }
10
10
  createColumnMenuItems(column) {
11
- if (this.isModuleAvailable()) {
11
+ if (this.isModuleVisible()) {
12
12
  return [
13
13
  this.createMainMenuItemShowPopup({
14
14
  Name: 'grid-info-show',
@@ -20,7 +20,7 @@ export class GridInfoModule extends AdaptableModuleBase {
20
20
  }
21
21
  }
22
22
  createContextMenuItems(menuContext) {
23
- if (this.isModuleAvailable()) {
23
+ if (this.isModuleVisible()) {
24
24
  return [
25
25
  this.createMainMenuItemShowPopup({
26
26
  Name: 'grid-info-show',
@@ -145,12 +145,16 @@ export interface AdaptableModuleView {
145
145
  export interface IModule {
146
146
  moduleInfo: ModuleInfo;
147
147
  AccessLevel: AccessLevel;
148
+ logMissingAgGridDepsInfos(): void;
149
+ setAgGridDepsInfo(): void;
150
+ isModuleEnabled(): boolean;
151
+ isModuleAvailable(): boolean;
152
+ isModuleVisible(): boolean;
153
+ isModuleEditable(): boolean;
148
154
  createModuleMenuItem(source: 'ModuleMenu' | 'ModuleButton'): AdaptableMenuItem | undefined;
149
155
  createColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem<AdaptableColumnMenuItemName>[] | undefined;
150
156
  createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem<AdaptableContextMenuItemName>[] | undefined;
151
157
  setModuleEntitlement(): void;
152
- isModuleAvailable(): boolean;
153
- isModuleEditable(): boolean;
154
158
  isModuleObjectsShareable(): boolean;
155
159
  getTeamSharingAction(): TeamSharingImportInfo<AdaptableObject> | undefined;
156
160
  getModuleAdaptableObjects(): AdaptableObject[];
@@ -159,7 +163,7 @@ export interface IModule {
159
163
  getModuleCalculatedColumnReferences(): CalculatedColumn[];
160
164
  getModuleFreeTextColumnReferences(): FreeTextColumn[];
161
165
  getPopupMaxWidth(): number | undefined;
162
- canBeAssociatedWithLayouts(): boolean;
166
+ containsLayoutExtensions(): boolean;
163
167
  /**
164
168
  * The following view options are used to render adaptable objects and
165
169
  * module general views.
@@ -71,36 +71,36 @@ export class LayoutModule extends AdaptableModuleBase {
71
71
  const teamSharingReferences = super.getTeamSharingReferences(adaptableObject);
72
72
  const layoutName = adaptableObject.Name;
73
73
  if (this.api.layoutApi.internalApi.hasLayoutSpecificObjects() && !!layoutName) {
74
- const layoutAssociatedObjectReferences = [];
74
+ const LayoutExtensionObjectReferences = [];
75
75
  const loadConfig = {
76
- associatedWithLayout: layoutName,
76
+ extendedLayoutName: layoutName,
77
77
  };
78
78
  // we ensured that there are layout specific objects, so all the "getAll*()" api methods will return only the objects available in the current layout
79
- this.api.alertApi.getAlertDefinitions(loadConfig).forEach((alertDefinition) => layoutAssociatedObjectReferences.push({
79
+ this.api.alertApi.getAlertDefinitions(loadConfig).forEach((alertDefinition) => LayoutExtensionObjectReferences.push({
80
80
  Reference: alertDefinition,
81
81
  Module: 'Alert',
82
82
  }));
83
- this.api.customSortApi.getCustomSorts(loadConfig).forEach((customSort) => layoutAssociatedObjectReferences.push({
83
+ this.api.customSortApi.getCustomSorts(loadConfig).forEach((customSort) => LayoutExtensionObjectReferences.push({
84
84
  Reference: customSort,
85
85
  Module: 'CustomSort',
86
86
  }));
87
- this.api.flashingCellApi.getFlashingCellDefinitions(loadConfig).forEach((flashingCell) => layoutAssociatedObjectReferences.push({
87
+ this.api.flashingCellApi.getFlashingCellDefinitions(loadConfig).forEach((flashingCell) => LayoutExtensionObjectReferences.push({
88
88
  Reference: flashingCell,
89
89
  Module: 'FlashingCell',
90
90
  }));
91
- this.api.formatColumnApi.getFormatColumns(loadConfig).forEach((formatColumn) => layoutAssociatedObjectReferences.push({
91
+ this.api.formatColumnApi.getFormatColumns(loadConfig).forEach((formatColumn) => LayoutExtensionObjectReferences.push({
92
92
  Reference: formatColumn,
93
93
  Module: 'FormatColumn',
94
94
  }));
95
- this.api.styledColumnApi.getStyledColumns(loadConfig).forEach((styledcolumn) => layoutAssociatedObjectReferences.push({
95
+ this.api.styledColumnApi.getStyledColumns(loadConfig).forEach((styledcolumn) => LayoutExtensionObjectReferences.push({
96
96
  Reference: styledcolumn,
97
97
  Module: 'StyledColumn',
98
98
  }));
99
- this.api.plusMinusApi.getAllPlusMinus(loadConfig).forEach((plusMinusNudge) => layoutAssociatedObjectReferences.push({
99
+ this.api.plusMinusApi.getAllPlusMinus(loadConfig).forEach((plusMinusNudge) => LayoutExtensionObjectReferences.push({
100
100
  Reference: plusMinusNudge,
101
101
  Module: 'PlusMinus',
102
102
  }));
103
- this.api.shortcutApi.getShortcuts(loadConfig).forEach((shortcut) => layoutAssociatedObjectReferences.push({
103
+ this.api.shortcutApi.getShortcuts(loadConfig).forEach((shortcut) => LayoutExtensionObjectReferences.push({
104
104
  Reference: shortcut,
105
105
  Module: 'Shortcut',
106
106
  }));
@@ -109,11 +109,11 @@ export class LayoutModule extends AdaptableModuleBase {
109
109
  ...this.api.scheduleApi.getReminderSchedules(loadConfig),
110
110
  ...this.api.scheduleApi.getIPushPullSchedules(loadConfig),
111
111
  ...this.api.scheduleApi.getOpenFinSchedules(loadConfig),
112
- ].forEach((schedule) => layoutAssociatedObjectReferences.push({
112
+ ].forEach((schedule) => LayoutExtensionObjectReferences.push({
113
113
  Reference: schedule,
114
114
  Module: 'Schedule',
115
115
  }));
116
- teamSharingReferences.push(...layoutAssociatedObjectReferences);
116
+ teamSharingReferences.push(...LayoutExtensionObjectReferences);
117
117
  }
118
118
  return teamSharingReferences;
119
119
  }
@@ -5,7 +5,7 @@ import { AdaptableModuleBase } from './AdaptableModuleBase';
5
5
  import { IModule } from './Interface/IModule';
6
6
  export declare class NoteModule extends AdaptableModuleBase implements IModule {
7
7
  constructor(api: AdaptableApi);
8
- isModuleAvailable(): boolean;
8
+ isModuleEnabled(): boolean;
9
9
  getModuleAdaptableObjects(): AdaptableObject[];
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
  }
@@ -4,15 +4,15 @@ export class NoteModule extends AdaptableModuleBase {
4
4
  constructor(api) {
5
5
  super(ModuleConstants.NoteModuleId, ModuleConstants.NoteFriendlyName, 'note', 'NotePopup', 'Notes', api);
6
6
  }
7
- isModuleAvailable() {
7
+ isModuleEnabled() {
8
8
  // Note module doesn't support autogenerated primary keys
9
- return super.isModuleAvailable() && !this.api.optionsApi.isAutogeneratePrimaryKey();
9
+ return !this.api.optionsApi.isAutogeneratePrimaryKey();
10
10
  }
11
11
  getModuleAdaptableObjects() {
12
12
  return this.api.noteApi.getAllNotes();
13
13
  }
14
14
  createContextMenuItems(menuContext) {
15
- if (!this.isModuleAvailable()) {
15
+ if (!this.isModuleVisible()) {
16
16
  return;
17
17
  }
18
18
  if (!this.api.noteApi.internalApi.areNotesSupported()) {
@@ -7,13 +7,12 @@ import { AdaptableModuleBase } from './AdaptableModuleBase';
7
7
  import { IPlusMinusModule } from './Interface/IPlusMinusModule';
8
8
  import { AdaptableObject } from '../AdaptableState/Common/AdaptableObject';
9
9
  import { AdaptableObjectView, AdaptableModuleView } from './Interface/IModule';
10
+ import { LayoutExtendedConfig } from '../types';
10
11
  export declare class PlusMinusModule extends AdaptableModuleBase implements IPlusMinusModule {
11
12
  private shouldHandleKeyDown;
12
13
  private adaptable;
13
14
  constructor(api: AdaptableApi);
14
- getModuleAdaptableObjects(config?: {
15
- includeLayoutNotAssociatedObjects?: boolean;
16
- }): AdaptableObject[];
15
+ getModuleAdaptableObjects(config?: LayoutExtendedConfig): AdaptableObject[];
17
16
  getExplicitlyReferencedColumnIds(plusMinusNudge: PlusMinusNudge): string[];
18
17
  getReferencedNamedQueryNames(plusMinusNudge: PlusMinusNudge): string[];
19
18
  onAdaptableReady(): void;
@@ -29,5 +28,5 @@ export declare class PlusMinusModule extends AdaptableModuleBase implements IPlu
29
28
  toView(plusMinus: PlusMinusNudge): AdaptableObjectView;
30
29
  toViewAll(): AdaptableObjectView[];
31
30
  getViewProperties(): AdaptableModuleView;
32
- canBeAssociatedWithLayouts(): boolean;
31
+ containsLayoutExtensions(): boolean;
33
32
  }
@@ -218,7 +218,7 @@ export class PlusMinusModule extends AdaptableModuleBase {
218
218
  }
219
219
  toViewAll() {
220
220
  return this.getModuleAdaptableObjects({
221
- includeLayoutNotAssociatedObjects: this.showLayoutNotAssociatedObjects(),
221
+ includeLayoutNotExtendedObjects: this.showLayoutNonExtendedObjects(),
222
222
  }).map((plusMinus) => this.toView(plusMinus));
223
223
  }
224
224
  getViewProperties() {
@@ -235,7 +235,7 @@ export class PlusMinusModule extends AdaptableModuleBase {
235
235
  },
236
236
  };
237
237
  }
238
- canBeAssociatedWithLayouts() {
238
+ containsLayoutExtensions() {
239
239
  return true;
240
240
  }
241
241
  }
@@ -1,8 +1,10 @@
1
1
  import { AdaptableModuleBase } from './AdaptableModuleBase';
2
2
  import { AdaptableModuleView, IModule } from './Interface/IModule';
3
3
  import { AdaptableApi } from '../Api/AdaptableApi';
4
+ import { AgModuleName } from 'ag-grid-enterprise';
4
5
  export declare class QuickSearchModule extends AdaptableModuleBase implements IModule {
5
6
  constructor(api: AdaptableApi);
7
+ protected getAgGridModuleDependencies(): AgModuleName[];
6
8
  getViewProperties(): AdaptableModuleView;
7
9
  onAdaptableReady(): void;
8
10
  }
@@ -6,6 +6,9 @@ export class QuickSearchModule extends AdaptableModuleBase {
6
6
  constructor(api) {
7
7
  super(ModuleConstants.QuickSearchModuleId, ModuleConstants.QuickSearchFriendlyName, 'search-table', 'QuickSearchPopup', 'Quickly highlight all cells in the grid that contain matching query text', api);
8
8
  }
9
+ getAgGridModuleDependencies() {
10
+ return ['FindModule'];
11
+ }
9
12
  getViewProperties() {
10
13
  return {
11
14
  getStatusBarPanelProps() {
@@ -18,6 +21,12 @@ export class QuickSearchModule extends AdaptableModuleBase {
18
21
  onAdaptableReady() {
19
22
  const { api } = this;
20
23
  const { internalApi, agGridApi } = api;
24
+ // Check for AG Grid QuickFilterModule if running Filter After Quick Search
25
+ if (api.optionsApi.getQuickSearchOptions().filterGridAfterQuickSearch) {
26
+ if (!api.internalApi.getAgGridModulesAdapter().isAgGridModuleRegistered('QuickFilterModule')) {
27
+ api.consoleError('The AG Grid "GridFilter" Module is required if running Quick Search as Filter; Quick Search will run but no Filters will be applied');
28
+ }
29
+ }
21
30
  const isServerSideRowModel = agGridApi.getGridOption('rowModelType') === 'serverSide';
22
31
  if (isServerSideRowModel &&
23
32
  internalApi.getAdaptableState().QuickSearch.CellMatchStyle === undefined) {