@adaptabletools/adaptable-cjs 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 +3 -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 +25 -5
  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 +10 -10
  263. package/src/Redux/ActionsReducers/StyledColumnRedux.d.ts +7 -0
  264. package/src/Redux/ActionsReducers/StyledColumnRedux.js +15 -1
  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 +16 -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 +2 -1
  321. package/src/Utilities/Extensions/ArrayExtensions.d.ts +15 -2
  322. package/src/Utilities/Extensions/ArrayExtensions.js +68 -15
  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 +18 -6
  328. package/src/Utilities/getScopeViewItems.js +6 -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 +5 -5
  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 +0 -39
  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 +37 -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 +2 -2
  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 +65 -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 +53 -0
  386. package/src/agGrid/AgGridFloatingFilterAdapter.d.ts +2 -0
  387. package/src/agGrid/{FloatingFilterWrapper.js → AgGridFloatingFilterAdapter.js} +26 -37
  388. package/src/agGrid/AgGridModulesAdapter.d.ts +15 -0
  389. package/src/agGrid/AgGridModulesAdapter.js +70 -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 +4 -4
  396. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +1 -1
  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 +114 -22
  402. package/src/components/icons/DefaultIcon.d.ts +0 -1
  403. package/src/components/icons/DefaultIcon.js +0 -8
  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 +28 -0
  417. package/src/types.d.ts +8 -9
  418. package/tsconfig.cjs.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 -136
  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 -18
  425. package/src/agGrid/getAgGridFilterNotifyModelFn.d.ts +0 -2
  426. package/src/agGrid/getAgGridFilterNotifyModelFn.js +0 -21
  427. /package/src/AdaptableState/Common/{ExtendedLayoutInfo.js → ExtendedLayout.js} +0 -0
@@ -1,21 +1,20 @@
1
1
  import { ApiBase } from './ApiBase';
2
2
  import { StyledColumnApi } from '../StyledColumnApi';
3
3
  import { StyledColumn, StyledColumnState } from '../../AdaptableState/StyledColumnState';
4
- import { AdaptableColumn } from '../../types';
4
+ import { AdaptableColumn, LayoutExtendedConfig } from '../../types';
5
5
  import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
6
6
  import { StyledColumnInternalApi } from '../Internal/StyledColumnInternalApi';
