@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,5 +1,5 @@
1
1
  import { FormatColumn, FormatColumnState } from '../AdaptableState/FormatColumnState';
2
- import { AdaptableColumn, AdaptableFormat, AdaptableObjectLookupCriteria } from '../types';
2
+ import { AdaptableColumn, AdaptableFormat, AdaptableObjectLookupCriteria, FormatColumnConfig } from '../types';
3
3
  /**
4
4
  * Provides run-time access to the Format Column Module and associated state
5
5
  */
@@ -12,34 +12,28 @@ export interface FormatColumnApi {
12
12
  * Retrieves all Format Columns in Adaptable State
13
13
  * @returns format columns
14
14
  */
15
- getFormatColumns(config?: {
16
- includeLayoutNotAssociatedObjects?: boolean;
17
- }): FormatColumn[];
15
+ getFormatColumns(config?: FormatColumnConfig): FormatColumn[];
18
16
  /**
19
17
  * Retrieves Format Column by the technical ID (from `FormatColumnState`)
20
18
  * @param id Format Column id
21
19
  * @returns format column
22
20
  */
23
- getFormatColumnByUuId(id: FormatColumn['Uuid']): FormatColumn;
21
+ getFormatColumnByUuId(id: FormatColumn['Uuid'], config?: FormatColumnConfig): FormatColumn;
24
22
  /**
25
23
  * Retrieves all active (not-suspended) Format Columns in Adaptable State
26
24
  * @returns format columns
27
25
  */
28
- getActiveFormatColumns(config?: {
29
- includeLayoutNotAssociatedObjects?: boolean;
30
- }): FormatColumn[];
26
+ getActiveFormatColumns(config?: FormatColumnConfig): FormatColumn[];
31
27
  /**
32
28
  * Retrieves the first Format Column's Adaptable Format for a given Column
33
29
  * @param column Column to check
34
30
  */
35
- getDisplayFormatForColumn(column: AdaptableColumn): AdaptableFormat | undefined;
31
+ getDisplayFormatForColumn(column: AdaptableColumn, config?: FormatColumnConfig): AdaptableFormat | undefined;
36
32
  /**
37
33
  * Retrieves all suspended Format Columns in Adaptable State
38
34
  * @returns format columns
39
35
  */
40
- getSuspendedFormatColumns(config?: {
41
- includeLayoutNotAssociatedObjects?: boolean;
42
- }): FormatColumn[];
36
+ getSuspendedFormatColumns(config?: FormatColumnConfig): FormatColumn[];
43
37
  /**
44
38
  * Adds a Format Column to Format Column State
45
39
  * @param formatColumn Format Column to Add
@@ -96,17 +90,13 @@ export interface FormatColumnApi {
96
90
  * @param column The Column for which to retrieve the Format Column
97
91
  * @returns format column
98
92
  */
99
- getFormatColumnsForColumn(column: AdaptableColumn, config?: {
100
- includeSuspended?: boolean;
101
- }): FormatColumn[];
93
+ getFormatColumnsForColumn(column: AdaptableColumn, config?: FormatColumnConfig): FormatColumn[];
102
94
  /**
103
95
  * Gets all FormatColumns which are defined for the column with the given columnId
104
96
  * @param columnId ColumnId for which to retrieve the Format Column
105
97
  * @returns format column
106
98
  */
107
- getFormatColumnsForColumnId(columnId: string, config?: {
108
- includeSuspended?: boolean;
109
- }): FormatColumn[];
99
+ getFormatColumnsForColumnId(columnId: string, config?: FormatColumnConfig): FormatColumn[];
110
100
  /**
111
101
  * Checks if a Format Column contains a Custom Display Formatter
112
102
  * @param formatColumn Format Column
@@ -1,4 +1,4 @@
1
- import { ApiBase, LayoutAssociatedObjectLoadConfig } from './ApiBase';
1
+ import { ApiBase } from './ApiBase';
2
2
  import { AlertApi } from '../AlertApi';
3
3
  import { AlertDefinition, AlertProperties, AlertState } from '../../AdaptableState/AlertState';
4
4
  import { AdaptableAlert } from '../../AdaptableState/Common/AdaptableAlert';
@@ -6,19 +6,16 @@ import { AdaptableMessageType } from '../../AdaptableState/Common/AdaptableMessa
6
6
  import { AdaptableObjectLookupCriteria } from '../../AdaptableState/Common/AdaptableObject';
7
7
  import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
8
8
  import { AlertInternalApi } from '../Internal/AlertInternalApi';
9
+ import { LayoutExtendedConfig } from '../../AdaptableState/Common/ExtendedLayout';
9
10
  export declare class AlertApiImpl extends ApiBase implements AlertApi {
10
11
  internalApi: AlertInternalApi;
11
12
  constructor(_adaptable: IAdaptable);
12
13
  getAlertState(): AlertState;
13
- getAlertDefinitions(config?: LayoutAssociatedObjectLoadConfig): AlertDefinition[];
14
- getSuspendedAlertDefinitions(config?: {
15
- includeLayoutNotAssociatedObjects?: boolean;
16
- }): AlertDefinition[];
17
- getActiveAlertDefinitions(config?: {
18
- includeLayoutNotAssociatedObjects?: boolean;
19
- }): AlertDefinition[];
14
+ getAlertDefinitions(config?: LayoutExtendedConfig): AlertDefinition[];
15
+ getSuspendedAlertDefinitions(config?: LayoutExtendedConfig): AlertDefinition[];
16
+ getActiveAlertDefinitions(config?: LayoutExtendedConfig): AlertDefinition[];
20
17
  deleteAlertDefinition(alertDefinition: AlertDefinition): void;
21
- getAlertDefinitionById(id: AlertDefinition['Uuid']): AlertDefinition;
18
+ getAlertDefinitionById(id: AlertDefinition['Uuid'], config?: LayoutExtendedConfig): AlertDefinition;
22
19
  addAlertDefinition(alertDefinition: AlertDefinition): AlertDefinition;
23
20
  displayAdaptableAlert(alertToShow: AdaptableAlert): Promise<void>;
24
21
  displayAdaptableAlertNotification(alert: AdaptableAlert): void;
@@ -20,7 +20,7 @@ class AlertApiImpl extends ApiBase_1.ApiBase {
20
20
  return this.getAdaptableState().Alert;
21
21
  }
22
22
  getAlertDefinitions(config) {
23
- return (this.handleLayoutAssociatedObjects(this.getAlertState().AlertDefinitions, 'Alert', config) ??
23
+ return (this.handleLayoutExtensionObjects(this.getAlertState().AlertDefinitions, 'Alert', config) ??
24
24
  []);
25
25
  }
26
26
  getSuspendedAlertDefinitions(config) {
@@ -32,8 +32,8 @@ class AlertApiImpl extends ApiBase_1.ApiBase {
32
32
  deleteAlertDefinition(alertDefinition) {
33
33
  this.dispatchAction(AlertRedux.AlertDefinitionDelete(alertDefinition));
34
34
  }
35
- getAlertDefinitionById(id) {
36
- return this.getAlertDefinitions().find((alert) => alert?.Uuid === id);
35
+ getAlertDefinitionById(id, config) {
36
+ return this.getAlertDefinitions(config).find((alert) => alert?.Uuid === id);
37
37
  }
38
38
  addAlertDefinition(alertDefinition) {
39
39
  this.addUidToAdaptableObject(alertDefinition);
@@ -193,9 +193,10 @@ class AlertApiImpl extends ApiBase_1.ApiBase {
193
193
  });
194
194
  }
195
195
  findAlertDefinitions(criteria) {
196
- return this.getAdaptableInternalApi().findAdaptableObjectsByLookupCriteria(criteria, this.getAlertDefinitions({
197
- includeLayoutNotAssociatedObjects: true,
198
- }));
196
+ const config = {
197
+ includeLayoutNotExtendedObjects: true,
198
+ };
199
+ return this.getAdaptableInternalApi().findAdaptableObjectsByLookupCriteria(criteria, this.getAlertDefinitions(config));
199
200
  }
200
201
  getRelevantColumnIdsForAlertDefinition(alertDefinition) {
201
202
  // if there is an Expression defined, extract only the columns from there (in that case the Scope would be 'All' anyway)
@@ -8,7 +8,7 @@ import { AdaptableOptions } from '../../AdaptableOptions/AdaptableOptions';
8
8
  import { AdaptableApi } from '../AdaptableApi';
9
9
  import { GridApi as AgGridApi } from 'ag-grid-enterprise';
10
10
  import { ExportOptions } from '../../AdaptableOptions/ExportOptions';
11
- import { ActionColumnApi, ActionColumnOptions, AlertApi, AlertOptions, ApplicationApi, BulkUpdateApi, CalculatedColumnApi, CalendarApi, CalendarOptions, CellSummaryApi, CellSummaryOptions, ChartingApi, ChartingOptions, ColumnApi, FilterApi, ColumnOptions, CommentOptions, StateApi, ContainerOptions, CustomSortApi, CustomSortOptions, DashboardApi, DashboardOptions, DataChangeHistoryApi, DataChangeHistoryOptions, DataSetApi, DataSetOptions, EditOptions, EntitlementApi, EntitlementOptions, EventApi, ExportApi, ExpressionApi, ExpressionOptions, Fdc3Api, Fdc3Options, FlashingCellApi, FlashingCellOptions, FormatColumnApi, FormatColumnOptions, FreeTextColumnApi, GridApi, GridFilterApi, LayoutApi, LayoutAssociatedObject, LayoutOptions, NamedQueryApi, NoteOptions, NotificationsOptions, PluginsApi, PlusMinusApi, PredicateApi, PredicateOptions, QuickSearchApi, QuickSearchOptions, ScheduleApi, ColumnScopeApi, SettingsPanelApi, SettingsPanelOptions, ShortcutApi, SmartEditApi, StateOptions, StatusBarApi, StyledColumnApi, SystemStatusApi, TeamSharingApi, TeamSharingOptions, ThemeApi, ToolPanelApi, ToolPanelOptions, UserInterfaceApi, UserInterfaceOptions, ColumnMenuOptions, ContextMenuOptions, FilterOptions, ColumnFilterApi, OptionsApi } from '../../types';
11
+ import { ActionColumnApi, ActionColumnOptions, AlertApi, AlertOptions, ApplicationApi, BulkUpdateApi, CalculatedColumnApi, CalendarApi, CalendarOptions, CellSummaryApi, CellSummaryOptions, ChartingApi, ChartingOptions, ColumnApi, FilterApi, ColumnOptions, CommentOptions, StateApi, ContainerOptions, CustomSortApi, CustomSortOptions, DashboardApi, DashboardOptions, DataChangeHistoryApi, DataChangeHistoryOptions, DataSetApi, DataSetOptions, EditOptions, EntitlementApi, EntitlementOptions, EventApi, ExportApi, ExpressionApi, ExpressionOptions, Fdc3Api, Fdc3Options, FlashingCellApi, FlashingCellOptions, FormatColumnApi, FormatColumnOptions, FreeTextColumnApi, GridApi, GridFilterApi, LayoutApi, LayoutExtensionObject, LayoutOptions, NamedQueryApi, NoteOptions, NotificationsOptions, PluginsApi, PlusMinusApi, PredicateApi, PredicateOptions, QuickSearchApi, QuickSearchOptions, ScheduleApi, ColumnScopeApi, SettingsPanelApi, SettingsPanelOptions, ShortcutApi, SmartEditApi, StateOptions, StatusBarApi, StyledColumnApi, SystemStatusApi, TeamSharingApi, TeamSharingOptions, ThemeApi, ToolPanelApi, ToolPanelOptions, UserInterfaceApi, UserInterfaceOptions, ColumnMenuOptions, ContextMenuOptions, FilterOptions, ColumnFilterApi, OptionsApi, LayoutExtensionModule, LayoutExtendedConfig } from '../../types';
12
12
  import { ModuleParams } from '../../View/Components/SharedProps/ModuleViewPopupProps';
13
13
  import { AdaptableInternalApi } from '../Internal/AdaptableInternalApi';
14
14
  import { AdaptableLogger } from '../../agGrid/AdaptableLogger';
@@ -39,10 +39,7 @@ export declare abstract class ApiBase {
39
39
  */
40
40
  protected checkItemExists(item: any, name: string, type: string): boolean;
41
41
  protected checkArrayExists(array: any): boolean;
42
- protected handleLayoutAssociatedObjects<T extends LayoutAssociatedObject>(objectList: T[], module: AdaptableModule, config?: {
43
- includeLayoutNotAssociatedObjects?: boolean;
44
- associatedWithLayout?: string;
45
- }): T[];
42
+ protected handleLayoutExtensionObjects<T extends LayoutExtensionObject>(objectList: T[], module: LayoutExtensionModule, config?: LayoutExtendedConfig): T[];
46
43
  /**
47
44
  * Base api Helper method that dispatches a *Redux Action* to the Store
48
45
  * @param action the Redux Action to be dispatched
@@ -143,10 +140,3 @@ export declare abstract class ApiBase {
143
140
  protected getOptionsApi(): OptionsApi;
144
141
  destroy(): void;
145
142
  }
146
- /**
147
- * Configuration for API methods which load `LayoutAssociatedObject`
148
- */
149
- export interface LayoutAssociatedObjectLoadConfig {
150
- includeLayoutNotAssociatedObjects?: boolean;
151
- associatedWithLayout?: string;
152
- }
@@ -56,14 +56,14 @@ class ApiBase {
56
56
  }
57
57
  return true;
58
58
  }
