@adaptabletools/adaptable 20.3.0 → 21.0.0-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (415) hide show
  1. package/agGrid.d.ts +2 -1
  2. package/agGrid.js +2 -1
  3. package/base.css +36 -15
  4. package/base.css.map +1 -1
  5. package/icons/add-circle.svg +1 -0
  6. package/icons/add.svg +1 -0
  7. package/icons/alert.svg +1 -0
  8. package/icons/align-center.svg +1 -0
  9. package/icons/align-justify.svg +1 -0
  10. package/icons/align-left.svg +1 -0
  11. package/icons/align-right.svg +1 -0
  12. package/icons/arrow-down-long.svg +1 -0
  13. package/icons/arrow-down.svg +1 -0
  14. package/icons/arrow-expand.svg +1 -0
  15. package/icons/arrow-left.svg +1 -0
  16. package/icons/arrow-right.svg +1 -0
  17. package/icons/arrow-up-long.svg +1 -0
  18. package/icons/arrow-up.svg +1 -0
  19. package/icons/assignment.svg +1 -0
  20. package/icons/badge.svg +1 -0
  21. package/icons/bold.svg +1 -0
  22. package/icons/boolean-list.svg +1 -0
  23. package/icons/brain.svg +1 -0
  24. package/icons/broadcast.svg +1 -0
  25. package/icons/brush.svg +1 -0
  26. package/icons/building.svg +1 -0
  27. package/icons/calculated-column.svg +1 -0
  28. package/icons/calendar.svg +1 -0
  29. package/icons/call.svg +1 -0
  30. package/icons/case-lower.svg +1 -0
  31. package/icons/case-sentence.svg +1 -0
  32. package/icons/case-upper.svg +1 -0
  33. package/icons/cells.svg +1 -0
  34. package/icons/chart.svg +1 -0
  35. package/icons/chat.svg +1 -0
  36. package/icons/check-circle.svg +1 -0
  37. package/icons/check.svg +1 -0
  38. package/icons/checked.svg +1 -0
  39. package/icons/clipboard.svg +1 -0
  40. package/icons/clone.svg +1 -0
  41. package/icons/close.svg +1 -0
  42. package/icons/cloud-upload.svg +1 -0
  43. package/icons/collapse-all.svg +1 -0
  44. package/icons/collapse.svg +1 -0
  45. package/icons/color-palette.svg +1 -0
  46. package/icons/column-add.svg +1 -0
  47. package/icons/column-outline.svg +1 -0
  48. package/icons/columns.svg +1 -0
  49. package/icons/comment.svg +1 -0
  50. package/icons/comments.svg +1 -0
  51. package/icons/contact.svg +1 -0
  52. package/icons/contains.svg +1 -0
  53. package/icons/copy.svg +1 -0
  54. package/icons/csv.svg +1 -0
  55. package/icons/dashboard.svg +1 -0
  56. package/icons/data-set.svg +1 -0
  57. package/icons/date-range.svg +1 -0
  58. package/icons/delete.svg +1 -0
  59. package/icons/division.svg +1 -0
  60. package/icons/dock.svg +1 -0
  61. package/icons/dollar.svg +1 -0
  62. package/icons/download.svg +1 -0
  63. package/icons/downloaded.svg +1 -0
  64. package/icons/drag.svg +1 -0
  65. package/icons/edit-table.svg +1 -0
  66. package/icons/edit.svg +1 -0
  67. package/icons/ends-with.svg +1 -0
  68. package/icons/equals.svg +1 -0
  69. package/icons/equation.svg +1 -0
  70. package/icons/error.svg +1 -0
  71. package/icons/excel.svg +1 -0
  72. package/icons/expand-all.svg +1 -0
  73. package/icons/expand.svg +1 -0
  74. package/icons/exponent.svg +1 -0
  75. package/icons/export-data.svg +1 -0
  76. package/icons/export.svg +1 -0
  77. package/icons/fast-backward.svg +1 -0
  78. package/icons/fast-forward.svg +1 -0
  79. package/icons/fdc3.svg +1 -0
  80. package/icons/filled-circle.svg +1 -0
  81. package/icons/filter-list.svg +1 -0
  82. package/icons/filter-off.svg +1 -0
  83. package/icons/filter.svg +1 -0
  84. package/icons/flag.svg +1 -0
  85. package/icons/folder-open.svg +1 -0
  86. package/icons/folder-shared.svg +1 -0
  87. package/icons/folder.svg +1 -0
  88. package/icons/function.svg +1 -0
  89. package/icons/gradient.svg +1 -0
  90. package/icons/greater-than-or-equal.svg +1 -0
  91. package/icons/greater-than.svg +1 -0
  92. package/icons/grid-filter.svg +1 -0
  93. package/icons/grid-info.svg +1 -0
  94. package/icons/grid.svg +1 -0
  95. package/icons/history.svg +1 -0
  96. package/icons/home.svg +1 -0
  97. package/icons/horizontal-lines.svg +1 -0
  98. package/icons/import-export.svg +1 -0
  99. package/icons/import.svg +1 -0
  100. package/icons/info.svg +1 -0
  101. package/icons/interactions.svg +1 -0
  102. package/icons/italic.svg +1 -0
  103. package/icons/json.svg +1 -0
  104. package/icons/laptop.svg +1 -0
  105. package/icons/less-than-or-equal.svg +1 -0
  106. package/icons/less-than.svg +1 -0
  107. package/icons/lightning.svg +1 -0
  108. package/icons/link.svg +1 -0
  109. package/icons/list.svg +1 -0
  110. package/icons/logout.svg +1 -0
  111. package/icons/mail.svg +1 -0
  112. package/icons/menu.svg +1 -0
  113. package/icons/minus.svg +1 -0
  114. package/icons/money.svg +1 -0
  115. package/icons/multiplication.svg +1 -0
  116. package/icons/newpage.svg +1 -0
  117. package/icons/news.svg +1 -0
  118. package/icons/not-contains.svg +1 -0
  119. package/icons/not-equal.svg +1 -0
  120. package/icons/note.svg +1 -0
  121. package/icons/open-in-new.svg +1 -0
  122. package/icons/order.svg +1 -0
  123. package/icons/organisation.svg +1 -0
  124. package/icons/overline.svg +1 -0
  125. package/icons/paperclip.svg +1 -0
  126. package/icons/pause.svg +1 -0
  127. package/icons/percent-tag.svg +1 -0
  128. package/icons/percent.svg +1 -0
  129. package/icons/person.svg +1 -0
  130. package/icons/pie-chart.svg +1 -0
  131. package/icons/play.svg +1 -0
  132. package/icons/plus.svg +1 -0
  133. package/icons/quote.svg +1 -0
  134. package/icons/refresh.svg +1 -0
  135. package/icons/regex.svg +1 -0
  136. package/icons/reminder.svg +1 -0
  137. package/icons/resume.svg +1 -0
  138. package/icons/rows.svg +1 -0
  139. package/icons/save.svg +1 -0
  140. package/icons/schedule.svg +1 -0
  141. package/icons/science.svg +1 -0
  142. package/icons/search-table.svg +1 -0
  143. package/icons/search.svg +1 -0
  144. package/icons/select-all.svg +1 -0
  145. package/icons/select-fwd.svg +1 -0
  146. package/icons/select-off.svg +1 -0
  147. package/icons/settings.svg +1 -0
  148. package/icons/sort-asc.svg +1 -0
  149. package/icons/sort-desc.svg +1 -0
  150. package/icons/spanner.svg +1 -0
  151. package/icons/spark-line.svg +1 -0
  152. package/icons/starts-with.svg +1 -0
  153. package/icons/statusbar.svg +1 -0
  154. package/icons/stop.svg +1 -0
  155. package/icons/strikethrough.svg +1 -0
  156. package/icons/styled-grid.svg +1 -0
  157. package/icons/sync.svg +1 -0
  158. package/icons/tab-unselected.svg +1 -0
  159. package/icons/target.svg +1 -0
  160. package/icons/theme.svg +1 -0
  161. package/icons/traffic-lights.svg +1 -0
  162. package/icons/triangle-down.svg +1 -0
  163. package/icons/triangle-up.svg +1 -0
  164. package/icons/unchecked.svg +1 -0
  165. package/icons/underline.svg +1 -0
  166. package/icons/undo.svg +1 -0
  167. package/icons/unfilled-circle.svg +1 -0
  168. package/icons/upload.svg +1 -0
  169. package/icons/visibility-off-bold.svg +1 -0
  170. package/icons/visibility-off.svg +1 -0
  171. package/icons/visibility-on-bold.svg +1 -0
  172. package/icons/visibility-on.svg +1 -0
  173. package/icons/warning.svg +1 -0
  174. package/index.css +32 -15
  175. package/index.css.map +1 -1
  176. package/package.json +2 -2
  177. package/src/AdaptableInterfaces/IAdaptable.d.ts +10 -5
  178. package/src/AdaptableOptions/ColumnOptions.d.ts +38 -38
  179. package/src/AdaptableOptions/DefaultAdaptableOptions.js +3 -2
  180. package/src/AdaptableOptions/EditOptions.d.ts +4 -7
  181. package/src/AdaptableOptions/FilterOptions.d.ts +50 -15
  182. package/src/AdaptableOptions/LayoutOptions.d.ts +8 -21
  183. package/src/AdaptableOptions/PredicateOptions.d.ts +1 -1
  184. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +1 -1
  185. package/src/AdaptableState/Common/AdaptableColumn.d.ts +7 -0
  186. package/src/AdaptableState/Common/AdaptablePredicate.js +2 -2
  187. package/src/AdaptableState/Common/CustomWindowConfig.d.ts +2 -2
  188. package/src/AdaptableState/Common/ExtendedLayout.d.ts +50 -0
  189. package/src/AdaptableState/FormatColumnState.d.ts +8 -1
  190. package/src/AdaptableState/InternalState.d.ts +1 -1
  191. package/src/AdaptableState/LayoutState.d.ts +26 -6
  192. package/src/AdaptableState/Selection/GridCell.d.ts +32 -0
  193. package/src/AdaptableState/StyledColumnState.d.ts +2 -2
  194. package/src/Api/AlertApi.d.ts +5 -11
  195. package/src/Api/ColumnApi.d.ts +17 -1
  196. package/src/Api/ColumnFilterApi.d.ts +32 -2
  197. package/src/Api/CustomSortApi.d.ts +5 -10
  198. package/src/Api/FlashingCellApi.d.ts +10 -6
  199. package/src/Api/FormatColumnApi.d.ts +8 -18
  200. package/src/Api/Implementation/AlertApiImpl.d.ts +6 -9
  201. package/src/Api/Implementation/AlertApiImpl.js +7 -6
  202. package/src/Api/Implementation/ApiBase.d.ts +2 -12
  203. package/src/Api/Implementation/ApiBase.js +5 -5
  204. package/src/Api/Implementation/ColumnApiImpl.d.ts +5 -2
  205. package/src/Api/Implementation/ColumnApiImpl.js +59 -23
  206. package/src/Api/Implementation/ColumnFilterApiImpl.d.ts +7 -1
  207. package/src/Api/Implementation/ColumnFilterApiImpl.js +76 -3
  208. package/src/Api/Implementation/ColumnScopeApiImpl.js +10 -2
  209. package/src/Api/Implementation/CustomSortApiImpl.d.ts +5 -10
  210. package/src/Api/Implementation/CustomSortApiImpl.js +6 -4
  211. package/src/Api/Implementation/FlashingCellApiImpl.d.ts +7 -6
  212. package/src/Api/Implementation/FlashingCellApiImpl.js +11 -8
  213. package/src/Api/Implementation/FormatColumnApiImpl.d.ts +8 -18
  214. package/src/Api/Implementation/FormatColumnApiImpl.js +10 -9
  215. package/src/Api/Implementation/LayoutApiImpl.d.ts +3 -2
  216. package/src/Api/Implementation/LayoutApiImpl.js +101 -7
  217. package/src/Api/Implementation/LayoutHelpers.d.ts +1 -0
  218. package/src/Api/Implementation/LayoutHelpers.js +23 -4
  219. package/src/Api/Implementation/PlusMinusApiImpl.d.ts +7 -5
  220. package/src/Api/Implementation/PlusMinusApiImpl.js +10 -7
  221. package/src/Api/Implementation/ScheduleApiImpl.d.ts +9 -16
  222. package/src/Api/Implementation/ScheduleApiImpl.js +15 -17
  223. package/src/Api/Implementation/ShortcutApiImpl.d.ts +5 -6
  224. package/src/Api/Implementation/ShortcutApiImpl.js +7 -8
  225. package/src/Api/Implementation/StyledColumnApiImpl.d.ts +7 -8
  226. package/src/Api/Implementation/StyledColumnApiImpl.js +12 -9
  227. package/src/Api/Implementation/TeamSharingApiImpl.js +1 -4
  228. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +2 -1
  229. package/src/Api/Implementation/UserInterfaceApiImpl.js +10 -9
  230. package/src/Api/Internal/AdaptableInternalApi.d.ts +2 -0
  231. package/src/Api/Internal/AdaptableInternalApi.js +3 -0
  232. package/src/Api/Internal/AlertInternalApi.d.ts +6 -6
  233. package/src/Api/Internal/AlertInternalApi.js +10 -10
  234. package/src/Api/Internal/ColumnFilterInternalApi.d.ts +13 -0
  235. package/src/Api/Internal/ColumnFilterInternalApi.js +93 -1
  236. package/src/Api/Internal/ColumnInternalApi.d.ts +2 -1
  237. package/src/Api/Internal/ColumnInternalApi.js +4 -0
  238. package/src/Api/Internal/DashboardInternalApi.js +1 -1
  239. package/src/Api/Internal/EntitlementInternalApi.d.ts +1 -0
  240. package/src/Api/Internal/EntitlementInternalApi.js +8 -0
  241. package/src/Api/Internal/ExportInternalApi.js +1 -1
  242. package/src/Api/Internal/FlashingCellInternalApi.js +1 -1
  243. package/src/Api/Internal/FormatColumnInternalApi.d.ts +8 -11
  244. package/src/Api/Internal/FormatColumnInternalApi.js +13 -13
  245. package/src/Api/Internal/GridInternalApi.d.ts +7 -10
  246. package/src/Api/Internal/GridInternalApi.js +76 -27
  247. package/src/Api/Internal/LayoutInternalApi.d.ts +5 -5
  248. package/src/Api/Internal/LayoutInternalApi.js +42 -5
  249. package/src/Api/Internal/PredicateInternalApi.d.ts +2 -6
  250. package/src/Api/Internal/PredicateInternalApi.js +4 -6
  251. package/src/Api/Internal/UserInterfaceInternalApi.d.ts +1 -0
  252. package/src/Api/Internal/UserInterfaceInternalApi.js +10 -3
  253. package/src/Api/LayoutApi.d.ts +7 -2
  254. package/src/Api/PlusMinusApi.d.ts +11 -7
  255. package/src/Api/ScheduleApi.d.ts +9 -16
  256. package/src/Api/ShortcutApi.d.ts +5 -6
  257. package/src/Api/StyledColumnApi.d.ts +10 -7
  258. package/src/Api/UserInterfaceApi.d.ts +5 -6
  259. package/src/Redux/ActionsReducers/InternalRedux.d.ts +4 -4
  260. package/src/Redux/ActionsReducers/InternalRedux.js +7 -7
  261. package/src/Redux/ActionsReducers/StyledColumnRedux.d.ts +7 -0
  262. package/src/Redux/ActionsReducers/StyledColumnRedux.js +13 -0
  263. package/src/Redux/Store/AdaptableStore.js +10 -10
  264. package/src/Strategy/AdaptableModuleBase.d.ts +14 -4
  265. package/src/Strategy/AdaptableModuleBase.js +46 -9
  266. package/src/Strategy/AlertModule.d.ts +3 -4
  267. package/src/Strategy/AlertModule.js +7 -4
  268. package/src/Strategy/CalculatedColumnModule.js +2 -2
  269. package/src/Strategy/CellSummaryModule.js +2 -2
  270. package/src/Strategy/ChartingModule.d.ts +3 -1
  271. package/src/Strategy/ChartingModule.js +9 -3
  272. package/src/Strategy/ColumnFilterModule.d.ts +1 -1
  273. package/src/Strategy/ColumnFilterModule.js +31 -15
  274. package/src/Strategy/ColumnInfoModule.js +2 -2
  275. package/src/Strategy/CommentModule.d.ts +1 -1
  276. package/src/Strategy/CommentModule.js +3 -3
  277. package/src/Strategy/CustomSortModule.d.ts +3 -4
  278. package/src/Strategy/CustomSortModule.js +2 -2
  279. package/src/Strategy/DashboardModule.js +1 -1
  280. package/src/Strategy/DataChangeHistoryModule.d.ts +2 -1
  281. package/src/Strategy/DataChangeHistoryModule.js +3 -10
  282. package/src/Strategy/DataImportModule.js +3 -3
  283. package/src/Strategy/ExportModule.js +1 -1
  284. package/src/Strategy/Fdc3Module.js +1 -1
  285. package/src/Strategy/FlashingCellModule.d.ts +3 -5
  286. package/src/Strategy/FlashingCellModule.js +3 -3
  287. package/src/Strategy/FormatColumnModule.d.ts +3 -4
  288. package/src/Strategy/FormatColumnModule.js +2 -2
  289. package/src/Strategy/FreeTextColumnModule.d.ts +1 -1
  290. package/src/Strategy/FreeTextColumnModule.js +2 -2
  291. package/src/Strategy/GridInfoModule.js +2 -2
  292. package/src/Strategy/Interface/IModule.d.ts +7 -3
  293. package/src/Strategy/LayoutModule.js +11 -11
  294. package/src/Strategy/NoteModule.d.ts +1 -1
  295. package/src/Strategy/NoteModule.js +3 -3
  296. package/src/Strategy/PlusMinusModule.d.ts +3 -4
  297. package/src/Strategy/PlusMinusModule.js +2 -2
  298. package/src/Strategy/QuickSearchModule.d.ts +2 -0
  299. package/src/Strategy/QuickSearchModule.js +9 -0
  300. package/src/Strategy/ScheduleModule.d.ts +3 -4
  301. package/src/Strategy/ScheduleModule.js +2 -2
  302. package/src/Strategy/SettingsPanelModule.js +1 -1
  303. package/src/Strategy/ShortcutModule.d.ts +3 -4
  304. package/src/Strategy/ShortcutModule.js +2 -2
  305. package/src/Strategy/StatusBarModule.d.ts +3 -2
  306. package/src/Strategy/StatusBarModule.js +6 -3
  307. package/src/Strategy/StyledColumnModule.d.ts +3 -4
  308. package/src/Strategy/StyledColumnModule.js +2 -2
  309. package/src/Strategy/SystemStatusModule.js +2 -2
  310. package/src/Strategy/TeamSharingModule.d.ts +1 -1
  311. package/src/Strategy/TeamSharingModule.js +5 -2
  312. package/src/Strategy/ToolPanelModule.d.ts +1 -1
  313. package/src/Strategy/ToolPanelModule.js +1 -4
  314. package/src/Strategy/Utilities/Layout/getLayoutFilterViewItems.js +1 -1
  315. package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +1 -0
  316. package/src/Utilities/Constants/DocumentationLinkConstants.js +1 -0
  317. package/src/Utilities/Extensions/ArrayExtensions.d.ts +15 -2
  318. package/src/Utilities/Extensions/ArrayExtensions.js +62 -13
  319. package/src/Utilities/ObjectFactory.js +3 -3
  320. package/src/Utilities/Services/AnnotationsService.js +1 -1
  321. package/src/Utilities/Services/Interface/IModuleService.d.ts +2 -1
  322. package/src/Utilities/Services/ModuleService.d.ts +3 -3
  323. package/src/Utilities/Services/ModuleService.js +19 -7
  324. package/src/View/AdaptableView.js +3 -1
  325. package/src/View/ColumnInfo/ColumnInfo.js +9 -3
  326. package/src/View/Components/AdaptableIconSelector/index.js +2 -3
  327. package/src/View/Components/ColumnFilter/AdaptableColumnFilter.d.ts +0 -1
  328. package/src/View/Components/ColumnFilter/AdaptableColumnFilter.js +2 -3
  329. package/src/View/Components/ColumnFilter/AdaptableFloatingFilter.d.ts +0 -2
  330. package/src/View/Components/ColumnFilter/AdaptableFloatingFilter.js +4 -7
  331. package/src/View/Components/ColumnFilter/ColumnFilter.js +11 -4
  332. package/src/View/Components/ColumnFilter/ColumnFilterWindow.js +1 -1
  333. package/src/View/Components/ColumnFilter/FloatingFilter.js +1 -2
  334. package/src/View/Components/ColumnFilter/LayoutColumnFilter.js +1 -1
  335. package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +2 -2
  336. package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +2 -2
  337. package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.d.ts +1 -1
  338. package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.js +2 -2
  339. package/src/View/Components/ColumnFilter/utils.d.ts +2 -2
  340. package/src/View/Components/ColumnFilter/utils.js +6 -1
  341. package/src/View/Components/EntityRulesEditor/index.js +1 -2
  342. package/src/View/Components/FilterForm/ListBoxFilterForm.js +1 -1
  343. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +6 -6
  344. package/src/View/Components/PredicateEditor/PredicateEditor.js +1 -2
  345. package/src/View/Components/Selectors/BulkUpdateValueSelector.js +1 -1
  346. package/src/View/Components/Selectors/ColumnSelector.js +1 -1
  347. package/src/View/Components/Selectors/FieldSelector.js +1 -1
  348. package/src/View/Components/Selectors/PermittedValuesSelector.d.ts +1 -0
  349. package/src/View/Components/Selectors/PermittedValuesSelector.js +2 -2
  350. package/src/View/Dashboard/Dashboard.js +2 -2
  351. package/src/View/Dashboard/DashboardPopup.js +3 -1
  352. package/src/View/Dashboard/PinnedDashboard.js +1 -1
  353. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +9 -21
  354. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +58 -21
  355. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +11 -11
  356. package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.js +1 -1
  357. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +1 -1
  358. package/src/View/Layout/TransposedPopup.js +2 -2
  359. package/src/View/Layout/Wizard/sections/ColumnsSection.js +64 -9
  360. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +5 -5
  361. package/src/View/StatusBar/AdaptableStatusBar.js +1 -4
  362. package/src/View/StatusBar/StatusBarPopup.js +1 -1
  363. package/src/View/Theme/ThemeSelector.js +1 -1
  364. package/src/agGrid/AdaptableAgGrid.d.ts +11 -7
  365. package/src/agGrid/AdaptableAgGrid.js +251 -216
  366. package/src/agGrid/AdaptableFilterHandler.d.ts +18 -0
  367. package/src/agGrid/AdaptableFilterHandler.js +61 -0
  368. package/src/agGrid/AgGridAdapter.d.ts +3 -7
  369. package/src/agGrid/AgGridAdapter.js +13 -46
  370. package/src/agGrid/AgGridColumnAdapter.d.ts +2 -2
  371. package/src/agGrid/AgGridColumnAdapter.js +81 -36
  372. package/src/agGrid/AgGridFilterAdapter.d.ts +2 -0
  373. package/src/agGrid/AgGridFilterAdapter.js +48 -0
  374. package/src/agGrid/AgGridFloatingFilterAdapter.d.ts +2 -0
  375. package/src/agGrid/{FloatingFilterWrapper.js → AgGridFloatingFilterAdapter.js} +24 -35
  376. package/src/agGrid/AgGridModulesAdapter.d.ts +15 -0
  377. package/src/agGrid/AgGridModulesAdapter.js +66 -0
  378. package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.js +1 -1
  379. package/src/agGrid/editors/AdaptablePercentageEditor/InternalAdaptablePercentageEditor.js +1 -1
  380. package/src/components/Dialog/index.js +1 -1
  381. package/src/components/Dropdown/Arrows.js +2 -2
  382. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.d.ts +1 -1
  383. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +2 -2
  384. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +2 -2
  385. package/src/components/FileDroppable/index.js +1 -1
  386. package/src/components/IconSelector/IconSelector.d.ts +2 -2
  387. package/src/components/OverlayTrigger/index.js +1 -1
  388. package/src/components/Select/Select.d.ts +1 -1
  389. package/src/components/Select/Select.js +116 -24
  390. package/src/components/icons/DefaultIcon.d.ts +0 -1
  391. package/src/components/icons/DefaultIcon.js +0 -6
  392. package/src/env.js +2 -2
  393. package/src/layout-manager/src/LayoutManagerModel.d.ts +6 -10
  394. package/src/layout-manager/src/index.d.ts +11 -3
  395. package/src/layout-manager/src/index.js +302 -87
  396. package/src/layout-manager/src/normalizeLayoutModel.js +7 -4
  397. package/src/layout-manager/src/simplifyLayoutModel.js +4 -4
  398. package/src/metamodel/adaptable.metamodel.d.ts +70 -19
  399. package/src/metamodel/adaptable.metamodel.js +1 -1
  400. package/src/migration/AdaptableUpgradeHelper.js +2 -0
  401. package/src/migration/VersionUpgrade17.js +1 -1
  402. package/src/migration/VersionUpgrade20.js +1 -0
  403. package/src/migration/VersionUpgrade21.d.ts +6 -0
  404. package/src/migration/VersionUpgrade21.js +24 -0
  405. package/src/types.d.ts +7 -8
  406. package/tsconfig.esm.tsbuildinfo +1 -1
  407. package/src/AdaptableState/Common/ExtendedLayoutInfo.d.ts +0 -27
  408. package/src/agGrid/FilterWrapper.d.ts +0 -2
  409. package/src/agGrid/FilterWrapper.js +0 -131
  410. package/src/agGrid/FloatingFilterWrapper.d.ts +0 -2
  411. package/src/agGrid/agGridModules.d.ts +0 -3
  412. package/src/agGrid/agGridModules.js +0 -15
  413. package/src/agGrid/getAgGridFilterNotifyModelFn.d.ts +0 -2
  414. package/src/agGrid/getAgGridFilterNotifyModelFn.js +0 -16
  415. /package/src/AdaptableState/Common/{ExtendedLayoutInfo.js → ExtendedLayout.js} +0 -0
