@adaptabletools/adaptable 20.3.0-canary.2 → 21.0.0-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (427) hide show
  1. package/agGrid.d.ts +2 -1
  2. package/agGrid.js +2 -1
  3. package/base.css +36 -15
  4. package/base.css.map +1 -1
  5. package/icons/add-circle.svg +1 -0
  6. package/icons/add.svg +1 -0
  7. package/icons/alert.svg +1 -0
  8. package/icons/align-center.svg +1 -0
  9. package/icons/align-justify.svg +1 -0
  10. package/icons/align-left.svg +1 -0
  11. package/icons/align-right.svg +1 -0
  12. package/icons/arrow-down-long.svg +1 -0
  13. package/icons/arrow-down.svg +1 -0
  14. package/icons/arrow-expand.svg +1 -0
  15. package/icons/arrow-left.svg +1 -0
  16. package/icons/arrow-right.svg +1 -0
  17. package/icons/arrow-up-long.svg +1 -0
  18. package/icons/arrow-up.svg +1 -0
  19. package/icons/assignment.svg +1 -0
  20. package/icons/badge.svg +1 -0
  21. package/icons/bold.svg +1 -0
  22. package/icons/boolean-list.svg +1 -0
  23. package/icons/brain.svg +1 -0
  24. package/icons/broadcast.svg +1 -0
  25. package/icons/brush.svg +1 -0
  26. package/icons/building.svg +1 -0
  27. package/icons/calculated-column.svg +1 -0
  28. package/icons/calendar.svg +1 -0
  29. package/icons/call.svg +1 -0
  30. package/icons/case-lower.svg +1 -0
  31. package/icons/case-sentence.svg +1 -0
  32. package/icons/case-upper.svg +1 -0
  33. package/icons/cells.svg +1 -0
  34. package/icons/chart.svg +1 -0
  35. package/icons/chat.svg +1 -0
  36. package/icons/check-circle.svg +1 -0
  37. package/icons/check.svg +1 -0
  38. package/icons/checked.svg +1 -0
  39. package/icons/clipboard.svg +1 -0
  40. package/icons/clone.svg +1 -0
  41. package/icons/close.svg +1 -0
  42. package/icons/cloud-upload.svg +1 -0
  43. package/icons/collapse-all.svg +1 -0
  44. package/icons/collapse.svg +1 -0
  45. package/icons/color-palette.svg +1 -0
  46. package/icons/column-add.svg +1 -0
  47. package/icons/column-outline.svg +1 -0
  48. package/icons/columns.svg +1 -0
  49. package/icons/comment.svg +1 -0
  50. package/icons/comments.svg +1 -0
  51. package/icons/contact.svg +1 -0
  52. package/icons/contains.svg +1 -0
  53. package/icons/copy.svg +1 -0
  54. package/icons/csv.svg +1 -0
  55. package/icons/dashboard.svg +1 -0
  56. package/icons/data-set.svg +1 -0
  57. package/icons/date-range.svg +1 -0
  58. package/icons/delete.svg +1 -0
  59. package/icons/division.svg +1 -0
  60. package/icons/dock.svg +1 -0
  61. package/icons/dollar.svg +1 -0
  62. package/icons/download.svg +1 -0
  63. package/icons/downloaded.svg +1 -0
  64. package/icons/drag.svg +1 -0
  65. package/icons/edit-table.svg +1 -0
  66. package/icons/edit.svg +1 -0
  67. package/icons/ends-with.svg +1 -0
  68. package/icons/equals.svg +1 -0
  69. package/icons/equation.svg +1 -0
  70. package/icons/error.svg +1 -0
  71. package/icons/excel.svg +1 -0
  72. package/icons/expand-all.svg +1 -0
  73. package/icons/expand.svg +1 -0
  74. package/icons/exponent.svg +1 -0
  75. package/icons/export-data.svg +1 -0
  76. package/icons/export.svg +1 -0
  77. package/icons/fast-backward.svg +1 -0
  78. package/icons/fast-forward.svg +1 -0
  79. package/icons/fdc3.svg +1 -0
  80. package/icons/filled-circle.svg +1 -0
  81. package/icons/filter-list.svg +1 -0
  82. package/icons/filter-off.svg +1 -0
  83. package/icons/filter.svg +1 -0
  84. package/icons/flag.svg +1 -0
  85. package/icons/folder-open.svg +1 -0
  86. package/icons/folder-shared.svg +1 -0
  87. package/icons/folder.svg +1 -0
  88. package/icons/function.svg +1 -0
  89. package/icons/gradient.svg +1 -0
  90. package/icons/greater-than-or-equal.svg +1 -0
  91. package/icons/greater-than.svg +1 -0
  92. package/icons/grid-filter.svg +1 -0
  93. package/icons/grid-info.svg +1 -0
  94. package/icons/grid.svg +1 -0
  95. package/icons/history.svg +1 -0
  96. package/icons/home.svg +1 -0
  97. package/icons/horizontal-lines.svg +1 -0
  98. package/icons/import-export.svg +1 -0
  99. package/icons/import.svg +1 -0
  100. package/icons/info.svg +1 -0
  101. package/icons/interactions.svg +1 -0
  102. package/icons/italic.svg +1 -0
  103. package/icons/json.svg +1 -0
  104. package/icons/laptop.svg +1 -0
  105. package/icons/less-than-or-equal.svg +1 -0
  106. package/icons/less-than.svg +1 -0
  107. package/icons/lightning.svg +1 -0
  108. package/icons/link.svg +1 -0
  109. package/icons/list.svg +1 -0
  110. package/icons/logout.svg +1 -0
  111. package/icons/mail.svg +1 -0
  112. package/icons/menu.svg +1 -0
  113. package/icons/minus.svg +1 -0
  114. package/icons/money.svg +1 -0
  115. package/icons/multiplication.svg +1 -0
  116. package/icons/newpage.svg +1 -0
  117. package/icons/news.svg +1 -0
  118. package/icons/not-contains.svg +1 -0
  119. package/icons/not-equal.svg +1 -0
  120. package/icons/note.svg +1 -0
  121. package/icons/open-in-new.svg +1 -0
  122. package/icons/order.svg +1 -0
  123. package/icons/organisation.svg +1 -0
  124. package/icons/overline.svg +1 -0
  125. package/icons/paperclip.svg +1 -0
  126. package/icons/pause.svg +1 -0
  127. package/icons/percent-tag.svg +1 -0
  128. package/icons/percent.svg +1 -0
  129. package/icons/person.svg +1 -0
  130. package/icons/pie-chart.svg +1 -0
  131. package/icons/play.svg +1 -0
  132. package/icons/plus.svg +1 -0
  133. package/icons/quote.svg +1 -0
  134. package/icons/refresh.svg +1 -0
  135. package/icons/regex.svg +1 -0
  136. package/icons/reminder.svg +1 -0
  137. package/icons/resume.svg +1 -0
  138. package/icons/rows.svg +1 -0
  139. package/icons/save.svg +1 -0
  140. package/icons/schedule.svg +1 -0
  141. package/icons/science.svg +1 -0
  142. package/icons/search-table.svg +1 -0
  143. package/icons/search.svg +1 -0
  144. package/icons/select-all.svg +1 -0
  145. package/icons/select-fwd.svg +1 -0
  146. package/icons/select-off.svg +1 -0
  147. package/icons/settings.svg +1 -0
  148. package/icons/sort-asc.svg +1 -0
  149. package/icons/sort-desc.svg +1 -0
  150. package/icons/spanner.svg +1 -0
  151. package/icons/spark-line.svg +1 -0
  152. package/icons/starts-with.svg +1 -0
  153. package/icons/statusbar.svg +1 -0
  154. package/icons/stop.svg +1 -0
  155. package/icons/strikethrough.svg +1 -0
  156. package/icons/styled-grid.svg +1 -0
  157. package/icons/sync.svg +1 -0
  158. package/icons/tab-unselected.svg +1 -0
  159. package/icons/target.svg +1 -0
  160. package/icons/theme.svg +1 -0
  161. package/icons/traffic-lights.svg +1 -0
  162. package/icons/triangle-down.svg +1 -0
  163. package/icons/triangle-up.svg +1 -0
  164. package/icons/unchecked.svg +1 -0
  165. package/icons/underline.svg +1 -0
  166. package/icons/undo.svg +1 -0
  167. package/icons/unfilled-circle.svg +1 -0
  168. package/icons/upload.svg +1 -0
  169. package/icons/visibility-off-bold.svg +1 -0
  170. package/icons/visibility-off.svg +1 -0
  171. package/icons/visibility-on-bold.svg +1 -0
  172. package/icons/visibility-on.svg +1 -0
  173. package/icons/warning.svg +1 -0
  174. package/index.css +32 -15
  175. package/index.css.map +1 -1
  176. package/package.json +2 -2
  177. package/src/AdaptableInterfaces/IAdaptable.d.ts +10 -5
  178. package/src/AdaptableOptions/ColumnOptions.d.ts +71 -187
  179. package/src/AdaptableOptions/DefaultAdaptableOptions.js +3 -2
  180. package/src/AdaptableOptions/EditOptions.d.ts +4 -7
  181. package/src/AdaptableOptions/FilterOptions.d.ts +50 -15
  182. package/src/AdaptableOptions/LayoutOptions.d.ts +8 -21
  183. package/src/AdaptableOptions/PredicateOptions.d.ts +1 -1
  184. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +1 -1
  185. package/src/AdaptableState/Common/AdaptableColumn.d.ts +7 -0
  186. package/src/AdaptableState/Common/AdaptablePredicate.js +2 -2
  187. package/src/AdaptableState/Common/CustomWindowConfig.d.ts +11 -11
  188. package/src/AdaptableState/Common/ExtendedLayout.d.ts +50 -0
  189. package/src/AdaptableState/Common/ProgressIndicatorConfig.d.ts +1 -4
  190. package/src/AdaptableState/Common/RowScope.d.ts +1 -1
  191. package/src/AdaptableState/FormatColumnState.d.ts +16 -9
  192. package/src/AdaptableState/InternalState.d.ts +1 -1
  193. package/src/AdaptableState/LayoutState.d.ts +26 -6
  194. package/src/AdaptableState/Selection/GridCell.d.ts +32 -0
  195. package/src/AdaptableState/StyledColumnState.d.ts +2 -2
  196. package/src/Api/AlertApi.d.ts +5 -11
  197. package/src/Api/ColumnApi.d.ts +17 -1
  198. package/src/Api/ColumnFilterApi.d.ts +32 -2
  199. package/src/Api/CustomSortApi.d.ts +5 -10
  200. package/src/Api/FlashingCellApi.d.ts +10 -6
  201. package/src/Api/FormatColumnApi.d.ts +8 -18
  202. package/src/Api/Implementation/AlertApiImpl.d.ts +6 -9
  203. package/src/Api/Implementation/AlertApiImpl.js +7 -6
  204. package/src/Api/Implementation/ApiBase.d.ts +2 -12
  205. package/src/Api/Implementation/ApiBase.js +5 -5
  206. package/src/Api/Implementation/ColumnApiImpl.d.ts +5 -2
  207. package/src/Api/Implementation/ColumnApiImpl.js +59 -23
  208. package/src/Api/Implementation/ColumnFilterApiImpl.d.ts +7 -1
  209. package/src/Api/Implementation/ColumnFilterApiImpl.js +76 -3
  210. package/src/Api/Implementation/ColumnScopeApiImpl.js +10 -2
  211. package/src/Api/Implementation/CustomSortApiImpl.d.ts +5 -10
  212. package/src/Api/Implementation/CustomSortApiImpl.js +6 -4
  213. package/src/Api/Implementation/FlashingCellApiImpl.d.ts +7 -6
  214. package/src/Api/Implementation/FlashingCellApiImpl.js +11 -8
  215. package/src/Api/Implementation/FormatColumnApiImpl.d.ts +8 -18
  216. package/src/Api/Implementation/FormatColumnApiImpl.js +10 -9
  217. package/src/Api/Implementation/LayoutApiImpl.d.ts +3 -2
  218. package/src/Api/Implementation/LayoutApiImpl.js +101 -7
  219. package/src/Api/Implementation/LayoutHelpers.d.ts +1 -0
  220. package/src/Api/Implementation/LayoutHelpers.js +23 -4
  221. package/src/Api/Implementation/PlusMinusApiImpl.d.ts +7 -5
  222. package/src/Api/Implementation/PlusMinusApiImpl.js +10 -7
  223. package/src/Api/Implementation/ScheduleApiImpl.d.ts +9 -16
  224. package/src/Api/Implementation/ScheduleApiImpl.js +15 -17
  225. package/src/Api/Implementation/ShortcutApiImpl.d.ts +5 -6
  226. package/src/Api/Implementation/ShortcutApiImpl.js +7 -8
  227. package/src/Api/Implementation/StyledColumnApiImpl.d.ts +7 -8
  228. package/src/Api/Implementation/StyledColumnApiImpl.js +12 -9
  229. package/src/Api/Implementation/TeamSharingApiImpl.js +1 -4
  230. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +2 -1
  231. package/src/Api/Implementation/UserInterfaceApiImpl.js +10 -9
  232. package/src/Api/Internal/AdaptableInternalApi.d.ts +2 -0
  233. package/src/Api/Internal/AdaptableInternalApi.js +3 -0
  234. package/src/Api/Internal/AlertInternalApi.d.ts +6 -6
  235. package/src/Api/Internal/AlertInternalApi.js +10 -10
  236. package/src/Api/Internal/ColumnFilterInternalApi.d.ts +13 -0
  237. package/src/Api/Internal/ColumnFilterInternalApi.js +93 -1
  238. package/src/Api/Internal/ColumnInternalApi.d.ts +2 -1
  239. package/src/Api/Internal/ColumnInternalApi.js +6 -2
  240. package/src/Api/Internal/DashboardInternalApi.js +1 -1
  241. package/src/Api/Internal/EntitlementInternalApi.d.ts +1 -0
  242. package/src/Api/Internal/EntitlementInternalApi.js +8 -0
  243. package/src/Api/Internal/ExportInternalApi.js +1 -1
  244. package/src/Api/Internal/FlashingCellInternalApi.js +1 -1
  245. package/src/Api/Internal/FormatColumnInternalApi.d.ts +12 -13
  246. package/src/Api/Internal/FormatColumnInternalApi.js +45 -16
  247. package/src/Api/Internal/GridInternalApi.d.ts +7 -10
  248. package/src/Api/Internal/GridInternalApi.js +76 -27
  249. package/src/Api/Internal/LayoutInternalApi.d.ts +5 -5
  250. package/src/Api/Internal/LayoutInternalApi.js +42 -5
  251. package/src/Api/Internal/PredicateInternalApi.d.ts +2 -6
  252. package/src/Api/Internal/PredicateInternalApi.js +4 -6
  253. package/src/Api/Internal/UserInterfaceInternalApi.d.ts +1 -0
  254. package/src/Api/Internal/UserInterfaceInternalApi.js +10 -3
  255. package/src/Api/LayoutApi.d.ts +7 -2
  256. package/src/Api/PlusMinusApi.d.ts +11 -7
  257. package/src/Api/ScheduleApi.d.ts +9 -16
  258. package/src/Api/ShortcutApi.d.ts +5 -6
  259. package/src/Api/StyledColumnApi.d.ts +10 -7
  260. package/src/Api/UserInterfaceApi.d.ts +5 -6
  261. package/src/Redux/ActionsReducers/InternalRedux.d.ts +4 -4
  262. package/src/Redux/ActionsReducers/InternalRedux.js +7 -7
  263. package/src/Redux/ActionsReducers/StyledColumnRedux.d.ts +7 -0
  264. package/src/Redux/ActionsReducers/StyledColumnRedux.js +13 -0
  265. package/src/Redux/Store/AdaptableStore.js +10 -10
  266. package/src/Strategy/AdaptableModuleBase.d.ts +14 -4
  267. package/src/Strategy/AdaptableModuleBase.js +46 -9
  268. package/src/Strategy/AlertModule.d.ts +3 -4
  269. package/src/Strategy/AlertModule.js +7 -4
  270. package/src/Strategy/CalculatedColumnModule.js +2 -2
  271. package/src/Strategy/CellSummaryModule.js +2 -2
  272. package/src/Strategy/ChartingModule.d.ts +3 -1
  273. package/src/Strategy/ChartingModule.js +9 -3
  274. package/src/Strategy/ColumnFilterModule.d.ts +1 -1
  275. package/src/Strategy/ColumnFilterModule.js +31 -15
  276. package/src/Strategy/ColumnInfoModule.js +2 -2
  277. package/src/Strategy/CommentModule.d.ts +1 -1
  278. package/src/Strategy/CommentModule.js +3 -3
  279. package/src/Strategy/CustomSortModule.d.ts +3 -4
  280. package/src/Strategy/CustomSortModule.js +2 -2
  281. package/src/Strategy/DashboardModule.js +1 -1
  282. package/src/Strategy/DataChangeHistoryModule.d.ts +2 -1
  283. package/src/Strategy/DataChangeHistoryModule.js +3 -10
  284. package/src/Strategy/DataImportModule.js +3 -3
  285. package/src/Strategy/ExportModule.js +1 -1
  286. package/src/Strategy/Fdc3Module.js +1 -1
  287. package/src/Strategy/FlashingCellModule.d.ts +3 -5
  288. package/src/Strategy/FlashingCellModule.js +3 -3
  289. package/src/Strategy/FormatColumnModule.d.ts +3 -4
  290. package/src/Strategy/FormatColumnModule.js +4 -2
  291. package/src/Strategy/FreeTextColumnModule.d.ts +1 -1
  292. package/src/Strategy/FreeTextColumnModule.js +2 -2
  293. package/src/Strategy/GridInfoModule.js +2 -2
  294. package/src/Strategy/Interface/IModule.d.ts +7 -3
  295. package/src/Strategy/LayoutModule.js +11 -11
  296. package/src/Strategy/NoteModule.d.ts +1 -1
  297. package/src/Strategy/NoteModule.js +3 -3
  298. package/src/Strategy/PlusMinusModule.d.ts +3 -4
  299. package/src/Strategy/PlusMinusModule.js +2 -2
  300. package/src/Strategy/QuickSearchModule.d.ts +2 -0
  301. package/src/Strategy/QuickSearchModule.js +9 -0
  302. package/src/Strategy/ScheduleModule.d.ts +3 -4
  303. package/src/Strategy/ScheduleModule.js +2 -2
  304. package/src/Strategy/SettingsPanelModule.js +1 -1
  305. package/src/Strategy/ShortcutModule.d.ts +3 -4
  306. package/src/Strategy/ShortcutModule.js +2 -2
  307. package/src/Strategy/StatusBarModule.d.ts +3 -2
  308. package/src/Strategy/StatusBarModule.js +6 -3
  309. package/src/Strategy/StyledColumnModule.d.ts +3 -4
  310. package/src/Strategy/StyledColumnModule.js +2 -2
  311. package/src/Strategy/SystemStatusModule.js +2 -2
  312. package/src/Strategy/TeamSharingModule.d.ts +1 -1
  313. package/src/Strategy/TeamSharingModule.js +5 -2
  314. package/src/Strategy/ToolPanelModule.d.ts +1 -1
  315. package/src/Strategy/ToolPanelModule.js +1 -4
  316. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsTargetItems.d.ts +5 -0
  317. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsTargetItems.js +12 -0
  318. package/src/Strategy/Utilities/Layout/getLayoutFilterViewItems.js +1 -1
  319. package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +1 -0
  320. package/src/Utilities/Constants/DocumentationLinkConstants.js +1 -0
  321. package/src/Utilities/Extensions/ArrayExtensions.d.ts +15 -2
  322. package/src/Utilities/Extensions/ArrayExtensions.js +62 -13
  323. package/src/Utilities/ObjectFactory.js +3 -2
  324. package/src/Utilities/Services/AnnotationsService.js +1 -1
  325. package/src/Utilities/Services/Interface/IModuleService.d.ts +2 -1
  326. package/src/Utilities/Services/ModuleService.d.ts +3 -3
  327. package/src/Utilities/Services/ModuleService.js +19 -7
  328. package/src/Utilities/getScopeViewItems.js +5 -2
  329. package/src/View/AdaptableView.js +3 -1
  330. package/src/View/ColumnInfo/ColumnInfo.js +9 -3
  331. package/src/View/Components/AdaptableIconSelector/index.js +2 -3
  332. package/src/View/Components/ColumnFilter/AdaptableColumnFilter.d.ts +0 -1
  333. package/src/View/Components/ColumnFilter/AdaptableColumnFilter.js +2 -3
  334. package/src/View/Components/ColumnFilter/AdaptableFloatingFilter.d.ts +0 -2
  335. package/src/View/Components/ColumnFilter/AdaptableFloatingFilter.js +4 -7
  336. package/src/View/Components/ColumnFilter/ColumnFilter.js +11 -4
  337. package/src/View/Components/ColumnFilter/ColumnFilterWindow.js +1 -1
  338. package/src/View/Components/ColumnFilter/FloatingFilter.js +1 -2
  339. package/src/View/Components/ColumnFilter/LayoutColumnFilter.js +1 -1
  340. package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +2 -2
  341. package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +2 -2
  342. package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.d.ts +1 -1
  343. package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.js +2 -2
  344. package/src/View/Components/ColumnFilter/utils.d.ts +2 -2
  345. package/src/View/Components/ColumnFilter/utils.js +6 -1
  346. package/src/View/Components/EntityRulesEditor/index.js +1 -2
  347. package/src/View/Components/FilterForm/ListBoxFilterForm.js +1 -1
  348. package/src/View/Components/NewScopeComponent.js +5 -1
  349. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +6 -6
  350. package/src/View/Components/PredicateEditor/PredicateEditor.js +1 -2
  351. package/src/View/Components/Selectors/BulkUpdateValueSelector.js +1 -1
  352. package/src/View/Components/Selectors/ColumnSelector.js +1 -1
  353. package/src/View/Components/Selectors/FieldSelector.js +1 -1
  354. package/src/View/Components/Selectors/PermittedValuesSelector.d.ts +1 -0
  355. package/src/View/Components/Selectors/PermittedValuesSelector.js +2 -2
  356. package/src/View/Dashboard/Dashboard.js +2 -2
  357. package/src/View/Dashboard/DashboardPopup.js +3 -1
  358. package/src/View/Dashboard/PinnedDashboard.js +1 -1
  359. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +9 -21
  360. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +59 -22
  361. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +4 -0
  362. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +1 -40
  363. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +13 -12
  364. package/src/View/FormatColumn/Wizard/FormatColumnTargetWizardSection.d.ts +8 -0
  365. package/src/View/FormatColumn/Wizard/FormatColumnTargetWizardSection.js +31 -0
  366. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +18 -4
  367. package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.js +1 -1
  368. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +1 -1
  369. package/src/View/Layout/TransposedPopup.js +2 -2
  370. package/src/View/Layout/Wizard/sections/ColumnsSection.js +64 -9
  371. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +5 -5
  372. package/src/View/StatusBar/AdaptableStatusBar.js +1 -4
  373. package/src/View/StatusBar/StatusBarPopup.js +1 -1
  374. package/src/View/Theme/ThemeSelector.js +1 -1
  375. package/src/agGrid/AdaptableAgGrid.d.ts +11 -7
  376. package/src/agGrid/AdaptableAgGrid.js +256 -218
  377. package/src/agGrid/AdaptableFilterHandler.d.ts +18 -0
  378. package/src/agGrid/AdaptableFilterHandler.js +61 -0
  379. package/src/agGrid/AgGridAdapter.d.ts +3 -7
  380. package/src/agGrid/AgGridAdapter.js +13 -46
  381. package/src/agGrid/AgGridColumnAdapter.d.ts +3 -3
  382. package/src/agGrid/AgGridColumnAdapter.js +86 -40
  383. package/src/agGrid/AgGridExportAdapter.js +1 -1
  384. package/src/agGrid/AgGridFilterAdapter.d.ts +2 -0
  385. package/src/agGrid/AgGridFilterAdapter.js +48 -0
  386. package/src/agGrid/AgGridFloatingFilterAdapter.d.ts +2 -0
  387. package/src/agGrid/{FloatingFilterWrapper.js → AgGridFloatingFilterAdapter.js} +24 -35
  388. package/src/agGrid/AgGridModulesAdapter.d.ts +15 -0
  389. package/src/agGrid/AgGridModulesAdapter.js +66 -0
  390. package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.js +1 -1
  391. package/src/agGrid/editors/AdaptablePercentageEditor/InternalAdaptablePercentageEditor.js +1 -1
  392. package/src/components/Dialog/index.js +1 -1
  393. package/src/components/Dropdown/Arrows.js +2 -2
  394. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.d.ts +1 -1
  395. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +2 -2
  396. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +2 -2
  397. package/src/components/FileDroppable/index.js +1 -1
  398. package/src/components/IconSelector/IconSelector.d.ts +2 -2
  399. package/src/components/OverlayTrigger/index.js +1 -1
  400. package/src/components/Select/Select.d.ts +1 -1
  401. package/src/components/Select/Select.js +116 -24
  402. package/src/components/icons/DefaultIcon.d.ts +0 -1
  403. package/src/components/icons/DefaultIcon.js +0 -6
  404. package/src/env.js +2 -2
  405. package/src/layout-manager/src/LayoutManagerModel.d.ts +6 -10
  406. package/src/layout-manager/src/index.d.ts +11 -3
  407. package/src/layout-manager/src/index.js +302 -87
  408. package/src/layout-manager/src/normalizeLayoutModel.js +7 -4
  409. package/src/layout-manager/src/simplifyLayoutModel.js +4 -4
  410. package/src/metamodel/adaptable.metamodel.d.ts +172 -20
  411. package/src/metamodel/adaptable.metamodel.js +1 -1
  412. package/src/migration/AdaptableUpgradeHelper.js +2 -0
  413. package/src/migration/VersionUpgrade17.js +1 -1
  414. package/src/migration/VersionUpgrade20.js +1 -0
  415. package/src/migration/VersionUpgrade21.d.ts +6 -0
  416. package/src/migration/VersionUpgrade21.js +24 -0
  417. package/src/types.d.ts +8 -9
  418. package/tsconfig.esm.tsbuildinfo +1 -1
  419. package/src/AdaptableState/Common/ExtendedLayoutInfo.d.ts +0 -27
  420. package/src/agGrid/FilterWrapper.d.ts +0 -2
  421. package/src/agGrid/FilterWrapper.js +0 -131
  422. package/src/agGrid/FloatingFilterWrapper.d.ts +0 -2
  423. package/src/agGrid/agGridModules.d.ts +0 -3
  424. package/src/agGrid/agGridModules.js +0 -15
  425. package/src/agGrid/getAgGridFilterNotifyModelFn.d.ts +0 -2
  426. package/src/agGrid/getAgGridFilterNotifyModelFn.js +0 -16
  427. /package/src/AdaptableState/Common/{ExtendedLayoutInfo.js → ExtendedLayout.js} +0 -0