59
- handleLayoutAssociatedObjects(objectList = [], module, config) {
60
- if (config?.includeLayoutNotAssociatedObjects) {
59
+ handleLayoutExtensionObjects(objectList = [], module, config) {
60
+ if (config?.includeLayoutNotExtendedObjects) {
61
61
  return objectList;
62
62
  }
63
- const associatedLayout = config?.associatedWithLayout
64
- ? this.getLayoutApi().getLayoutByName(config.associatedWithLayout)
63
+ const extendedLayout = config?.extendedLayoutName
64
+ ? this.getLayoutApi().getLayoutByName(config.extendedLayoutName)
65
65
  : this.getLayoutApi().getCurrentLayout();
66
- return objectList.filter((objectItem) => this._adaptable.api.layoutApi.internalApi.isObjectAvailableInLayout(objectItem, module, associatedLayout));
66
+ return objectList.filter((objectItem) => this.getLayoutApi().internalApi.isObjectExtendedInLayout(objectItem, module, extendedLayout));
67
67
  }
68
68
  /**
69
69
  * Base api Helper method that dispatches a *Redux Action* to the Store
@@ -1,5 +1,5 @@
1
1
  import { ApiBase } from './ApiBase';
2
- import { AdaptableColumn, AdaptableColumnDataType } from '../../AdaptableState/Common/AdaptableColumn';
2
+ import { AdaptableColumn, AdaptableColumnDataType, AdaptableColumnSummary } from '../../AdaptableState/Common/AdaptableColumn';
3
3
  import { Layout } from '../../types';
4
4
  import { ColumnApi } from '../ColumnApi';
5
5
  import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
@@ -15,9 +15,9 @@ export declare class ColumnApiImpl extends ApiBase implements ColumnApi {
15
15
  internalApi: ColumnInternalApi;
16
16
  constructor(_adaptable: IAdaptable);
17
17
  getColumns(): AdaptableColumn[];
18
+ getUIAvailableColumns(): AdaptableColumn[];
18
19
  getSpecialColumns(): AdaptableColumn[];
19
20
  getNonSpecialColumns(): AdaptableColumn[];
20
- getUIAvailableColumns(): AdaptableColumn[];
21
21
  getVisibleColumns(): AdaptableColumn[];
22
22
  selectColumn(columnId: string): void;
23
23
  selectColumns(columnIds: string[]): void;
@@ -34,6 +34,7 @@ export declare class ColumnApiImpl extends ApiBase implements ColumnApi {
34
34
  isAutoRowGroupColumn(columnId: string): boolean;
35
35
  isAutoRowGroupColumnForSingle(columnId: string): boolean;
36
36
  isAutoRowGroupColumnForMulti(columnId: string): boolean;
37
+ isSpecialColumn(columnId: string): boolean;
37
38
  isCalculatedColumn(columnId: string): boolean;
38
39
  isFreeTextColumn(columnId: string): boolean;
39
40
  isActionColumn(columnId: string): boolean;
@@ -85,4 +86,6 @@ export declare class ColumnApiImpl extends ApiBase implements ColumnApi {
85
86
  getAGGridColDefForColumnId(columnId: string): ColDef | ColGroupDef;
86
87
  getAGGridColumnForColumnId(columnId: string): Column;
87
88
  hasColumnType(columnIdentifier: string | ColDef, columnType: string): boolean;
89
+ getColumnSummaryForColumnId(columnId: string): AdaptableColumnSummary;
90
+ isAgGridGeneratedColumn(columnId: string): boolean;
88
91
  }
@@ -117,22 +117,23 @@ class ColumnApiImpl extends ApiBase_1.ApiBase {
117
117
  getColumns() {
118
118
  return this.getGridApi().getInternalState().Columns ?? [];
119
119
  }
120
+ getUIAvailableColumns() {
121
+ return this.getColumns().filter((c) => !c.alwaysHidden &&
122
+ !c.isGeneratedSelectionColumn &&
123
+ // currently (20.0.7) we don't display Pivot Totals in UI
124
+ !c.isPivotTotalColumn);
125
+ }
120
126
  getSpecialColumns() {
121
- const cols = this.getColumns()?.filter((c) => this.internalApi.isSpecialColumn(c.columnId, c));
127
+ const cols = this.getUIAvailableColumns()?.filter((c) => this.internalApi.isSpecialColumn(c.columnId, c));
122
128
  return cols ?? [];
123
129
  }
124
130
  getNonSpecialColumns() {
125
- const cols = this.getColumns()?.filter((c) => !this.internalApi.isSpecialColumn(c.columnId, c));
131
+ const cols = this.getUIAvailableColumns()?.filter((c) => !this.internalApi.isSpecialColumn(c.columnId, c));
126
132
  return cols ?? [];
127
133
  }
128
- getUIAvailableColumns() {
129
- return this.getColumns().filter((c) => !c.alwaysHidden &&
130
- // currently (20.0.7) we don't display Pivot Totals in UI
131
- !c.isPivotTotalColumn);
132
- }
133
134
  getVisibleColumns() {
134
135
  const layout = this.getLayoutApi().getCurrentLayout();
135
- const allcols = this.getColumns();
136
+ const allcols = this.getUIAvailableColumns();
136
137
  if ((0, LayoutHelpers_1.isPivotLayout)(layout)) {
137
138
  return allcols;
138
139
  }
@@ -189,6 +190,12 @@ class ColumnApiImpl extends ApiBase_1.ApiBase {
189
190
  isAutoRowGroupColumnForMulti(columnId) {
190
191
  return columnId.startsWith(normalizeLayoutModel_1.AUTO_GROUP_COLUMN_ID__MULTI_PREFIX);
191
192
  }
193
+ isSpecialColumn(columnId) {
194
+ return (this.isCalculatedColumn(columnId) ||
195
+ this.isFreeTextColumn(columnId) ||
196
+ this.isActionColumn(columnId) ||
197
+ this.isFdc3Column(columnId));
198
+ }
192
199
  isCalculatedColumn(columnId) {
193
200
  return (this.getCalculatedColumnApi()
194
201
  .getCalculatedColumns()
@@ -262,7 +269,7 @@ class ColumnApiImpl extends ApiBase_1.ApiBase {
262
269
  if (!column) {
263
270
  return false;
264
271
  }
265
- return column?.dataType === 'date' || column?.dataType === 'dateString';
272
+ return this.internalApi.getColumnDateTypes().includes(column?.dataType);
266
273
  }
267
274
  getColumnDataTypeForColumnId(columnId) {
268
275
  const column = this.getColumnWithColumnId(columnId);
@@ -390,11 +397,11 @@ class ColumnApiImpl extends ApiBase_1.ApiBase {
390
397
  case 'tupleArray':
391
398
  return this.getTupleNumberArrayColumns();
392
399
  default:
393
- return this.getColumns();
400
+ return this.getUIAvailableColumns();
394
401
  }
395
402
  }
396
403
  getNumericColumns() {
397
- return this.getColumns().filter((c) => c.dataType === 'number');
404
+ return this.getUIAvailableColumns().filter((c) => c.dataType === 'number');
398
405
  }
399
406
  getNumericArrayColumns() {
400
407
  return this.getNumberArrayColumns()
@@ -402,28 +409,28 @@ class ColumnApiImpl extends ApiBase_1.ApiBase {
402
409
  .concat(this.getObjectNumberArrayColumns());
403
410
  }
404
411
  getNumberArrayColumns() {
405
- return this.getColumns().filter((c) => c.dataType === 'numberArray');
412
+ return this.getUIAvailableColumns().filter((c) => c.dataType === 'numberArray');
406
413
  }
407
414
  getTupleNumberArrayColumns() {
408
- return this.getColumns().filter((c) => c.dataType === 'tupleArray');
415
+ return this.getUIAvailableColumns().filter((c) => c.dataType === 'tupleArray');
409
416
  }
410
417
  getObjectNumberArrayColumns() {
411
- return this.getColumns().filter((c) => c.dataType === 'objectArray');
418
+ return this.getUIAvailableColumns().filter((c) => c.dataType === 'objectArray');
412
419
  }
413
420
  getTextColumns() {
414
- return this.getColumns().filter((c) => c.dataType === 'text');
421
+ return this.getUIAvailableColumns().filter((c) => c.dataType === 'text');
415
422
  }
416
423
  getTextArrayColumns() {
417
- return this.getColumns().filter((c) => c.dataType === 'textArray');
424
+ return this.getUIAvailableColumns().filter((c) => c.dataType === 'textArray');
418
425
  }
419
426
  getDateColumns() {
420
- return this.getColumns().filter((c) => c.dataType === 'date' || c.dataType === 'dateString');
427
+ return this.getUIAvailableColumns().filter((c) => c.dataType === 'date' || c.dataType === 'dateString');
421
428
  }
422
429
  getBooleanColumns() {
423
- return this.getColumns().filter((c) => c.dataType === 'boolean');
430
+ return this.getUIAvailableColumns().filter((c) => c.dataType === 'boolean');
424
431
  }
425
432
  getArrayColumns() {
426
- return this.getColumns().filter((c) => c.dataType === 'numberArray' ||
433
+ return this.getUIAvailableColumns().filter((c) => c.dataType === 'numberArray' ||
427
434
  c.dataType === 'tupleArray' ||
428
435
  c.dataType === 'objectArray' ||
429
436
  c.dataType === 'textArray');
@@ -454,10 +461,7 @@ class ColumnApiImpl extends ApiBase_1.ApiBase {
454
461
  }
455
462
  logMissingColumnWarning(columnId) {
456
463
  if (this.getColumnOptions().showMissingColumnsWarning === true) {
457
- if (!this.isAutoRowGroupColumn(columnId) &&
458
- !this.isCalculatedColumn(columnId) &&
459
- !this.isFreeTextColumn(columnId) &&
460
- !this.isActionColumn(columnId)) {
464
+ if (!this.isAutoRowGroupColumn(columnId) && !this.isSpecialColumn(columnId)) {
461
465
  this.logWarn(`No column found named '${columnId}'`);
462
466
  }
463
467
  }
@@ -527,5 +531,37 @@ class ColumnApiImpl extends ApiBase_1.ApiBase {
527
531
  return colDef.type === columnType;
528
532
  }
529
533
  }
534
+ getColumnSummaryForColumnId(columnId) {
535
+ const column = this.getColumnWithColumnId(columnId);
536
+ if (!column) {
537
+ return undefined;
538
+ }
539
+ const gridCellsWithCount = this._adaptable.getDistinctGridCellsForColumn(column);
540
+ const columnFilter = this.getColumnFilterApi().getColumnFilterForColumn(column.columnId);
541
+ const uniqueGridCells = gridCellsWithCount.map((gcWithCount) => {
542
+ return {
543
+ rawValue: gcWithCount.rawValue,
544
+ normalisedValue: gcWithCount.normalisedValue,
545
+ displayValue: gcWithCount.displayValue,
546
+ visible: gcWithCount.visible,
547
+ count: gcWithCount.count,
548
+ visibleCount: gcWithCount.visibleCount,
549
+ };
550
+ });
551
+ return {
552
+ column,
553
+ columnFilter,
554
+ uniqueGridCells,
555
+ };
556
+ }
557
+ isAgGridGeneratedColumn(columnId) {
558
+ const column = this.getColumnWithColumnId(columnId);
559
+ if (!column) {
560
+ return true;
561
+ }
562
+ return (column.isGeneratedRowGroupColumn ||
563
+ column.isGeneratedSelectionColumn ||
564
+ column.isGeneratedPivotResultColumn);
565
+ }
530
566
  }
531
567
  exports.ColumnApiImpl = ColumnApiImpl;
@@ -1,7 +1,7 @@
1
1
  import { ApiBase } from './ApiBase';
2
2
  import { AdaptablePredicateDef, ColumnFilterDef } from '../../AdaptableState/Common/AdaptablePredicate';
3
3
  import { AdaptableColumn } from '../../AdaptableState/Common/AdaptableColumn';
4
- import { ColumnFilter, ColumnFilterPredicate } from '../../types';
4
+ import { ColumnFilter, ColumnFilterPredicate, InFilterValueInfo, InFilterValue } from '../../types';
5
5
  import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
6
6
  import { ColumnFilterInternalApi } from '../Internal/ColumnFilterInternalApi';
7
7
  import { ColumnFilterApi } from '../ColumnFilterApi';
@@ -38,8 +38,14 @@ export declare class ColumnFilterApiImpl extends ApiBase implements ColumnFilter
38
38
  */
39
39
  isColumnFilterActive(filter: ColumnFilter): boolean;
40
40
  setColumnFilterForColumn(columnId: string, columnFilterPredicate: ColumnFilterPredicate): void;
41
+ clearAndSetColumnFilterForColumn(columnId: string, columnFilterPredicate: ColumnFilterPredicate): void;
41
42
  suspendColumnFilter(columnFilter: ColumnFilter): void;
42
43
  unSuspendColumnFilter(columnFilter: ColumnFilter): void;
43
44
  suspendAllColumnFilters(): void;
44
45
  unSuspendAllColumnFilters(): void;
46
+ addBlanksToInFilterValues(columnDistinctValues: InFilterValueInfo[]): InFilterValueInfo[];
47
+ refreshFilterValues(columnId: string): Promise<InFilterValue[]>;
48
+ refreshAllFilterValues(): Promise<Record<string, InFilterValue[]>>;
49
+ resetFilterValues(columnId: string): void;
50
+ resetAllFilterValues(): void;
45
51
  }
@@ -7,12 +7,16 @@ const LayoutRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/La
7
7
  const ApiBase_1 = require("./ApiBase");
8
8
  const ArrayExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/ArrayExtensions"));
9
9
  const ColumnFilterInternalApi_1 = require("../Internal/ColumnFilterInternalApi");
10
+ const StringExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/StringExtensions"));
10
11
  class ColumnFilterApiImpl extends ApiBase_1.ApiBase {
11
12
  constructor(_adaptable) {
12
13
  super(_adaptable);
13
14
  this.internalApi = new ColumnFilterInternalApi_1.ColumnFilterInternalApi(_adaptable);
14
15
  }
15
16
  getFilterPredicateDefsForColumn(column) {
17
+ if (!column) {
18
+ return [];
19
+ }
16
20
  const scope = {
17
21
  ColumnIds: [column.columnId],
18
22
  };
@@ -94,7 +98,7 @@ class ColumnFilterApiImpl extends ApiBase_1.ApiBase {
94
98
  });
95
99
  }
96
100
  getColumnFilterForColumn(columnId) {
97
- return this.getColumnFilters().find((columnFilter) => columnFilter.ColumnId == columnId);
101
+ return this.getColumnFilters().find((columnFilter) => columnFilter.ColumnId === columnId);
98
102
  }
99
103
  clearColumnFilterForColumn(columnId) {
100
104
  let columnFilterForColumn = this.getColumnFilterForColumn(columnId);
@@ -148,8 +152,8 @@ class ColumnFilterApiImpl extends ApiBase_1.ApiBase {
148
152
  return filter.Predicates.some((predicate) => {
149
153
  const predicateDef = this.getPredicateApi().getPredicateDefById(predicate.PredicateId);
150
154
  if (ArrayExtensions_1.default.IsNull(predicateDef.inputs) &&
151
- // values predicates have no inputs in the definition
152
- !this.getPredicateApi().internalApi.hasPredicateValues(predicate)) {
155
+ // In and NotIn predicates ave no inputs in the definition
156
+ !this.getPredicateApi().internalApi.IsInOrNotInPredicate(predicate)) {
153
157
  return true;
154
158
  }
155
159
  const inputs = predicate.Inputs || [];
@@ -170,6 +174,13 @@ class ColumnFilterApiImpl extends ApiBase_1.ApiBase {
170
174
  };
171
175
  this.setColumnFilters([columnFilter]);
172
176
  }
177
+ clearAndSetColumnFilterForColumn(columnId, columnFilterPredicate) {
178
+ const columnFilter = {
179
+ ColumnId: columnId,
180
+ Predicates: [columnFilterPredicate],
181
+ };
182
+ this.setColumnFilters([columnFilter]);
183
+ }
173
184
  suspendColumnFilter(columnFilter) {
174
185
  this.dispatchAction(LayoutRedux.LayoutColumnFilterSuspend(columnFilter));
175
186
  }
@@ -182,5 +193,67 @@ class ColumnFilterApiImpl extends ApiBase_1.ApiBase {
182
193
  unSuspendAllColumnFilters() {
183
194
  this.dispatchAction(LayoutRedux.LayoutColumnFilterUnSuspendAll());
184
195
  }
196
+ addBlanksToInFilterValues(columnDistinctValues) {
197
+ if (columnDistinctValues.some((item) => StringExtensions_1.default.IsNullOrEmpty(item.value))) {
198
+ return [
199
+ {
200
+ label: 'Blanks',
201
+ value: 'Blanks',
202
+ },
203
+ ...columnDistinctValues,
204
+ ];
205
+ }
206
+ return columnDistinctValues;
207
+ }
208
+ async refreshFilterValues(columnId) {
209
+ const columnFilterHandler = this.getAgGridApi().getColumnFilterHandler(columnId);
210
+ if (!columnFilterHandler ||
211
+ typeof columnFilterHandler.resetFilterDisplayValues !== 'function') {
212
+ this.logWarn(`No filter handler found for column: ${columnId}`);
213
+ return;
214
+ }
215
+ this.logInfo(`Refreshing filter values for column: ${columnId}`);
216
+ return columnFilterHandler.refreshFilterDisplayValues();
217
+ }
218
+ async refreshAllFilterValues() {
219
+ const allFilterHandlers = this.internalApi.getAllAdaptableFilterHandlers();
220
+ const handlerPromises = allFilterHandlers.map(async (handler) => {
221
+ let values = [];
222
+ if (typeof handler.refreshFilterDisplayValues === 'function') {
223
+ values = await handler.refreshFilterDisplayValues();
224
+ }
225
+ else {
226
+ this.logWarn(`No refresh function for filter handler: ${handler.colId}`);
227
+ values = [];
228
+ }
229
+ return { columnId: handler.colId, values };
230
+ });
231
+ return Promise.all(handlerPromises).then((results) => {
232
+ return results.reduce((acc, { columnId, values }) => {
233
+ acc[columnId] = values;
234
+ return acc;
235
+ }, {});
236
+ });
237
+ }
238
+ resetFilterValues(columnId) {
239
+ const columnFilterHandler = this.getAgGridApi().getColumnFilterHandler(columnId);
240
+ if (!columnFilterHandler ||
241
+ typeof columnFilterHandler.resetFilterDisplayValues !== 'function') {
242
+ this.logWarn(`No filter handler found for column: ${columnId}`);
243
+ return;
244
+ }
245
+ columnFilterHandler.resetFilterDisplayValues();
246
+ }
247
+ resetAllFilterValues() {
248
+ const allFilterHandlers = this.internalApi.getAllAdaptableFilterHandlers();
249
+ allFilterHandlers.forEach((handler) => {
250
+ if (typeof handler.resetFilterDisplayValues === 'function') {
251
+ handler.resetFilterDisplayValues();
252
+ }
253
+ else {
254
+ this.logWarn(`No reset function for filter handler: ${handler.colId}`);
255
+ }
256
+ });
257
+ }
185
258
  }
186
259
  exports.ColumnFilterApiImpl = ColumnFilterApiImpl;
@@ -14,8 +14,16 @@ class ColumnScopeApiImpl extends ApiBase_1.ApiBase {
14
14
  // do we need a true check here?
15
15
  return true;
16
16
  }
17
- if ('DataTypes' in scope && scope.DataTypes.includes(column.dataType)) {
18
- return true;
17
+ if ('DataTypes' in scope) {
18
+ if (scope.DataTypes.includes(column.dataType)) {
19
+ return true;
20
+ }
21
+ if (scope.DataTypes.includes('date')) {
22
+ const agDateTypes = this.getColumnApi().internalApi.getColumnDateTypes();
23
+ if (agDateTypes.includes(column.dataType)) {
24
+ return true;
25
+ }
26
+ }
19
27
  }
20
28
  if ('ColumnTypes' in scope &&
21
29
  scope.ColumnTypes.some((columnType) => column.columnTypes?.includes(columnType))) {
@@ -4,22 +4,17 @@ import { CustomSort, CustomSortState } from '../../AdaptableState/CustomSortStat
4
4
  import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
5
5
  import { CustomSortInternalApi } from '../Internal/CustomSortInternalApi';
6
6
  import { ColumnValuesComparer } from '../../AdaptableOptions/CustomSortOptions';
7
+ import { LayoutExtendedConfig } from '../../types';
7
8
  export declare class CustomSortApiImpl extends ApiBase implements CustomSortApi {
8
9
  internalApi: CustomSortInternalApi;
9
10
  constructor(_adaptable: IAdaptable);
10
11
  getCustomSortState(): CustomSortState;
11
- getCustomSorts(config?: {
12
- includeLayoutNotAssociatedObjects?: boolean;
13
- }): CustomSort[];
14
- getCustomSortById(id: CustomSort['Uuid']): CustomSort;
12
+ getCustomSorts(config?: LayoutExtendedConfig): CustomSort[];
13
+ getCustomSortById(id: CustomSort['Uuid'], config?: LayoutExtendedConfig): CustomSort;
15
14
  getLiveCustomSorts(): CustomSort[];
16
15
  getLiveCustomSortComparers(): ColumnValuesComparer[];
17
- getActiveCustomSorts(config?: {
18
- includeLayoutNotAssociatedObjects?: boolean;
19
- }): CustomSort[];
20
- getSuspendedCustomSorts(config?: {
21
- includeLayoutNotAssociatedObjects?: boolean;
22
- }): CustomSort[];
16
+ getActiveCustomSorts(config?: LayoutExtendedConfig): CustomSort[];
17
+ getSuspendedCustomSorts(config?: LayoutExtendedConfig): CustomSort[];
23
18
  getCustomSortByColumn(column: string): CustomSort;
24
19
  getCustomSortForColumn(columnId: string): CustomSort | undefined;
25
20
  addCustomSort(customSort: CustomSort): CustomSort;
@@ -15,10 +15,10 @@ class CustomSortApiImpl extends ApiBase_1.ApiBase {
15
15
  return this.getAdaptableState().CustomSort;
16
16
  }
17
17
  getCustomSorts(config) {
18
- return (this.handleLayoutAssociatedObjects(this.getCustomSortState().CustomSorts, 'CustomSort', config) ?? []);
18
+ return (this.handleLayoutExtensionObjects(this.getCustomSortState().CustomSorts, 'CustomSort', config) ?? []);
19
19
  }
20
- getCustomSortById(id) {
21
- return this.getCustomSorts().find((customSort) => customSort.Uuid === id);
20
+ getCustomSortById(id, config) {
21
+ return this.getCustomSorts(config).find((customSort) => customSort.Uuid === id);
22
22
  }
23
23
  getLiveCustomSorts() {
24
24
  let returnVals = [];
@@ -92,7 +92,9 @@ class CustomSortApiImpl extends ApiBase_1.ApiBase {
92
92
  }
93
93
  deleteCustomSort(column) {
94
94
  let customSort = this.getCustomSortForColumn(column);
95
- this.dispatchAction(CustomSortRedux.CustomSortDelete(customSort));
95
+ if (customSort) {
96
+ this.dispatchAction(CustomSortRedux.CustomSortDelete(customSort));
97
+ }
96
98
  }
97
99
  suspendCustomSort(customSort) {
98
100
  this.dispatchAction(CustomSortRedux.CustomSortSuspend(customSort));
@@ -1,4 +1,4 @@
1
- import { ApiBase, LayoutAssociatedObjectLoadConfig } from './ApiBase';
1
+ import { ApiBase } from './ApiBase';
2
2
  import { AdaptableFlashingCell } from '../../AdaptableState/Common/AdaptableFlashingCell';
3
3
  import { FlashingCellApi } from '../FlashingCellApi';
4
4
  import { FlashingCellDefinition, FlashingCellState } from '../../AdaptableState/FlashingCellState';
@@ -6,15 +6,15 @@ import { AdaptablePredicateDef } from '../../AdaptableState/Common/AdaptablePred
6
6
  import { ColumnScope } from '../../AdaptableState/Common/ColumnScope';
7
7
  import { FlashingCellInternalApi } from '../Internal/FlashingCellInternalApi';
8
8
  import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
9
- import { AdaptableObjectLookupCriteria } from '../../types';
9
+ import { AdaptableObjectLookupCriteria, LayoutExtendedConfig } from '../../types';
10
10
  export declare class FlashingCellApiImpl extends ApiBase implements FlashingCellApi {
11
11
  internalApi: FlashingCellInternalApi;
12
12
  constructor(_adaptable: IAdaptable);
13
13
  getFlashingCellState(): FlashingCellState;
14
- getFlashingCellDefinitions(config?: LayoutAssociatedObjectLoadConfig): FlashingCellDefinition[];
15
- getFlashingCellDefinitionById(id: FlashingCellDefinition['Uuid']): FlashingCellDefinition;
16
- getActiveFlashingCellDefinitions(): FlashingCellDefinition[];
17
- getSuspendedFlashingCellDefinitions(): FlashingCellDefinition[];
14
+ getFlashingCellDefinitions(config?: LayoutExtendedConfig): FlashingCellDefinition[];
15
+ getFlashingCellDefinitionById(id: FlashingCellDefinition['Uuid'], config?: LayoutExtendedConfig): FlashingCellDefinition;
16
+ getActiveFlashingCellDefinitions(config?: LayoutExtendedConfig): FlashingCellDefinition[];
17
+ getSuspendedFlashingCellDefinitions(config?: LayoutExtendedConfig): FlashingCellDefinition[];
18
18
  getFlashingCellFlashTarget(flashingCellDefinition: FlashingCellDefinition): FlashingCellDefinition['FlashTarget'];
19
19
  showFlashingCell(flashingCellToShow: AdaptableFlashingCell): void;
20
20
  addFlashingCellDefinition(flashingCellDefinition: FlashingCellDefinition): FlashingCellDefinition;
@@ -26,6 +26,7 @@ export declare class FlashingCellApiImpl extends ApiBase implements FlashingCell
26
26
  unSuspendAllFlashingCellDefinition(): void;
27
27
  addFlashingCellDefinitions(flashingCellDefinitions: FlashingCellDefinition[]): FlashingCellDefinition[];
28
28
  editFlashingCellDefinitions(flashingCellDefinitions: FlashingCellDefinition[]): FlashingCellDefinition[];
29
+ deleteFlashingCellDefinition(flashingCellDefinition: FlashingCellDefinition): void;
29
30
  getFlashingCellPredicateDefsForScope(scope: ColumnScope): AdaptablePredicateDef[];
30
31
  clearAllFlashingCells(): void;
31
32
  isAnyFlashingCellActive(): boolean;