@@ -100,7 +100,7 @@ export class FormatColumnModule extends AdaptableModuleBase {
100
100
  }
101
101
  toViewAll() {
102
102
  return this.getModuleAdaptableObjects({
103
- includeLayoutNotAssociatedObjects: this.showLayoutNotAssociatedObjects(),
103
+ includeLayoutNotExtendedObjects: this.showLayoutNonExtendedObjects(),
104
104
  }).map((formatColumn) => this.toView(formatColumn));
105
105
  }
106
106
  getViewProperties() {
@@ -117,7 +117,7 @@ export class FormatColumnModule extends AdaptableModuleBase {
117
117
  },
118
118
  };
119
119
  }
120
- canBeAssociatedWithLayouts() {
120
+ containsLayoutExtensions() {
121
121
  return true;
122
122
  }
123
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) {
@@ -1,6 +1,7 @@
1
1
  import { AdaptableModuleBase } from './AdaptableModuleBase';
2
2
  import { AdaptableModuleView, AdaptableObjectView } from './Interface/IModule';
3
3
  import { AdaptableApi } from '../Api/AdaptableApi';
4
+ import { LayoutExtendedConfig } from '../types';
4
5
  import { BaseSchedule } from '../AdaptableState/Common/Schedule';
5
6
  import { IScheduleModule } from './Interface/IScheduleModule';
6
7
  export declare class ScheduleModule extends AdaptableModuleBase implements IScheduleModule {
@@ -12,11 +13,9 @@ export declare class ScheduleModule extends AdaptableModuleBase implements ISche
12
13
  private addMidnightRefreshSchedule;
13
14
  private getDateFromSchedule;
14
15
  private clearAllJobs;
15
- getModuleAdaptableObjects(config?: {
16
- includeLayoutNotAssociatedObjects?: boolean;
17
- }): BaseSchedule[];
16
+ getModuleAdaptableObjects(config?: LayoutExtendedConfig): BaseSchedule[];
18
17
  toView(schedule: BaseSchedule): AdaptableObjectView;
19
18
  toViewAll(): AdaptableObjectView[];
20
19
  getViewProperties(): AdaptableModuleView;
21
- canBeAssociatedWithLayouts(): boolean;
20
+ containsLayoutExtensions(): boolean;
22
21
  }
@@ -145,7 +145,7 @@ export class ScheduleModule extends AdaptableModuleBase {
145
145
  }
146
146
  toViewAll() {
147
147
  return this.getModuleAdaptableObjects({
148
- includeLayoutNotAssociatedObjects: this.showLayoutNotAssociatedObjects(),
148
+ includeLayoutNotExtendedObjects: this.showLayoutNonExtendedObjects(),
149
149
  }).map((schedule) => this.toView(schedule));
150
150
  }
151
151
  getViewProperties() {
@@ -257,7 +257,7 @@ export class ScheduleModule extends AdaptableModuleBase {
257
257
  },
258
258
  };
259
259
  }