@@ -41,107 +41,125 @@ export interface ColumnOptions {
41
41
  */
42
42
  export interface BaseColumnHeaderContext extends BaseContext {
43
43
  /**
44
- * The default header name for the column
44
+ * Default header name for Column
45
45
  */
46
46
  defaultHeaderName: string;
47
47
  /**
48
- * The mame of the current Layout
48
+ * Name of Current Layout
49
49
  */
50
50
  currentLayoutName: string;
51
51
  /**
52
- * The type (table/pivot) of the current Layout
52
+ * Type (table/pivot) of Current Layout
53
53
  */
54
54
  currentLayoutType: 'table' | 'pivot';
55
55
  /**
56
- * The current Layout
56
+ * Current Layout
57
57
  */
58
58
  currentLayout: Layout;
59
59
  }
60
+ /**
61
+ * Context for Columns created automatically by AG Grid when Row Grouping
62
+ */
60
63
  export interface AutoGroupColumnHeaderContext extends BaseColumnHeaderContext {
61
64
  /**
62
- * Auto-generated Group Column when GroupDisplayType is `single` column
65
+ * Auto-generated Row Group Column (when RowGroupDisplayType is `single`)
63
66
  */
64
67
  columnType: 'autoGroupColumn';
65
68
  /**
66
- * Technical ID of the Column
69
+ * Id of the Column
67
70
  */
68
71
  columnId: string;
69
72
  /**
70
- * IDs of the Columns that are grouped
73
+ * Ids of all Row Grouped Columns
71
74
  */
72
75
  groupedColumnIds: string[];
73
76
  }
77
+ /**
78
+ * Context for Columns created when Row Grouping
79
+ */
74
80
  export interface RowGroupColumnHeaderContext extends BaseColumnHeaderContext {
75
81
  /**
76
- * Group Columns - see `TableLayout.RowGroupedColumns` or `PivotLayout.PivotGroupedColumns`
82
+ * A Row Grouped Column (created in both Table and Pivot Layout)
77
83
  */
78
- columnType: 'groupColumn';
84
+ columnType: 'rowGroupColumn';
79
85
  /**
80
- * Technical ID of the Column
86
+ * Id of the Column
81
87
  */
82
88
  columnId: string;
83
89
  /**
84
- * ID of the grouped Column
90
+ * Id of Row Grouped Column
85
91
  */
86
92
  groupColumnId: string;
87
93
  }
94
+ /**
95
+ * Context for standard Table Layout Columns
96
+ */
88
97
  export interface TableColumnHeaderContext extends BaseColumnHeaderContext {
89
98
  /**
90
- * Table Column - see `TableLayout.TableColumns`
99
+ * Table Column (created in Table Layouts)
91
100
  */
92
101
  columnType: 'tableColumn';
93
102
  /**
94
- * Technical ID of the Column
103
+ * Id of the Column
95
104
  */
96
105
  columnId: string;
97
106
  /**
98
- * Optional Aggregation function of the Column - see `TableLayout.TableAggregationColumns`
107
+ * Aggregation function of Column (optional)
99
108
  */
100
109
  aggregation?: string;
101
110
  }
111
+ /**
112
+ * Context for Column Group headers
113
+ */
102
114
  export interface TableColumnGroupHeaderContext extends BaseColumnHeaderContext {
103
115
  /**
104
- * Column Group - see https://www.ag-grid.com/javascript-data-grid/column-groups/
116
+ * Table Column Group (used when Column Grouping in Table Layouts)
105
117
  */
106
118
  columnType: 'tableColumnGroup';
107
119
  /**
108
- * Technical ID of the Column Group - see `ColGroupDef.groupId`
120
+ * Id of Column Group
109
121
  */
110
122
  groupId: string;
111
123
  /**
112
- * IDs of the Column Group children - see `ColGroupDef.children`
124
+ * Ids of Column Group's children
113
125
  */
114
126
  childrenColumnIds: string[];
115
127
  /**
116
- * State of the Column Group
128
+ * Expanded / Collapsed state of Column Group
117
129
  */
118
130
  state: 'expanded' | 'collapsed';
119
131
  }
132
+ /**
133
+ * Context for Pivot Column Groups
134
+ */
120
135
  export interface PivotColumnGroupHeaderContext extends BaseColumnHeaderContext {
121
136
  /**
122
- * Pivot Column - see `PivotLayout.PivotColumns`
137
+ * Pivot Column Group (created for each distinct value in a PivotColumn)
123
138
  */
124
139
  columnType: 'pivotColumnGroup';
125
140
  /**
126
- * Technical ID of the generated Column Group
141
+ * Id of generated Column Group
127
142
  */
128
143
  groupId: string;
129
144
  /**
130
- * Pivot Keys for the current Column Group
145
+ * Pivot Keys for Column Group
131
146
  */
132
147
  pivotKeys: string[];
133
148
  /**
134
- * State of the Column Group
149
+ * Expanded / Collapsed state of Column Group
135
150
  */
136
151
  state: 'expanded' | 'collapsed';
137
152
  }
138
- export interface PivotAggregationColumnHeaderContext extends BaseColumnHeaderContext {
153
+ /**
154
+ * Context for Pivot Result Columns
155
+ */
156
+ export interface PivotResultColumnHeaderContext extends BaseColumnHeaderContext {
139
157
  /**
140
- * Pivot Aggregation Column - see `PivotLayout.PivotAggregationColumns`
158
+ * Pivot Result Column (unique intersection of PivotAggregationColumn and PivotColumn)
141
159
  */
142
- columnType: 'pivotAggregationColumn';
160
+ columnType: 'pivotResultColumn';
143
161
  /**
144
- * Technical ID of the generated Column
162
+ * Id of generated Column
145
163
  */
146
164
  columnId: string;
147
165
  /**
@@ -149,215 +167,81 @@ export interface PivotAggregationColumnHeaderContext extends BaseColumnHeaderCon
149
167
  */
150
168
  pivotKeys: string[];
151
169
  /**
152
- * ID of the Aggregated Column - see `PivotLayout.PivotAggregationColumns`
170
+ * Id of Pivot Aggregated Column
153
171
  */
154
172
  aggregatedColumnId: string;
155
173
  /**
156
- * Aggregation function of the Column - see `PivotLayout.PivotAggregationColumns.AggregationColumnValue`
174
+ * Aggregation function of Column
157
175
  */
158
176
  aggregation: string;
159
177
  }
178
+ /**
179
+ * Context for Pivot Grand Total Columns
180
+ */
160
181
  export interface PivotGrandTotalHeaderContext extends BaseColumnHeaderContext {
161
182
  /**
162
- * Pivot Grand Total - see `PivotLayout.PivotGrandTotal`
183
+ * Pivot Grand Total Column
163
184
  */
164
185
  columnType: 'pivotGrandTotal';
165
186
  /**
166
- * ID of the Aggregated Column - see `PivotLayout.PivotAggregationColumns`
187
+ * Id of Pivot Aggregated Column
167
188
  */
168
189
  aggregatedColumnId: string;
169
190
  /**
170
- * Aggregation function of the Column - see `PivotLayout.PivotAggregationColumns.AggregationColumnValue`
191
+ * Aggregation function of Column
171
192
  */
172
193
  aggregation: string;
173
194
  }
195
+ /**
196
+ * Context for Pivot Total Columns
197
+ */
174
198
  export interface PivotColumnTotalHeaderContext extends BaseColumnHeaderContext {
175
199
  /**
176
- * Pivot Column Total - see `PivotLayout.PivotColumnTotal`
200
+ * Pivot Column Total
177
201
  */
178
202
  columnType: 'pivotColumnTotal';
179
203
  /**
180
- * Current Pivot Keys
204
+ * Key (i.e. column value) of Pivot Column
181
205
  */
182
206
  pivotKey: string;
183
207
  /**
184
- * ID of the Pivot Column - see `PivotLayout.PivotColumns`
208
+ * Id of Pivot Column
185
209
  */
186
210
  pivotColumnId: string;
187
211
  /**
188
- * Aggregation function of the Column - see `PivotLayout.PivotAggregationColumns.AggregationColumnValue`
212
+ * Aggregation function of Column
189
213
  */
190
214
  aggregation: string;
191
215
  }
216
+ /**
217
+ * Context for Pivot Aggregation Totals
218
+ */
192
219
  export interface PivotAggregationTotalHeaderContext extends BaseColumnHeaderContext {
193
220
  /**
194
- * Pivot Aggregation Total Column - see `PivotLayout.PivotAggregationColumns.TotalColumn`
221
+ * Pivot Aggregation Total Column
195
222
  */
196
223
  columnType: 'pivotAggregationTotal';
197
224
  /**
198
- * ID of the Aggregated Column - see `PivotLayout.PivotAggregationColumns`
225
+ * Id of Aggregated Column
199
226
  */
200
227
  aggregatedColumnId: string;
201
228
  /**
202
- * Aggregation function of the Column - see `PivotLayout.PivotAggregationColumns.AggregationColumnValue`
229
+ * Aggregation function of Column
203
230
  */
204
231
  aggregation: string;
205
232
  /**
206
- * ID of the Pivot Column - see `PivotLayout.PivotColumns`
233
+ * Id of Pivot Column
207
234
  */
208
235
  pivotColumnId: string;
209
236
  /**
210
- * Current Pivot Keys
237
+ * Key (i.e. column value) of Pivot Column
211
238
  */
212
239
  pivotKey: string;
213
240
  }
214
- export type ColumnHeaderContext = TableColumnHeaderContext | TableColumnGroupHeaderContext | AutoGroupColumnHeaderContext | RowGroupColumnHeaderContext | PivotColumnGroupHeaderContext | PivotAggregationColumnHeaderContext | PivotGrandTotalHeaderContext | PivotColumnTotalHeaderContext | PivotAggregationTotalHeaderContext;
215
- export type ColumnHeaderContextOld = BaseColumnHeaderContext & ({
216
- /**
217
- * Auto-generated Group Column when GroupDisplayType is `single` column
218
- */
219
- columnType: 'autoGroupColumn';
220
- /**
221
- * Technical ID of the Column
222
- */
223
- columnId: string;
224
- /**
225
- * IDs of the Columns that are grouped
226
- */
227
- groupedColumnIds: string[];
228
- } | {
229
- /**
230
- * Group Columns - see `TableLayout.RowGroupedColumns` or `PivotLayout.PivotGroupedColumns`
231
- */
232
- columnType: 'groupColumn';
233
- /**
234
- * Technical ID of the Column
235
- */
236
- columnId: string;
237
- /**
238
- * ID of the grouped Column
239
- */
240
- groupColumnId: string;
241
- } | {
242
- /**
243
- * Table Column - see `TableLayout.TableColumns`
244
- */
245
- columnType: 'tableColumn';
246
- /**
247
- * Technical ID of the Column
248
- */
249
- columnId: string;
250
- /**
251
- * Optional Aggregation function of the Column - see `TableLayout.TableAggregationColumns`
252
- */
253
- aggregation?: string;
254
- } | {
255
- /**
256
- * Column Group - see https://www.ag-grid.com/javascript-data-grid/column-groups/
257
- */
258
- columnType: 'tableColumnGroup';
259
- /**
260
- * Technical ID of the Column Group - see `ColGroupDef.groupId`
261
- */
262
- groupId: string;
263
- /**
264
- * IDs of the Column Group children - see `ColGroupDef.children`
265
- */
266
- childrenColumnIds: string[];
267
- /**
268
- * State of the Column Group
269
- */
270
- state: 'expanded' | 'collapsed';
271
- } | {
272
- /**
273
- * Pivot Column - see `PivotLayout.PivotColumns`
274
- */
275
- columnType: 'pivotColumnGroup';
276
- /**
277
- * Technical ID of the generated Column Group
278
- */
279
- groupId: string;
280
- /**
281
- * Pivot Keys for the current Column Group
282
- */
283
- pivotKeys: string[];
284
- /**
285
- * State of the Column Group
286
- */
287
- state: 'expanded' | 'collapsed';
288
- } | {
289
- /**
290
- * Pivot Aggregation Column - see `PivotLayout.PivotAggregationColumns`
291
- */
292
- columnType: 'pivotAggregationColumn';
293
- /**
294
- * Technical ID of the generated Column
295
- */
296
- columnId: string;
297
- /**
298
- * Current Pivot Keys
299
- */
300
- pivotKeys: string[];
301
- /**
302
- * ID of the Aggregated Column - see `PivotLayout.PivotAggregationColumns`
303
- */
304
- aggregatedColumnId: string;
305
- /**
306
- * Aggregation function of the Column - see `PivotLayout.PivotAggregationColumns.AggregationColumnValue`
307
- */
308
- aggregation: string;
309
- } | {
310
- /**
311
- * Pivot Grand Total - see `PivotLayout.PivotGrandTotal`
312
- */
313
- columnType: 'pivotGrandTotal';
314
- /**
315
- * ID of the Aggregated Column - see `PivotLayout.PivotAggregationColumns`
316
- */
317
- aggregatedColumnId: string;
318
- /**
319
- * Aggregation function of the Column - see `PivotLayout.PivotAggregationColumns.AggregationColumnValue`
320
- */
321
- aggregation: string;
322
- } | {
323
- /**
324
- * Pivot Column Total - see `PivotLayout.PivotColumnTotal`
325
- */
326
- columnType: 'pivotColumnTotal';
327
- /**
328
- * Current Pivot Keys
329
- */
330
- pivotKey: string;
331
- /**
332
- * ID of the Pivot Column - see `PivotLayout.PivotColumns`
333
- */
334
- pivotColumnId: string;
335
- /**
336
- * Aggregation function of the Column - see `PivotLayout.PivotAggregationColumns.AggregationColumnValue`
337
- */
338
- aggregation: string;
339
- } | {
340
- /**
341
- * Pivot Aggregation Total Column - see `PivotLayout.PivotAggregationColumns.TotalColumn`
342
- */
343
- columnType: 'pivotAggregationTotal';
344
- /**
345
- * ID of the Aggregated Column - see `PivotLayout.PivotAggregationColumns`
346
- */
347
- aggregatedColumnId: string;
348
- /**
349
- * Aggregation function of the Column - see `PivotLayout.PivotAggregationColumns.AggregationColumnValue`
350
- */
351
- aggregation: string;
352
- /**
353
- * ID of the Pivot Column - see `PivotLayout.PivotColumns`
354
- */
355
- pivotColumnId: string;
356
- /**
357
- * Current Pivot Keys
358
- */
359
- pivotKey: string;
360
- });
241
+ /**
242
+ * Context provided to columnHeader function custom Headers to be provided for any type of AG Grid Column
243
+ */
244
+ export type ColumnHeaderContext = TableColumnHeaderContext | TableColumnGroupHeaderContext | AutoGroupColumnHeaderContext | RowGroupColumnHeaderContext | PivotColumnGroupHeaderContext | PivotResultColumnHeaderContext | PivotGrandTotalHeaderContext | PivotColumnTotalHeaderContext | PivotAggregationTotalHeaderContext;
361
245
  /**
362
246
  * Context used when setting a Column Friendly Name
363
247
  */
@@ -150,6 +150,7 @@ const DefaultAdaptableOptions = {
150
150
  columnFilterOptions: {
151
151
  indicateFilteredColumns: true,
152
152
  autoApplyColumnFilter: true,
153
+ cacheInFilterValues: true,
153
154
  defaultNumericColumnFilter: 'Equals',
154
155
  defaultTextColumnFilter: 'Contains',
155
156
  defaultDateColumnFilter: 'On',
@@ -187,7 +188,7 @@ const DefaultAdaptableOptions = {
187
188
  },
188
189
  layoutTagOptions: {
189
190
  autoGenerateTagsForLayouts: false,
190
- isObjectAvailableInLayout: undefined,
191
+ isObjectExtendedInLayout: undefined,
191
192
  autoCheckTagsForLayouts: false,
192
193
  },
193
194
  },
@@ -216,7 +217,7 @@ const DefaultAdaptableOptions = {
216
217
  systemFlashingCellPredicates: SystemFlashingCellPredicateIds,
217
218
  systemBadgeStylePredicates: SystemBadgeStylePredicateIds,
218
219
  caseSensitivePredicates: false,
219
- evaluateValuesPredicateUsingTime: true,
220
+ evaluateInPredicateUsingTime: true,
220
221
  },
221
222
  quickSearchOptions: {
222
223
  clearQuickSearchOnStartUp: false,
@@ -54,14 +54,11 @@ export interface CustomEditColumnValuesContext<TData = any> extends AdaptableCol
54
54
  /**
55
55
  * Information about items in the Edit Controls
56
56
  */
57
- export interface CustomEditColumnValueInfo {
58
- /**
59
- * Item's label
60
- */ label?: string;
61
- /**
62
- * Value of Item being shown
63
- */
57
+ export interface EditColumnValueInfo {
64
58
  value: any;
59
+ label?: string;
60
+ }
61
+ export interface CustomEditColumnValueInfo extends EditColumnValueInfo {
65
62
  }
66
63
  /**
67
64
  * Used for Server Validation ie. after an edit in AG Grid which must be checked on Server
@@ -1,5 +1,6 @@
1
1
  import { FilterActionOnDataChange } from '../AdaptableState/Common/FilterActionOnDataChange';
2
2
  import { BaseContext } from '../../types';
3
+ import { AdaptableColumn } from '../AdaptableState/Common/AdaptableColumn';
3
4
  import { SystemAlertPredicateId, SystemFilterPredicateId } from '../../types';
4
5
  import { StrictExtract } from '../Utilities/Extensions/TypeExtensions';
5
6
  import { AdaptableColumnContext } from '../AdaptableState/Common/AdaptableColumnContext';
@@ -78,41 +79,48 @@ export interface ColumnFilterOptions<TData = any> {
78
79
  */
79
80
  indicateFilteredColumns?: boolean;
80
81
  /**
81
- * Apply selected Column Filters as soon as they are clicked; if false an Apply Filter button is displayed
82
+ * Apply Column Filters immediately; if false an Apply Filter button is displayed and Quick Filter is disabled
82
83
  *
83
84
  * @defaultValue true
84
85
  * @gridInfoItem
85
86
  * @noCodeItem
86
87
  */
87
- autoApplyColumnFilter?: boolean;
88
+ autoApplyColumnFilter?: boolean | ((context: AdaptableColumnContext) => boolean);
89
+ /**
90
+ * Whether to cache the values in the IN Filter component
91
+ * @defaultValue true
92
+ * @gridInfoItem
93
+ * @noCodeItem
94
+ */
95
+ cacheInFilterValues?: boolean | ((context: AdaptableColumnContext) => boolean);
88
96
  /**
89
97
  * Default filter type for numeric Columns
90
98
  *
91
99
  * @defaultValue Equals
92
100
  * @gridInfoItem
93
101
  */
94
- defaultNumericColumnFilter?: StrictExtract<SystemFilterPredicateId, 'GreaterThan' | 'LessThan' | 'Equals' | 'NotEquals' | 'In'> | ((adaptableColumnContext: AdaptableColumnContext<TData>) => StrictExtract<SystemFilterPredicateId, 'GreaterThan' | 'LessThan' | 'Equals' | 'NotEquals' | 'In'>);
102
+ defaultNumericColumnFilter?: StrictExtract<SystemFilterPredicateId, 'GreaterThan' | 'LessThan' | 'Equals' | 'NotEquals' | 'In'> | ((adaptableColumnContext: DefaultPredicateFilterContext) => StrictExtract<SystemFilterPredicateId, 'GreaterThan' | 'LessThan' | 'Equals' | 'NotEquals' | 'In'>);
95
103
  /**
96
104
  * Default filter type for text Columns
97
105
  *
98
106
  * @defaultValue Contains
99
107
  * @gridInfoItem
100
108
  */
101
- defaultTextColumnFilter?: StrictExtract<SystemFilterPredicateId, 'Is' | 'IsNot' | 'Contains' | 'NotContains' | 'StartsWith' | 'EndsWith' | 'Regex' | 'In'> | ((adaptableColumnContext: AdaptableColumnContext<TData>) => StrictExtract<SystemFilterPredicateId, 'Is' | 'IsNot' | 'Contains' | 'NotContains' | 'StartsWith' | 'EndsWith' | 'Regex' | 'In'>);
109
+ defaultTextColumnFilter?: StrictExtract<SystemFilterPredicateId, 'Is' | 'IsNot' | 'Contains' | 'NotContains' | 'StartsWith' | 'EndsWith' | 'Regex' | 'In'> | ((adaptableColumnContext: DefaultPredicateFilterContext) => StrictExtract<SystemFilterPredicateId, 'Is' | 'IsNot' | 'Contains' | 'NotContains' | 'StartsWith' | 'EndsWith' | 'Regex' | 'In'>);
102
110
  /**
103
111
  * Default filter type for date Columns
104
112
  *
105
113
  * @defaultValue On
106
114
  * @gridInfoItem
107
115
  */
108
- defaultDateColumnFilter?: StrictExtract<SystemFilterPredicateId, 'After' | 'Before' | 'On' | 'NotOn' | 'In'> | ((adaptableColumnContext: AdaptableColumnContext<TData>) => StrictExtract<SystemFilterPredicateId, 'After' | 'Before' | 'On' | 'NotOn' | 'In'>);
116
+ defaultDateColumnFilter?: StrictExtract<SystemFilterPredicateId, 'After' | 'Before' | 'On' | 'NotOn' | 'In'> | ((adaptableColumnContext: DefaultPredicateFilterContext) => StrictExtract<SystemFilterPredicateId, 'After' | 'Before' | 'On' | 'NotOn' | 'In'>);
109
117
  /**
110
118
  * Default filter type for array Columns ('textArray', 'numberArray', etc.)
111
119
  *
112
120
  * @defaultValue In
113
121
  * @gridInfoItem
114
122
  */
115
- defaultArrayColumnFilter?: StrictExtract<SystemFilterPredicateId, 'In' | 'NotIn' | 'Blanks' | 'NonBlanks'> | ((adaptableColumnContext: AdaptableColumnContext<TData>) => StrictExtract<SystemFilterPredicateId, 'In' | 'NotIn' | 'Blanks' | 'NonBlanks'>);
123
+ defaultArrayColumnFilter?: StrictExtract<SystemFilterPredicateId, 'In' | 'NotIn' | 'Blanks' | 'NonBlanks'> | ((adaptableColumnContext: DefaultPredicateFilterContext) => StrictExtract<SystemFilterPredicateId, 'In' | 'NotIn' | 'Blanks' | 'NonBlanks'>);
116
124
  /**
117
125
  * Hides Dropdown in Quick Filter Bar for a given Column
118
126
  *
@@ -173,32 +181,55 @@ export interface IsRowFilterableContext<TData = any> extends BaseContext {
173
181
  */
174
182
  data: TData;
175
183
  }
184
+ export type AdaptableFilterComponentLocation = 'FilterBar' | 'FilterForm';
176
185
  /**
177
- * Information about items in the IN Column Filter
186
+ * Context used for setting default Predicates for Column Filters
178
187
  */
179
- export interface InFilterValueInfo {
188
+ export interface DefaultPredicateFilterContext<TData = any> extends BaseContext {
180
189
  /**
181
- * The value of the item being shown
190
+ * Filter Component being displayed: FilterBar or FilterForm
182
191
  */
183
- value: any;
192
+ filterComponent: AdaptableFilterComponentLocation;
193
+ /**
194
+ * Current Column
195
+ */
196
+ column: AdaptableColumn<TData>;
197
+ }
198
+ /**
199
+ * Item in the IN Column Filter
200
+ */
201
+ export interface InFilterValue<ValueType = any> {
184
202
  /**
185
203
  * Item's label
186
204
  */
187
- label?: string;
205
+ label: string;
188
206
  /**
189
- * Whether item is currently selected
207
+ * The value of Item being shown
208
+ */
209
+ value: ValueType;
210
+ /**
211
+ * Tooltip for Item (if true, the label is used as tooltip)
212
+ */
213
+ tooltip?: boolean | string;
214
+ }
215
+ /**
216
+ * Information about items in the IN Column Filter
217
+ */
218
+ export interface InFilterValueInfo extends InFilterValue {
219
+ /**
220
+ * Whether Item is currently selected
190
221
  */
191
222
  isSelected?: boolean;
192
223
  /**
193
- * How many times the item appears in the column
224
+ * How many times Item appears in the column
194
225
  */
195
226
  count?: number;
196
227
  /**
197
- * How many times the item appears in the column in filtered rows
228
+ * How many times Item appears in the column in filtered rows
198
229
  */
199
230
  visibleCount?: number;
200
231
  /**
201
- * Whether the item is currently visible in the Grid (i.e. in filtered rows)
232
+ * Whether Item is currently visible in Grid (i.e. in filtered rows)
202
233
  */
203
234
  visible?: boolean;
204
235
  }
@@ -214,6 +245,10 @@ export interface CustomInFilterValuesContext<TData = any> extends AdaptableColum
214
245
  * Default values but Sorted based on Column's sort
215
246
  */
216
247
  sortedValues: Required<InFilterValueInfo>[];
248
+ /**
249
+ * Default values but in the order in which they are currently listed in the grid - (after all the sorting has been applied, or, if no sorting, in their natural order)
250
+ */
251
+ orderedValues: Required<InFilterValueInfo>[];
217
252
  /**
218
253
  * Search text in the IN Filter component - used when filtering on server
219
254
  */
@@ -1,15 +1,6 @@
1
- import { AlertDefinition } from '../AdaptableState/AlertState';
2
- import { CustomSort } from '../AdaptableState/CustomSortState';
3
- import { FlashingCellDefinition } from '../AdaptableState/FlashingCellState';
4
- import { FormatColumn } from '../AdaptableState/FormatColumnState';
5
- import { PlusMinusNudge } from '../AdaptableState/PlusMinusState';
6
- import { Shortcut } from '../AdaptableState/ShortcutState';
7
- import { StyledColumn } from '../AdaptableState/StyledColumnState';
8
- import { BaseSchedule } from '../AdaptableState/Common/Schedule';
9
1
  import { Layout } from '../AdaptableState/LayoutState';
10
- import { AdaptableModule } from '../AdaptableState/Common/Types';
11
2
  import { AdaptableObjectTag } from '../AdaptableState/Common/AdaptableObject';
12
- import { BaseContext } from '../../types';
3
+ import { BaseContext, LayoutExtensionModule, LayoutExtensionObject } from '../../types';
13
4
  /**
14
5
  * Options for configuring Layouts; manage Column visibility, order, sorting, grouping, width etc.
15
6
  */
@@ -38,15 +29,15 @@ export interface LayoutTagOptions {
38
29
  */
39
30
  autoGenerateTagsForLayouts?: boolean | ((context: AutoGenerateTagsForLayoutsContext) => AdaptableObjectTag[]);
40
31
  /**
41
- * Automatically assumes that any `LayoutAssociatedObject` is available in the current Layout if it has a tag with the Layouts name (or no tags at all)
32
+ * Automatically assumes that any `LayoutExtensionObject` is available in the current Layout if it has a tag with the Layouts name (or no tags at all)
42
33
  *
43
34
  * @defaultValue false
44
35
  */
45
36
  autoCheckTagsForLayouts?: boolean;
46
37
  /**
47
- * Checks if provided Adaptable Object is available in given Layout
38
+ * Checks if provided Adaptable Object is extended in given Layout
48
39
  */
49
- isObjectAvailableInLayout?: (layoutAvailableContext: LayoutAvailableContext) => boolean;
40
+ isObjectExtendedInLayout?: (layoutExtendedContext: LayoutExtendedContext) => boolean;
50
41
  }
51
42
  /**
52
43
  * Customize how Layouts are displayed in Settings Panel
@@ -60,26 +51,22 @@ export interface LayoutViewOptions {
60
51
  maxColumnsToDisplay?: number;
61
52
  }
62
53
  /**
63
- * Context for `LayoutOptions.isObjectAvailableInLayout` function
54
+ * Context for `LayoutOptions.isObjectExtendedInLayout` function
64
55
  */
65
- export interface LayoutAvailableContext extends BaseContext {
56
+ export interface LayoutExtendedContext extends BaseContext {
66
57
  /**
67
58
  * Object being checked
68
59
  */
69
- adaptableObject: LayoutAssociatedObject;
60
+ adaptableObject: LayoutExtensionObject;
70
61
  /**
71
62
  * Current Adaptable Module
72
63
  */
73
- module: AdaptableModule;
64
+ module: LayoutExtensionModule;
74
65
  /**
75
66
  * Current Layout
76
67
  */
77
68
  layout: Layout;
78
69
  }
79
- /**
80
- * Types of Adaptable Objects that can be associated with a Layout
81
- */
82
- export type LayoutAssociatedObject = AlertDefinition | CustomSort | FlashingCellDefinition | FormatColumn | PlusMinusNudge | StyledColumn | Shortcut | BaseSchedule;
83
70
  /**
84
71
  * Context for `LayoutOptions.autoGenerateTagsForLayouts` method
85
72
  */
@@ -41,7 +41,7 @@ export interface PredicateOptions {
41
41
  * @defaultValue true
42
42
  * @noCodeItem
43
43
  */
44
- evaluateValuesPredicateUsingTime?: boolean;
44
+ evaluateInPredicateUsingTime?: boolean;
45
45
  }
46
46
  /**
47
47
  * Context used for setting which System Predicates are available
@@ -23,7 +23,7 @@ export interface UserInterfaceOptions<TData = any> {
23
23
  /**
24
24
  * Bespoke icons that can be used in AdapTable (e.g. Badge Styles and Buttons)
25
25
  */
26
- customIcons?: CustomIcon[];
26
+ customIcons?: CustomIcon[] | (() => CustomIcon[]);
27
27
  /**
28
28
  * Options for managing and customizing date inputs in AdapTable
29
29
  */