7
7
  export declare class StyledColumnApiImpl extends ApiBase implements StyledColumnApi {
8
8
  internalApi: StyledColumnInternalApi;
9
9
  constructor(_adaptable: IAdaptable);
10
10
  getStyledColumnState(): StyledColumnState;
11
- getStyledColumns(config?: {
12
- includeLayoutNotAssociatedObjects?: boolean;
13
- }): StyledColumn[];
14
- getStyledColumnById(id: StyledColumn['Uuid']): StyledColumn;
15
- getStyledColumnForColumnId(columnId: StyledColumn['ColumnId']): StyledColumn;
16
- getActiveStyledColumns(): StyledColumn[];
17
- getSuspendedStyledColumns(): StyledColumn[];
11
+ getStyledColumns(config?: LayoutExtendedConfig): StyledColumn[];
12
+ getStyledColumnById(id: StyledColumn['Uuid'], config?: LayoutExtendedConfig): StyledColumn;
13
+ getStyledColumnForColumnId(columnId: StyledColumn['ColumnId'], config?: LayoutExtendedConfig): StyledColumn;
14
+ getActiveStyledColumns(config?: LayoutExtendedConfig): StyledColumn[];
15
+ getSuspendedStyledColumns(config?: LayoutExtendedConfig): StyledColumn[];
18
16
  deleteStyledColumn(styledColumn: StyledColumn): void;
17
+ deleteAllStyledColumns(): void;
19
18
  addStyledColumn(styledColumn: StyledColumn): void;
20
19
  isSparklineStyleStyledColumn(column: AdaptableColumn): boolean;
21
20
  getActiveStyledColumnForColumn(column: AdaptableColumn): StyledColumn | undefined;
@@ -15,23 +15,26 @@ class StyledColumnApiImpl extends ApiBase_1.ApiBase {
15
15
  return this.getAdaptableState().StyledColumn;
16
16
  }
17
17
  getStyledColumns(config) {
18
- return (this.handleLayoutAssociatedObjects(this.getStyledColumnState().StyledColumns, 'StyledColumn', config) ?? []);
18
+ return (this.handleLayoutExtensionObjects(this.getStyledColumnState().StyledColumns, 'StyledColumn', config) ?? []);
19
19
  }
20
- getStyledColumnById(id) {
21
- return this.getStyledColumns().find((styledcolumn) => styledcolumn.Uuid === id);
20
+ getStyledColumnById(id, config) {
21
+ return this.getStyledColumns(config).find((styledcolumn) => styledcolumn.Uuid === id);
22
22
  }
23
- getStyledColumnForColumnId(columnId) {
24
- return this.getStyledColumns().find((styledcolumn) => styledcolumn.ColumnId === columnId);
23
+ getStyledColumnForColumnId(columnId, config) {
24
+ return this.getStyledColumns(config).find((styledcolumn) => styledcolumn.ColumnId === columnId);
25
25
  }
26
- getActiveStyledColumns() {
27
- return this.getStyledColumns().filter((styledcolumn) => !styledcolumn.IsSuspended);
26
+ getActiveStyledColumns(config) {
27
+ return this.getStyledColumns(config).filter((styledcolumn) => !styledcolumn.IsSuspended);
28
28
  }
29
- getSuspendedStyledColumns() {
30
- return this.getStyledColumns().filter((styledcolumn) => styledcolumn.IsSuspended);
29
+ getSuspendedStyledColumns(config) {
30
+ return this.getStyledColumns(config).filter((styledcolumn) => styledcolumn.IsSuspended);
31
31
  }
32
32
  deleteStyledColumn(styledColumn) {
33
33
  this.dispatchAction(StyledColumnRedux.StyledColumnDelete(styledColumn));
34
34
  }
35
+ deleteAllStyledColumns() {
36
+ this.dispatchAction(StyledColumnRedux.StyledColumnDeleteAll());
37
+ }
35
38
  addStyledColumn(styledColumn) {
36
39
  this.dispatchAction(StyledColumnRedux.StyledColumnAdd(styledColumn));
37
40
  }
@@ -46,10 +46,7 @@ class TeamSharingApiImpl extends ApiBase_1.ApiBase {
46
46
  return true;
47
47
  }
48
48
  isTeamSharingAvailable() {
49
- return (!this.getEntitlementApi().isModuleHiddenEntitlement(ModuleConstants.TeamSharingModuleId) &&
50
- this.getTeamSharingOptions()?.enableTeamSharing &&
51
- !!this.getTeamSharingOptions()?.loadSharedEntities &&
52
- !!this.getTeamSharingOptions()?.persistSharedEntities);
49
+ return this._adaptable.ModuleService.isAdapTableModulePresent('TeamSharing');
53
50
  }
54
51
  hasTeamSharingFullRights() {
55
52
  return this.getEntitlementApi().isModuleFullEntitlement(ModuleConstants.TeamSharingModuleId);
@@ -1,4 +1,5 @@
1
1
  import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
2
+ import { CustomIcon } from '../../AdaptableOptions/UserInterfaceOptions';
2
3
  import { AdaptableStyle } from '../../AdaptableState/Common/AdaptableStyle';
3
4
  import { AdaptableModule, AdaptableObject, AdaptableObjectTag, CustomWindowConfig } from '../../types';
4
5
  import { UserInterfaceInternalApi } from '../Internal/UserInterfaceInternalApi';
@@ -10,13 +11,13 @@ export declare class UserInterfaceApiImpl extends ApiBase implements UserInterfa
10
11
  private showProgressIndicatorTimeout;
11
12
  constructor(_adaptable: IAdaptable);
12
13
  getColorPalette(): string[];
14
+ getCustomIcons(): CustomIcon[];
13
15
  getStyleClassNames(): string[] | undefined;
14
16
  getEditableCellStyle(): AdaptableStyle | undefined;
15
17
  getEditedCellStyle(): AdaptableStyle | undefined;
16
18
  getReadOnlyCellStyle(): AdaptableStyle | undefined;
17
19
  getAdaptableObjectTags(): AdaptableObjectTag[] | undefined;
18
20
  getAdaptableObjectsWithTag(tag: AdaptableObjectTag, adaptableModule?: AdaptableModule): AdaptableObject[] | undefined;
19
- getCustomIconDefinition(iconName: string): import("../../types").AdaptableIcon | import("../../types").CustomIcon;
20
21
  showProgressIndicator(config: ProgressIndicatorConfig): {
21
22
  close: () => void;
22
23
  };
@@ -30,6 +30,16 @@ class UserInterfaceApiImpl extends ApiBase_1.ApiBase {
30
30
  }
31
31
  return [];
32
32
  }
33
+ getCustomIcons() {
34
+ let customIconsProp = this.getUserInterfaceOptions().customIcons;
35
+ if (customIconsProp != null) {
36
+ // first do the function then get hardcoded items
37
+ return typeof customIconsProp === 'function'
38
+ ? customIconsProp()
39
+ : customIconsProp;
40
+ }
41
+ return [];
42
+ }
33
43
  getStyleClassNames() {
34
44
  return this.getUserInterfaceOptions().styleClassNames;
35
45
  }
@@ -77,15 +87,6 @@ class UserInterfaceApiImpl extends ApiBase_1.ApiBase {
77
87
  return returnObjects;
78
88
  }
79
89
  }
80
- getCustomIconDefinition(iconName) {
81
- let customIcon = undefined;
82
- const customIcons = this.getUserInterfaceOptions().customIcons ?? [];
83
- customIcon = customIcons.find((icon) => icon.name === iconName);
84
- if (customIcon) {
85
- return customIcon.icon;
86
- }
87
- return customIcon;
88
- }
89
90
  showProgressIndicator(config) {
90
91
  const close = () => {
91
92
  this.hideProgressIndicator();
@@ -30,6 +30,7 @@ import { RowFormService } from '../../Utilities/Services/RowFormService';
30
30
  import { WindowModalPosition, WindowModalSize } from '../../components/WindowModal';
31
31
  import { FlashingCellService } from '../../Utilities/Services/FlashingCellService';
32
32
  import { AgGridAdapter } from '../../agGrid/AgGridAdapter';
33
+ import { AgGridModulesAdapter } from '../../agGrid/AgGridModulesAdapter';
33
34
  export declare class AdaptableInternalApi extends ApiBase {
34
35
  getInternalState(): InternalState;
35
36
  getAdaptableJSXElement(): React.JSX.Element;
@@ -62,6 +63,7 @@ export declare class AdaptableInternalApi extends ApiBase {
62
63
  buildRowDataChangedInfo(dataRows: any[], rowNodes: IRowNode[], rowTrigger: RowDataChangeTrigger): RowDataChangedInfo;
63
64
  getAdaptableInstance(): IAdaptable;
64
65
  getAgGridAdapter(): AgGridAdapter;
66
+ getAgGridModulesAdapter(): AgGridModulesAdapter;
65
67
  getInitialState(): InitialState;
66
68
  getState(): AdaptableState;
67
69
  getValidationService(): IValidationService;
@@ -76,6 +76,9 @@ class AdaptableInternalApi extends ApiBase_1.ApiBase {
76
76
  getAgGridAdapter() {
77
77
  return this._adaptable.agGridAdapter;
78
78
  }
79
+ getAgGridModulesAdapter() {
80
+ return this._adaptable.agGridModulesAdapter;
81
+ }
79
82
  getInitialState() {
80
83
  return this.getOptions().initialState;
81
84
  }
@@ -8,7 +8,7 @@ import { ColumnScope } from '../../AdaptableState/Common/ColumnScope';
8
8
  import { AdaptablePredicateDef } from '../../AdaptableState/Common/AdaptablePredicate';
9
9
  import { AdaptableMessageType } from '../../AdaptableState/Common/AdaptableMessageType';
10
10
  import { IRowNode } from 'ag-grid-enterprise';
11
- import { RowDataChangedInfo } from '../../types';
11
+ import { LayoutExtendedConfig, RowDataChangedInfo } from '../../types';
12
12
  export declare class AlertInternalApi extends ApiBase {
13
13
  getExpressionForAlertRule(alertRule: AlertRule): string | undefined;
14
14
  /**
@@ -20,18 +20,18 @@ export declare class AlertInternalApi extends ApiBase {
20
20
  * Retrieves all Alert Definitions in Alert State which are NOT Reactive (BooleanQuery)
21
21
  * @returns alert definitions
22
22
  */
23
- getNonReactiveAlertDefinitions(): AlertDefinition[];
23
+ getNonReactiveAlertDefinitions(config?: LayoutExtendedConfig): AlertDefinition[];
24
24
  /**
25
25
  * Retrieves all active (non-suspended) Alert Definitions in Alert State which are NOT Reactive (BooleanQuery)
26
26
  * @returns alert definitions
27
27
  */
28
- getActiveNonReactiveAlertDefinitions(): AlertDefinition[];
28
+ getActiveNonReactiveAlertDefinitions(config?: LayoutExtendedConfig): AlertDefinition[];
29
29
  /**
30
30
  *
31
31
  * Retrieves all Alert Definitions in Alert State which are reactive (ObservableQuery & AggregationQuery)
32
32
  * @returns alert definitions
33
33
  */
34
- getReactiveAlertDefinitions(): AlertDefinition[];
34
+ getReactiveAlertDefinitions(config?: LayoutExtendedConfig): AlertDefinition[];
35
35
  /**
36
36
  *
37
37
  * Retrieves all active (non-suspended) Alert Definitions in Alert State which are reactive (ObservableQuery & AggregationQuery)
@@ -42,12 +42,12 @@ export declare class AlertInternalApi extends ApiBase {
42
42
  * Retrieves all Alert Definitions which prevent a Cell Edit
43
43
  * @returns alert definitions
44
44
  */
45
- getAlertDefinitionsWithPreventEdit(): AlertDefinition[];
45
+ getAlertDefinitionsWithPreventEdit(config?: LayoutExtendedConfig): AlertDefinition[];
46
46
  /**
47
47
  * Retrieves all Alert Definitions which allow a Cell Edit
48
48
  * @returns alert definitions
49
49
  */
50
- getAlertDefinitionsWithAllowEdit(): AlertDefinition[];
50
+ getAlertDefinitionsWithAllowEdit(config?: LayoutExtendedConfig): AlertDefinition[];
51
51
  /**
52
52
  * Runs after a button in an Alert Form is clicked
53
53
  */
@@ -38,26 +38,26 @@ class AlertInternalApi extends ApiBase_1.ApiBase {
38
38
  * Retrieves all Alert Definitions in Alert State which are NOT Reactive (BooleanQuery)
39
39
  * @returns alert definitions
40
40
  */
41
- getNonReactiveAlertDefinitions() {
41
+ getNonReactiveAlertDefinitions(config) {
42
42
  return this.getAlertApi()
43
- .getAlertDefinitions()
43
+ .getAlertDefinitions(config)
44
44
  .filter((alertDef) => !(0, AdaptableQuery_1.isReactiveQuery)(alertDef.Rule));
45
45
  }
46
46
  /**
47
47
  * Retrieves all active (non-suspended) Alert Definitions in Alert State which are NOT Reactive (BooleanQuery)
48
48
  * @returns alert definitions
49
49
  */
50
- getActiveNonReactiveAlertDefinitions() {
51
- return this.getNonReactiveAlertDefinitions().filter((alertDef) => !alertDef.IsSuspended);
50
+ getActiveNonReactiveAlertDefinitions(config) {
51
+ return this.getNonReactiveAlertDefinitions(config).filter((alertDef) => !alertDef.IsSuspended);
52
52
  }
53
53
  /**
54
54
  *
55
55
  * Retrieves all Alert Definitions in Alert State which are reactive (ObservableQuery & AggregationQuery)
56
56
  * @returns alert definitions
57
57
  */
58
- getReactiveAlertDefinitions() {
58
+ getReactiveAlertDefinitions(config) {
59
59
  return this.getAlertApi()
60
- .getAlertDefinitions()
60
+ .getAlertDefinitions(config)
61
61
  .filter((alertDef) => (0, AdaptableQuery_1.isReactiveQuery)(alertDef.Rule));
62
62
  }
63
63
  /**
@@ -72,15 +72,15 @@ class AlertInternalApi extends ApiBase_1.ApiBase {
72
72
  * Retrieves all Alert Definitions which prevent a Cell Edit
73
73
  * @returns alert definitions
74
74
  */
75
- getAlertDefinitionsWithPreventEdit() {
76
- return this.getActiveNonReactiveAlertDefinitions().filter((a) => a.AlertProperties != null && a.AlertProperties.PreventEdit === true);
75
+ getAlertDefinitionsWithPreventEdit(config) {
76
+ return this.getActiveNonReactiveAlertDefinitions(config).filter((a) => a.AlertProperties != null && a.AlertProperties.PreventEdit === true);
77
77
  }
78
78
  /**
79
79
  * Retrieves all Alert Definitions which allow a Cell Edit
80
80
  * @returns alert definitions
81
81
  */
82
- getAlertDefinitionsWithAllowEdit() {
83
- return this.getActiveNonReactiveAlertDefinitions().filter((a) => a.AlertProperties == null || a.AlertProperties.PreventEdit !== true);
82
+ getAlertDefinitionsWithAllowEdit(config) {
83
+ return this.getActiveNonReactiveAlertDefinitions(config).filter((a) => a.AlertProperties == null || a.AlertProperties.PreventEdit !== true);
84
84
  }
85
85
  /**
86
86
  * Runs after a button in an Alert Form is clicked
@@ -5,7 +5,9 @@ import { AdaptablePredicateDef } from '../../AdaptableState/Common/AdaptablePred
5
5
  import { ColumnFilter } from '../../AdaptableState/Common/ColumnFilter';
6
6
  import { GridCell } from '../../AdaptableState/Selection/GridCell';
7
7
  import { LayoutColumnFilterAction } from '../../Redux/ActionsReducers/LayoutRedux';
8
+ import { InFilterValue } from '../../types';
8
9
  import { ApiBase } from '../Implementation/ApiBase';
10
+ import { AdaptableFilterHandler } from '../../agGrid/AdaptableFilterHandler';
9
11
  export declare class ColumnFilterInternalApi extends ApiBase {
10
12
  /**
11
13
  * Returns Predicate Definition for given Column and Quick Filter shortcut
@@ -44,4 +46,15 @@ export declare class ColumnFilterInternalApi extends ApiBase {
44
46
  getPredicateDefShortcuts(predicateDef: AdaptablePredicateDef): string[];
45
47
  showQuickFilterDropdown(columnId: string): boolean;
46
48
  openColumnFilterPopup(columnId: string, popupProps?: any): void;
49
+ /**
50
+ * First we try to get the cached values from the FilterHandler
51
+ * Only if the FilterHandler is not available we fallback to the GridApi method
52
+ */
53
+ getColumnFilterValues(options: {
54
+ columnId: string;
55
+ currentSearchValue: string;
56
+ }): Promise<InFilterValue[]>;
57
+ shouldAutoApplyColumnFilter(columnId: string): boolean;
58
+ shouldCacheColumnFilterValues(columnId: string): boolean;
59
+ getAllAdaptableFilterHandlers(): AdaptableFilterHandler[];
47
60
  }
@@ -8,6 +8,7 @@ const ArrayExtensions_1 = tslib_1.__importStar(require("../../Utilities/Extensio
8
8
  const StringExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/StringExtensions"));
9
9
  const windowFactory_1 = require("../../View/Components/Popups/WindowPopups/windowFactory");
10
10
  const ApiBase_1 = require("../Implementation/ApiBase");
11
+ const AdaptableFilterHandler_1 = require("../../agGrid/AdaptableFilterHandler");
11
12
  class ColumnFilterInternalApi extends ApiBase_1.ApiBase {
12
13
  /**
13
14
  * Returns Predicate Definition for given Column and Quick Filter shortcut
@@ -168,7 +169,38 @@ class ColumnFilterInternalApi extends ApiBase_1.ApiBase {
168
169
  if (ArrayExtensions_1.default.IsNullOrEmpty(oldFilters) && ArrayExtensions_1.default.IsNullOrEmpty(newFilters)) {
169
170
  return false;
170
171
  }
171
- return ArrayExtensions_1.default.areArraysNotEqual(oldFilters, newFilters);
172
+ return !ArrayExtensions_1.default.areArraysEqualWithCustomComparator(oldFilters, newFilters, (filter1, filter2) => {
173
+ // Compare basic properties
174
+ if (filter1.ColumnId !== filter2.ColumnId) {
175
+ return false;
176
+ }
177
+ if ((filter1.PredicatesOperator || 'AND') !== (filter2.PredicatesOperator || 'AND')) {
178
+ return false;
179
+ }
180
+ if ((filter1.IsSuspended || false) !== (filter2.IsSuspended || false)) {
181
+ return false;
182
+ }
183
+ // Compare predicates (regardless of order)
184
+ return ArrayExtensions_1.default.areArraysEqualWithCustomComparator(filter1.Predicates, filter2.Predicates, (pred1, pred2) => {
185
+ if (pred1.PredicateId !== pred2.PredicateId) {
186
+ return false;
187
+ }
188
+ // Compare inputs array (might be primitives or objects)
189
+ return ArrayExtensions_1.default.areArraysEqualWithCustomComparator(pred1.Inputs, pred2.Inputs, (input1, input2) => {
190
+ if (input1 === input2) {
191
+ return true;
192
+ }
193
+ if (typeof input1 !== typeof input2) {
194
+ return false;
195
+ }
196
+ // For object inputs, use JSON comparison
197
+ if (typeof input1 === 'object' && input1 !== null && input2 !== null) {
198
+ return JSON.stringify(input1) === JSON.stringify(input2);
199
+ }
200
+ return input1 === input2;
201
+ });
202
+ });
203
+ });
172
204
  }
173
205
  getPredicateDefShortcuts(predicateDef) {
174
206
  const shortcuts = this.getFilterOptions().columnFilterOptions.quickFilterWildcards;
@@ -207,5 +239,65 @@ class ColumnFilterInternalApi extends ApiBase_1.ApiBase {
207
239
  },
208
240
  });
209
241
  }
242
+ /**
243
+ * First we try to get the cached values from the FilterHandler
244
+ * Only if the FilterHandler is not available we fallback to the GridApi method
245
+ */
246
+ async getColumnFilterValues(options) {
247
+ const shouldUseCachedValues = this.shouldCacheColumnFilterValues(options.columnId);
248
+ if (!shouldUseCachedValues) {
249
+ return this.getGridApi().internalApi.getDistinctFilterDisplayValuesForColumn(options);
250
+ }
251
+ const columnFilterHandler = this.getAgGridApi().getColumnFilterHandler(options.columnId);
252
+ if (!columnFilterHandler) {
253
+ this.logWarn(`No ColumnFilterHandler found for columnId: ${options.columnId}!`);
254
+ return this.getGridApi().internalApi.getDistinctFilterDisplayValuesForColumn(options);
255
+ }
256
+ if (typeof columnFilterHandler.getFilterDisplayValues !== 'function') {
257
+ this.logWarn(`ColumnFilterHandler for columnId: ${options.columnId} does not have getFilterDisplayValues method!`);
258
+ return this.getGridApi().internalApi.getDistinctFilterDisplayValuesForColumn(options);
259
+ }
260
+ return columnFilterHandler.getFilterDisplayValues(options.currentSearchValue);
261
+ }
262
+ shouldAutoApplyColumnFilter(columnId) {
263
+ const autoApplyColumnFilterOpt = this.getOptionsApi().getFilterOptions().columnFilterOptions?.autoApplyColumnFilter;
264
+ if (typeof autoApplyColumnFilterOpt === 'boolean') {
265
+ return autoApplyColumnFilterOpt;
266
+ }
267
+ if (typeof autoApplyColumnFilterOpt === 'function') {
268
+ const column = this.getColumnApi().getColumnWithColumnId(columnId);
269
+ const context = {
270
+ column,
271
+ ...this.getAdaptableApi().internalApi.buildBaseContext(),
272
+ };
273
+ return autoApplyColumnFilterOpt(context);
274
+ }
275
+ // fallback, should never happen
276
+ return true;
277
+ }
278
+ shouldCacheColumnFilterValues(columnId) {
279
+ const cacheColumnFilterValuesOpt = this.getOptionsApi().getFilterOptions().columnFilterOptions?.cacheInFilterValues;
280
+ if (typeof cacheColumnFilterValuesOpt === 'boolean') {
281
+ return cacheColumnFilterValuesOpt;
282
+ }
283
+ if (typeof cacheColumnFilterValuesOpt === 'function') {
284
+ const column = this.getColumnApi().getColumnWithColumnId(columnId);
285
+ const context = {
286
+ column,
287
+ ...this.getAdaptableApi().internalApi.buildBaseContext(),
288
+ };
289
+ return cacheColumnFilterValuesOpt(context);
290
+ }
291
+ // fallback, should never happen
292
+ return true;
293
+ }
294
+ getAllAdaptableFilterHandlers() {
295
+ const allFilterableColumns = this.getColumnApi().getFilterableColumns();
296
+ const filterHandlers = allFilterableColumns
297
+ .map((column) => this.getAgGridApi().getColumnFilterHandler(column.columnId))
298
+ .filter(Boolean)
299
+ .filter((handler) => handler instanceof AdaptableFilterHandler_1.AdaptableFilterHandler);
300
+ return filterHandlers;
301
+ }
210
302
  }
211
303
  exports.ColumnFilterInternalApi = ColumnFilterInternalApi;
@@ -2,7 +2,7 @@ import { ApiBase } from '../Implementation/ApiBase';
2
2
  import { ColDef, Column, HeaderValueGetterParams, IRowNode } from 'ag-grid-enterprise';
3
3
  import { CustomSort } from '../../AdaptableState/CustomSortState';
4
4
  import { ColumnValuesComparer } from '../../AdaptableOptions/CustomSortOptions';
5
- import { AdaptableColumn } from '../../types';
5
+ import { AdaptableColumn, AdaptableColumnDataType } from '../../types';
6
6
  export declare function getAutoRowGroupColumnIdFor(columnId: string): string;
7
7
  export declare class ColumnInternalApi extends ApiBase {
8
8
  /**
@@ -36,4 +36,5 @@ export declare class ColumnInternalApi extends ApiBase {
36
36
  hasArrayDataType(column: AdaptableColumn): boolean;
37
37
  getQueryableColumnsForUIEditor(): AdaptableColumn[];
38
38
  isAlwaysHiddenColumn(columnIdentifier: string | ColDef): boolean;
39
+ getColumnDateTypes(): AdaptableColumnDataType[];
39
40
  }
@@ -146,7 +146,7 @@ class ColumnInternalApi extends ApiBase_1.ApiBase {
146
146
  };
147
147
  }
148
148
  if (params.column?.getColId().startsWith(`${GeneralConstants_1.AG_GRID_GROUPED_COLUMN}-`)) {
149
- const columnType = 'groupColumn';
149
+ const columnType = 'rowGroupColumn';
150
150
  const columnId = params.column.getColId();
151
151
  // remove `${AG_GRID_GROUPED_COLUMN}-` from beginning of columnId
152
152
  const groupColumnId = columnId.substring(`${GeneralConstants_1.AG_GRID_GROUPED_COLUMN}-`.length);
@@ -266,7 +266,7 @@ class ColumnInternalApi extends ApiBase_1.ApiBase {
266
266
  };
267
267
  }
268
268
  if ((0, ColumnApiImpl_1.isPivotResultColumn)(columnId)) {
269
- const columnType = 'pivotAggregationColumn';
269
+ const columnType = 'pivotResultColumn';
270
270
  const pivotValueCol = params.colDef.pivotValueColumn;
271
271
  const aggregatedColumnId = pivotValueCol?.getColId();
272
272
  const currentLayoutAggCols = currentPivotLayout.PivotAggregationColumns?.map((col) => col.ColumnId);
@@ -299,5 +299,9 @@ class ColumnInternalApi extends ApiBase_1.ApiBase {
299
299
  isAlwaysHiddenColumn(columnIdentifier) {
300
300
  return this.getColumnApi().hasColumnType(columnIdentifier, AdaptableColumn_1.HIDDEN_COLUMN_TYPE);
301
301
  }
302
+ getColumnDateTypes() {
303
+ // this is required because Adaptable uses 'date' type for all AG Grid date types: 'date', 'dateString'
304
+ return ['date', 'dateString'];
305
+ }
302
306
  }
303
307
  exports.ColumnInternalApi = ColumnInternalApi;
@@ -36,7 +36,7 @@ class DashboardInternalApi extends ApiBase_1.ApiBase {
36
36
  getModuleToolbars() {
37
37
  const moduleService = this.getAdaptableInternalApi().getModuleService();
38
38
  return Types_1.ALL_TOOLBARS.filter((moduleName) => {
39
- return moduleService.isModuleAvailable(moduleName);
39
+ return moduleService.isAdapTableModulePresent(moduleName);
40
40
  }).map((moduleName) => {
41
41
  return {
42
42
  id: moduleName,
@@ -1,4 +1,5 @@
1
1
  import { ApiBase } from '../Implementation/ApiBase';
2
2
  export declare class EntitlementInternalApi extends ApiBase {
3
3
  setModulesEntitlements(): void;
4
+ setModulesAgGridDepsInfos(): void;
4
5
  }
@@ -11,5 +11,13 @@ class EntitlementInternalApi extends ApiBase_1.ApiBase {
11
11
  module.setModuleEntitlement();
12
12
  });
13
13
  }
14
+ setModulesAgGridDepsInfos() {
15
+ this.getAdaptableInternalApi()
16
+ .getModuleService()
17
+ .getModuleCollection()
18
+ .forEach((module) => {
19
+ module.setAgGridDepsInfo();
20
+ });
21
+ }
14
22
  }
15
23
  exports.EntitlementInternalApi = EntitlementInternalApi;
@@ -384,7 +384,7 @@ class ExportInternalApi extends ApiBase_1.ApiBase {
384
384
  };
385
385
  const gridParams = {
386
386
  modules: this.getAdaptableApi()
387
- .internalApi.getAdaptableInstance()
387
+ .internalApi.getAgGridModulesAdapter()
388
388
  .getAgGridRegisteredModules(),
389
389
  };
390
390
  htmlDivElement.style.display = 'none';
@@ -45,7 +45,7 @@ class FlashingCellInternalApi extends ApiBase_1.ApiBase {
45
45
  ? toFlashingAlert(forPrimaryKey[columnId])
46
46
  : toFlashingAlert(forPrimaryKey[FlashingCellService_1.FLASHING_CELL_ROW_KEY]);
47
47
  if (adaptableFlashingCell?.flashingCellDefinition &&
48
- !this.getLayoutApi().internalApi.isObjectAvailableInLayout(adaptableFlashingCell.flashingCellDefinition, 'FlashingCell', this.getLayoutApi().getCurrentLayout())) {
48
+ !this.getLayoutApi().internalApi.isObjectExtendedInLayout(adaptableFlashingCell.flashingCellDefinition, 'FlashingCell', this.getLayoutApi().getCurrentLayout())) {
49
49
  return;
50
50
  }
51
51
  return adaptableFlashingCell;
@@ -1,37 +1,34 @@
1
- import { IRowNode } from 'ag-grid-enterprise';
2
- import { AdaptableColumn, AdaptableFormat, AdaptablePredicateDef, ColumnScope, FormatColumn, FormatColumnTarget, StringFormatterOptions } from '../../types';
1
+ import { HeaderValueGetterParams, IRowNode } from 'ag-grid-enterprise';
2
+ import { AdaptableColumn, AdaptableFormat, AdaptablePredicateDef, ColumnScope, FormatColumn, FormatColumnConfig, FormatColumnTarget, StringFormatterOptions } from '../../types';
3
3
  import { ApiBase } from '../Implementation/ApiBase';
4
4
  export declare class FormatColumnInternalApi extends ApiBase {
5
5
  /**
6
6
  * Retrieves all Format Columns in Adaptable State with the `Style` property set
7
7
  * @returns format columns
8
8
  */
9
- getAllFormatColumnWithStyle(): FormatColumn[];
9
+ getAllFormatColumnWithStyle(config?: FormatColumnConfig): FormatColumn[];
10
10
  /**
11
11
  * Retrieves all Format Columns in Adaptable State with the `Style` or the `CellAlignment` property set
12
12
  * @returns format columns
13
13
  */
14
- getAllFormatColumnWithStyleAndCellAlignment(): FormatColumn[];
14
+ getAllFormatColumnWithStyleAndCellAlignment(config?: FormatColumnConfig): FormatColumn[];
15
15
  /**
16
16
  * Retrieves all Format Columns in Adaptable State with `DisplayFormat` property set
17
17
  * @returns format columns
18
18
  */
19
- getAllFormatColumnWithDisplayFormat(): FormatColumn[];
19
+ getAllFormatColumnWithDisplayFormat(config?: FormatColumnConfig): FormatColumn[];
20
20
  /**
21
21
  * Retrieves all Format Columns in Adaptable State with `CellAlignment` property set
22
22
  * @returns format columns
23
23
  */
24
- getAllFormatColumnWithCellAlignment(): FormatColumn[];
24
+ getAllFormatColumnWithCellAlignment(config?: FormatColumnConfig): FormatColumn[];
25
25
  /**
26
26
  * Get all FormatColumns which are defined for this column and have a custom AdaptableStyle
27
27
  * @param column
28
28
  * @param config
29
29
  * @returns list of FormatColumn
30
30
  */
31
- getFormatColumnsWithStyleForColumn(column: AdaptableColumn, config: {
32
- target: FormatColumnTarget;
33
- includeSuspended?: boolean;
34
- }): FormatColumn[];
31
+ getFormatColumnsWithStyleForColumn(column: AdaptableColumn, config: FormatColumnConfig): FormatColumn[];
35
32
  /**
36
33
  * Gets Format Column if any for given Column which includes Style element with ClassName
37
34
  * @param column The Column for which to retrieve the Format Column
@@ -49,7 +46,8 @@ export declare class FormatColumnInternalApi extends ApiBase {
49
46
  * @param config
50
47
  * @returns list of FormatColumn
51
48
  */
52
- getFormatColumnsWithDisplayFormatForColumn(column: AdaptableColumn, config?: {
49
+ getFormatColumnsWithDisplayFormatForColumn(column: AdaptableColumn, config: {
50
+ target: FormatColumnTarget;
53
51
  includeSuspended?: boolean;
54
52
  }): FormatColumn[];
55
53
  /**
@@ -123,10 +121,11 @@ export declare class FormatColumnInternalApi extends ApiBase {
123
121
  * Retrieves all Format Columns which have an Expression
124
122
  * @returns Format Columns with Expression
125
123
  */
126
- getFormatColumnsWithExpression(): FormatColumn[];
127
- getFormatColumnsDependentOnColumns(columnSet: Set<string>): FormatColumn[];
124
+ getFormatColumnsWithExpression(config?: FormatColumnConfig): FormatColumn[];
125
+ getFormatColumnsDependentOnColumns(columnSet: Set<string>, config?: FormatColumnConfig): FormatColumn[];
128
126
  /**
129
127
  * Retrieves the columns that need rerendering based on format column predicates.
130
128
  */
131
129
  getFormatColumnColumnsDependentOnColumnChange(column: AdaptableColumn): string[];
130
+ formatColumnHeaderName(headerName: string, params: HeaderValueGetterParams): string;
132
131
  }