260
- canBeAssociatedWithLayouts() {
260
+ containsLayoutExtensions() {
261
261
  return true;
262
262
  }
263
263
  }
@@ -18,7 +18,7 @@ export class SettingsPanelModule extends AdaptableModuleBase {
18
18
  ];
19
19
  }
20
20
  createModuleMenuItem(source) {
21
- if (this.isModuleAvailable()) {
21
+ if (this.isModuleVisible()) {
22
22
  return this.createMenuItemReduxAction('settings-panel-open', 'Open ' + this.moduleInfo.FriendlyName, this.moduleInfo.Glyph, PopupRedux.PopupShowScreen());
23
23
  }
24
24
  }
@@ -5,13 +5,12 @@ import { AdaptableApi } from '../Api/AdaptableApi';
5
5
  import { AdaptableObject } from '../AdaptableState/Common/AdaptableObject';
6
6
  import { AdaptableModuleView, AdaptableObjectView } from './Interface/IModule';
7
7
  import { IKeyDownListenerModule } from './Interface/IKeyDownListenerModule';
8
+ import { LayoutExtendedConfig } from '../types';
8
9
  export declare class ShortcutModule extends AdaptableModuleBase implements IKeyDownListenerModule {
9
10
  private shouldHandleKeyDown;
10
11
  private adaptable;
11
12
  constructor(api: AdaptableApi);
12
- getModuleAdaptableObjects(config?: {
13
- includeLayoutNotAssociatedObjects?: boolean;
14
- }): AdaptableObject[];
13
+ getModuleAdaptableObjects(config?: LayoutExtendedConfig): AdaptableObject[];
15
14
  hasNamedQueryReferences(): boolean;
16
15
  getTeamSharingAction(): TeamSharingImportInfo<Shortcut>;
17
16
  onAdaptableReady(): void;
@@ -22,5 +21,5 @@ export declare class ShortcutModule extends AdaptableModuleBase implements IKeyD
22
21
  toView(shortcut: Shortcut): AdaptableObjectView;
23
22
  toViewAll(): AdaptableObjectView[];
24
23
  getViewProperties(): AdaptableModuleView;
25
- canBeAssociatedWithLayouts(): boolean;
24
+ containsLayoutExtensions(): boolean;
26
25
  }
@@ -88,7 +88,7 @@ export class ShortcutModule extends AdaptableModuleBase {
88
88
  }
89
89
  toViewAll() {
90
90
  return this.getModuleAdaptableObjects({
91
- includeLayoutNotAssociatedObjects: this.showLayoutNotAssociatedObjects(),
91
+ includeLayoutNotExtendedObjects: this.showLayoutNonExtendedObjects(),
92
92
  }).map((shortcut) => this.toView(shortcut));
93
93
  }
94
94
  getViewProperties() {
@@ -104,7 +104,7 @@ export class ShortcutModule extends AdaptableModuleBase {
104
104
  },
105
105
  };
106
106
  }
107
- canBeAssociatedWithLayouts() {
107
+ containsLayoutExtensions() {
108
108
  return true;
109
109
  }
110
110
  }
@@ -1,9 +1,10 @@
1
1
  import { AdaptableModuleBase } from './AdaptableModuleBase';
2
2
  import { IModule } from './Interface/IModule';
3
3
  import { AdaptableApi } from '../Api/AdaptableApi';
4
- import { GridOptions } from 'ag-grid-enterprise';
4
+ import { AgModuleName, GridOptions } from 'ag-grid-enterprise';
5
5
  export declare class StatusBarModule extends AdaptableModuleBase implements IModule {
6
6
  constructor(api: AdaptableApi);
7
+ protected getAgGridModuleDependencies(): AgModuleName[];
8
+ isModuleEnabled(): boolean;
7
9
  syncStateWithOptions(agGridAdaptablePanels: GridOptions['statusBar']['statusPanels']): void;
8
- isModuleAvailable(): boolean;
9
10
  }
@@ -4,6 +4,12 @@ export class StatusBarModule extends AdaptableModuleBase {
4
4
  constructor(api) {
5
5
  super(ModuleConstants.StatusBarModuleId, ModuleConstants.StatusBarFriendlyName, 'statusbar', 'StatusBarPopup', 'Configure AdapTable Status Bar', api);
6
6
  }
7
+ getAgGridModuleDependencies() {
8
+ return ['StatusBarModule'];
9
+ }
10
+ isModuleEnabled() {
11
+ return this.api.statusBarApi.getAgGridStatusPanels().length > 0;
12
+ }
7
13
  syncStateWithOptions(agGridAdaptablePanels) {
8
14
  const statusPanelsState = this.api.statusBarApi.getAdaptableStatusBars();
9
15
  /**
@@ -25,7 +31,4 @@ export class StatusBarModule extends AdaptableModuleBase {
25
31
  });
26
32
  this.api.statusBarApi.setStatusBarPanels(newStatusPanelsState);
27
33
  }
28
- isModuleAvailable() {
29
- return super.isModuleAvailable() && this.api.statusBarApi.getAgGridStatusPanels().length > 0;
30
- }
31
34
  }
@@ -6,11 +6,10 @@ import { AdaptableModuleView, AdaptableObjectView, IModule } from './Interface/I
6
6
  import { AdaptableApi } from '../Api/AdaptableApi';
7
7
  import { AdaptableObject } from '../AdaptableState/Common/AdaptableObject';
8
8
  import { StyledColumn } from '../AdaptableState/StyledColumnState';
9
+ import { LayoutExtendedConfig } from '../types';
9
10
  export declare class StyledColumnModule 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(styledColumn: StyledColumn): string[];
15
14
  hasNamedQueryReferences(): boolean;
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">[];
@@ -19,7 +18,7 @@ export declare class StyledColumnModule extends AdaptableModuleBase implements I
19
18
  toView(styledColumn: StyledColumn): AdaptableObjectView;
20
19
  toViewAll(): AdaptableObjectView[];
21
20
  getViewProperties(): AdaptableModuleView;
22
- canBeAssociatedWithLayouts(): boolean;
21
+ containsLayoutExtensions(): boolean;
23
22
  private getTypeLabel;
24
23
  private getTypeName;
25
24
  }
@@ -226,7 +226,7 @@ export class StyledColumnModule extends AdaptableModuleBase {
226
226
  }
227
227
  toViewAll() {
228
228
  return this.getModuleAdaptableObjects({
229
- includeLayoutNotAssociatedObjects: this.showLayoutNotAssociatedObjects(),
229
+ includeLayoutNotExtendedObjects: this.showLayoutNonExtendedObjects(),
230
230
  }).map((styledColumn) => this.toView(styledColumn));
231
231
  }
232
232
  getViewProperties() {
@@ -242,7 +242,7 @@ export class StyledColumnModule extends AdaptableModuleBase {
242
242
  },
243
243
  };
244
244
  }
245
- canBeAssociatedWithLayouts() {
245
+ containsLayoutExtensions() {
246
246
  return true;
247
247
  }
248
248
  getTypeLabel(styledColumn) {
@@ -6,7 +6,7 @@ export class SystemStatusModule extends AdaptableModuleBase {
6
6
  super(ModuleConstants.SystemStatusModuleId, ModuleConstants.SystemStatusFriendlyName, 'traffic-lights', 'SystemStatusPopup', 'Provide messages about the Status of your application', api);
7
7
  }
8
8
  createColumnMenuItems(column) {
9
- if (this.isModuleAvailable()) {
9
+ if (this.isModuleVisible()) {
10
10
  return [
11
11
  this.createMenuItemShowPopup('system-status-show', 'Show System Status', this.moduleInfo.Popup, this.moduleInfo.Glyph, {
12
12
  source: 'ColumnMenu',
@@ -15,7 +15,7 @@ export class SystemStatusModule extends AdaptableModuleBase {
15
15
  }
16
16
  }
17
17
  createContextMenuItems(menuContext) {
18
- if (this.isModuleAvailable()) {
18
+ if (this.isModuleVisible()) {
19
19
  let popUpParams = {
20
20
  source: 'ContextMenu',
21
21
  };
@@ -6,7 +6,7 @@ export declare class TeamSharingModule extends AdaptableModuleBase implements IM
6
6
  private SKIP_TEAMSHARING_UPDATE_ACTIONS;
7
7
  constructor(api: AdaptableApi);
8
8
  onAdaptableReady(): void;
9
- isModuleAvailable(): boolean;
9
+ isModuleEnabled(): boolean;
10
10
  isModuleObjectsShareable(): boolean;
11
11
  getPopupMaxWidth(): number | undefined;
12
12
  private handleStateChanged;
@@ -32,8 +32,11 @@ export class TeamSharingModule extends AdaptableModuleBase {
32
32
  }
33
33
  this.api.eventApi.on('AdaptableStateChanged', (adaptableStateChangedInfo) => this.handleStateChanged(adaptableStateChangedInfo));
34
34
  }
35
- isModuleAvailable() {
36
- return super.isModuleAvailable() && this.api.teamSharingApi.isTeamSharingAvailable();
35
+ isModuleEnabled() {
36
+ const teamSharingOptions = this.api.optionsApi.getTeamSharingOptions();
37
+ return (teamSharingOptions?.enableTeamSharing &&
38
+ typeof teamSharingOptions?.loadSharedEntities === 'function' &&
39
+ typeof teamSharingOptions?.persistSharedEntities === 'function');
37
40
  }
38
41
  isModuleObjectsShareable() {
39
42
  return false;
@@ -3,5 +3,5 @@ import { IModule } from './Interface/IModule';
3
3
  import { AdaptableApi } from '../Api/AdaptableApi';
4
4
  export declare class ToolPanelModule extends AdaptableModuleBase implements IModule {
5
5
  constructor(api: AdaptableApi);
6
- isModuleAvailable(): boolean;
6
+ isModuleEnabled(): boolean;
7
7
  }
@@ -4,10 +4,7 @@ export class ToolPanelModule extends AdaptableModuleBase {
4
4
  constructor(api) {
5
5
  super(ModuleConstants.ToolPanelModuleId, ModuleConstants.ToolPanelFriendlyName, 'clipboard', 'ToolPanelPopup', 'An alternative to using the Dashboard is the AdapTable Tool Panel, the Tool Panel is the collapsible area to the right of the Grid.', api);
6
6
  }
7
- isModuleAvailable() {
8
- if (!super.isModuleAvailable()) {
9
- return false;
10
- }
7
+ isModuleEnabled() {
11
8
  return this.api.internalApi.getAdaptableInstance().hasAdaptableToolPanel;
12
9
  }
13
10
  }
@@ -7,7 +7,7 @@ export const getFilterPreview = (columnFilter, api) => {
7
7
  const columnType = api.columnApi.getColumnDataTypeForColumnId(columnFilter.ColumnId);
8
8
  const qlDataType = mapColumnDataTypeToExpressionFunctionType(columnType);
9
9
  const qlPredicateDefs = predicateDefs.map((pd) => mapAdaptablePredicateDefToQlPredicateDef(pd, qlDataType));
10
- const qlPredicate = mapColumnFilterToQlPredicate(columnFilter, column, qlPredicateDefs, columnFilterOptions, api);
10
+ const qlPredicate = mapColumnFilterToQlPredicate(columnFilter, column, qlPredicateDefs, columnFilterOptions, 'FilterForm', api);
11
11
  return `[${qlPredicateToString(qlPredicate, qlPredicateDefs)}]`;
12
12
  };
13
13
  export const getLayoutFilterViewItems = (layout, api) => {
@@ -14,3 +14,4 @@ export declare const AdaptableOptionsDocsLink = "https://docs.adaptabletools.com
14
14
  export declare const AgGridModulesDocsLink = "https://docs.adaptabletools.com/guide/dev-guide-aggrid-modules-overview";
15
15
  export declare const AlertMessageDocsLink = "https://docs.adaptabletools.com/guide/handbook-alerting-message";
16
16
  export declare const FormatColumnPlaceholderDocsLink = "https://docs.adaptabletools.com/guide/handbook-column-formatting-display-format-placeholder";
17
+ export declare const AgGridRequiredModulesDocsLink = "https://docs.adaptabletools.com/guide/dev-guide-aggrid-modules-overview#mandatory-modules";
@@ -15,3 +15,4 @@ export const AdaptableOptionsDocsLink = `${HOST_URL_DOCS}/guide/reference-option
15
15
  export const AgGridModulesDocsLink = `${HOST_URL_DOCS}/guide/dev-guide-aggrid-modules-overview`;
16
16
  export const AlertMessageDocsLink = `${HOST_URL_DOCS}/guide/handbook-alerting-message`;
17
17
  export const FormatColumnPlaceholderDocsLink = `${HOST_URL_DOCS}/guide/handbook-column-formatting-display-format-placeholder`;
18
+ export const AgGridRequiredModulesDocsLink = `${HOST_URL_DOCS}/guide/dev-guide-aggrid-modules-overview#mandatory-modules`;
@@ -25,11 +25,23 @@ export declare function moveArray(array: any[], from: number, to: number): void;
25
25
  export declare function areArraysEqual(arr1: any[], arr2: any[]): boolean;
26
26
  export declare function areArraysNotEqual(arr1: any[], arr2: any[]): boolean;
27
27
  export declare function areArraysEqualWithOrder(arr1: any[], arr2: any[]): boolean;
28
- export declare function areArraysEqualWithOrderandProperties(value: any[], other: any[]): boolean;
28
+ /**
29
+ * Checks if two arrays contain the same elements (order-independent).
30
+ *
31
+ * @param arr1 First array to compare
32
+ * @param arr2 Second array to compare
33
+ * @param equalityFn Optional function to determine if two elements are equal
34
+ * @returns True if arrays contain the same elements, false otherwise
35
+ */
36
+ export declare function areArraysEqualWithCustomComparator<T>(arr1: T[] | null | undefined, arr2: T[] | null | undefined, equalityFn?: (a: T, b: T) => boolean): boolean;
37
+ export declare function areArraysEqualWithOrderAndProperties(value: any[], other: any[]): boolean;
29
38
  export declare function sortArrayWithProperty(sortOrder: SortOrder, values: any[], sortProperty?: string): any[];
30
39
  export declare function sortArray(values: any[], sortOrder?: SortOrder): any[];
40
+ export declare const getGenericComparatorForGridCell: (sortOrder: SortOrder) => (a: GridCell, b: GridCell) => number;
31
41
  export declare function sortCellValueArray<T extends GridCell>(cellValues: T[], sortOrder?: SortOrder): T[];
42
+ export declare const getNumericComparatorForGridCell: (sortOrder: SortOrder) => (a: GridCell, b: GridCell) => number;
32
43
  export declare function sortCellValueArrayNumeric<T extends GridCell>(cellValues: T[], sortOrder?: SortOrder): T[];
44
+ export declare const getDateComparatorForGridCell: (sortOrder: SortOrder) => (a: GridCell, b: GridCell) => number;
33
45
  export declare function sortCellValueArrayDates<T extends GridCell>(cellValues: T[], sortOrder?: SortOrder): T[];
34
46
  export declare function groupArrayBy(array: Array<any>, prop: string): Array<any>;
35
47
  export declare function createCommaSeparatedString(values: any[]): string;
@@ -72,7 +84,8 @@ export declare const ArrayExtensions: {
72
84
  areArraysEqual: typeof areArraysEqual;
73
85
  areArraysNotEqual: typeof areArraysNotEqual;
74
86
  areArraysEqualWithOrder: typeof areArraysEqualWithOrder;
75
- areArraysEqualWithOrderandProperties: typeof areArraysEqualWithOrderandProperties;
87
+ areArraysEqualWithOrderAndProperties: typeof areArraysEqualWithOrderAndProperties;
88
+ areArraysEqualWithCustomComparator: typeof areArraysEqualWithCustomComparator;
76
89
  sortArray: typeof sortArray;
77
90
  sortCellValueArray: typeof sortCellValueArray;
78
91
  sortCellValueArrayNumeric: typeof sortCellValueArrayNumeric;