@adaptabletools/adaptable 20.3.0 → 21.0.0-canary.1

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 (419) hide show
  1. package/agGrid.d.ts +2 -1
  2. package/agGrid.js +2 -1
  3. package/base.css +36 -15
  4. package/base.css.map +1 -1
  5. package/icons/add-circle.svg +1 -0
  6. package/icons/add.svg +1 -0
  7. package/icons/alert.svg +1 -0
  8. package/icons/align-center.svg +1 -0
  9. package/icons/align-justify.svg +1 -0
  10. package/icons/align-left.svg +1 -0
  11. package/icons/align-right.svg +1 -0
  12. package/icons/arrow-down-long.svg +1 -0
  13. package/icons/arrow-down.svg +1 -0
  14. package/icons/arrow-expand.svg +1 -0
  15. package/icons/arrow-left.svg +1 -0
  16. package/icons/arrow-right.svg +1 -0
  17. package/icons/arrow-up-long.svg +1 -0
  18. package/icons/arrow-up.svg +1 -0
  19. package/icons/assignment.svg +1 -0
  20. package/icons/badge.svg +1 -0
  21. package/icons/bold.svg +1 -0
  22. package/icons/boolean-list.svg +1 -0
  23. package/icons/brain.svg +1 -0
  24. package/icons/broadcast.svg +1 -0
  25. package/icons/brush.svg +1 -0
  26. package/icons/building.svg +1 -0
  27. package/icons/calculated-column.svg +1 -0
  28. package/icons/calendar.svg +1 -0
  29. package/icons/call.svg +1 -0
  30. package/icons/case-lower.svg +1 -0
  31. package/icons/case-sentence.svg +1 -0
  32. package/icons/case-upper.svg +1 -0
  33. package/icons/cells.svg +1 -0
  34. package/icons/chart.svg +1 -0
  35. package/icons/chat.svg +1 -0
  36. package/icons/check-circle.svg +1 -0
  37. package/icons/check.svg +1 -0
  38. package/icons/checked.svg +1 -0
  39. package/icons/clipboard.svg +1 -0
  40. package/icons/clone.svg +1 -0
  41. package/icons/close.svg +1 -0
  42. package/icons/cloud-upload.svg +1 -0
  43. package/icons/collapse-all.svg +1 -0
  44. package/icons/collapse.svg +1 -0
  45. package/icons/color-palette.svg +1 -0
  46. package/icons/column-add.svg +1 -0
  47. package/icons/column-outline.svg +1 -0
  48. package/icons/columns.svg +1 -0
  49. package/icons/comment.svg +1 -0
  50. package/icons/comments.svg +1 -0
  51. package/icons/contact.svg +1 -0
  52. package/icons/contains.svg +1 -0
  53. package/icons/copy.svg +1 -0
  54. package/icons/csv.svg +1 -0
  55. package/icons/dashboard.svg +1 -0
  56. package/icons/data-set.svg +1 -0
  57. package/icons/date-range.svg +1 -0
  58. package/icons/delete.svg +1 -0
  59. package/icons/division.svg +1 -0
  60. package/icons/dock.svg +1 -0
  61. package/icons/dollar.svg +1 -0
  62. package/icons/download.svg +1 -0
  63. package/icons/downloaded.svg +1 -0
  64. package/icons/drag.svg +1 -0
  65. package/icons/edit-table.svg +1 -0
  66. package/icons/edit.svg +1 -0
  67. package/icons/ends-with.svg +1 -0
  68. package/icons/equals.svg +1 -0
  69. package/icons/equation.svg +1 -0
  70. package/icons/error.svg +1 -0
  71. package/icons/excel.svg +1 -0
  72. package/icons/expand-all.svg +1 -0
  73. package/icons/expand.svg +1 -0
  74. package/icons/exponent.svg +1 -0
  75. package/icons/export-data.svg +1 -0
  76. package/icons/export.svg +1 -0
  77. package/icons/fast-backward.svg +1 -0
  78. package/icons/fast-forward.svg +1 -0
  79. package/icons/fdc3.svg +1 -0
  80. package/icons/filled-circle.svg +1 -0
  81. package/icons/filter-list.svg +1 -0
  82. package/icons/filter-off.svg +1 -0
  83. package/icons/filter.svg +1 -0
  84. package/icons/flag.svg +1 -0
  85. package/icons/folder-open.svg +1 -0
  86. package/icons/folder-shared.svg +1 -0
  87. package/icons/folder.svg +1 -0
  88. package/icons/function.svg +1 -0
  89. package/icons/gradient.svg +1 -0
  90. package/icons/greater-than-or-equal.svg +1 -0
  91. package/icons/greater-than.svg +1 -0
  92. package/icons/grid-filter.svg +1 -0
  93. package/icons/grid-info.svg +1 -0
  94. package/icons/grid.svg +1 -0
  95. package/icons/history.svg +1 -0
  96. package/icons/home.svg +1 -0
  97. package/icons/horizontal-lines.svg +1 -0
  98. package/icons/import-export.svg +1 -0
  99. package/icons/import.svg +1 -0
  100. package/icons/info.svg +1 -0
  101. package/icons/interactions.svg +1 -0
  102. package/icons/italic.svg +1 -0
  103. package/icons/json.svg +1 -0
  104. package/icons/laptop.svg +1 -0
  105. package/icons/less-than-or-equal.svg +1 -0
  106. package/icons/less-than.svg +1 -0
  107. package/icons/lightning.svg +1 -0
  108. package/icons/link.svg +1 -0
  109. package/icons/list.svg +1 -0
  110. package/icons/logout.svg +1 -0
  111. package/icons/mail.svg +1 -0
  112. package/icons/menu.svg +1 -0
  113. package/icons/minus.svg +1 -0
  114. package/icons/money.svg +1 -0
  115. package/icons/multiplication.svg +1 -0
  116. package/icons/newpage.svg +1 -0
  117. package/icons/news.svg +1 -0
  118. package/icons/not-contains.svg +1 -0
  119. package/icons/not-equal.svg +1 -0
  120. package/icons/note.svg +1 -0
  121. package/icons/open-in-new.svg +1 -0
  122. package/icons/order.svg +1 -0
  123. package/icons/organisation.svg +1 -0
  124. package/icons/overline.svg +1 -0
  125. package/icons/paperclip.svg +1 -0
  126. package/icons/pause.svg +1 -0
  127. package/icons/percent-tag.svg +1 -0
  128. package/icons/percent.svg +1 -0
  129. package/icons/person.svg +1 -0
  130. package/icons/pie-chart.svg +1 -0
  131. package/icons/play.svg +1 -0
  132. package/icons/plus.svg +1 -0
  133. package/icons/quote.svg +1 -0
  134. package/icons/refresh.svg +1 -0
  135. package/icons/regex.svg +1 -0
  136. package/icons/reminder.svg +1 -0
  137. package/icons/resume.svg +1 -0
  138. package/icons/rows.svg +1 -0
  139. package/icons/save.svg +1 -0
  140. package/icons/schedule.svg +1 -0
  141. package/icons/science.svg +1 -0
  142. package/icons/search-table.svg +1 -0
  143. package/icons/search.svg +1 -0
  144. package/icons/select-all.svg +1 -0
  145. package/icons/select-fwd.svg +1 -0
  146. package/icons/select-off.svg +1 -0
  147. package/icons/settings.svg +1 -0
  148. package/icons/sort-asc.svg +1 -0
  149. package/icons/sort-desc.svg +1 -0
  150. package/icons/spanner.svg +1 -0
  151. package/icons/spark-line.svg +1 -0
  152. package/icons/starts-with.svg +1 -0
  153. package/icons/statusbar.svg +1 -0
  154. package/icons/stop.svg +1 -0
  155. package/icons/strikethrough.svg +1 -0
  156. package/icons/styled-grid.svg +1 -0
  157. package/icons/sync.svg +1 -0
  158. package/icons/tab-unselected.svg +1 -0
  159. package/icons/target.svg +1 -0
  160. package/icons/theme.svg +1 -0
  161. package/icons/traffic-lights.svg +1 -0
  162. package/icons/triangle-down.svg +1 -0
  163. package/icons/triangle-up.svg +1 -0
  164. package/icons/unchecked.svg +1 -0
  165. package/icons/underline.svg +1 -0
  166. package/icons/undo.svg +1 -0
  167. package/icons/unfilled-circle.svg +1 -0
  168. package/icons/upload.svg +1 -0
  169. package/icons/visibility-off-bold.svg +1 -0
  170. package/icons/visibility-off.svg +1 -0
  171. package/icons/visibility-on-bold.svg +1 -0
  172. package/icons/visibility-on.svg +1 -0
  173. package/icons/warning.svg +1 -0
  174. package/index.css +32 -15
  175. package/index.css.map +1 -1
  176. package/package.json +2 -2
  177. package/src/AdaptableInterfaces/IAdaptable.d.ts +10 -5
  178. package/src/AdaptableOptions/ColumnOptions.d.ts +38 -38
  179. package/src/AdaptableOptions/DefaultAdaptableOptions.js +3 -2
  180. package/src/AdaptableOptions/EditOptions.d.ts +4 -7
  181. package/src/AdaptableOptions/FilterOptions.d.ts +50 -15
  182. package/src/AdaptableOptions/LayoutOptions.d.ts +40 -22
  183. package/src/AdaptableOptions/PredicateOptions.d.ts +1 -1
  184. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +1 -1
  185. package/src/AdaptableState/Common/AdaptableColumn.d.ts +7 -0
  186. package/src/AdaptableState/Common/AdaptablePredicate.js +2 -2
  187. package/src/AdaptableState/Common/CustomWindowConfig.d.ts +2 -2
  188. package/src/AdaptableState/Common/ExtendedLayout.d.ts +50 -0
  189. package/src/AdaptableState/FormatColumnState.d.ts +8 -1
  190. package/src/AdaptableState/InternalState.d.ts +1 -1
  191. package/src/AdaptableState/LayoutState.d.ts +26 -6
  192. package/src/AdaptableState/Selection/GridCell.d.ts +32 -0
  193. package/src/AdaptableState/StyledColumnState.d.ts +2 -2
  194. package/src/Api/AlertApi.d.ts +5 -11
  195. package/src/Api/ColumnApi.d.ts +17 -1
  196. package/src/Api/ColumnFilterApi.d.ts +32 -2
  197. package/src/Api/CustomSortApi.d.ts +5 -10
  198. package/src/Api/FlashingCellApi.d.ts +10 -6
  199. package/src/Api/FormatColumnApi.d.ts +8 -18
  200. package/src/Api/Implementation/AlertApiImpl.d.ts +6 -9
  201. package/src/Api/Implementation/AlertApiImpl.js +7 -6
  202. package/src/Api/Implementation/ApiBase.d.ts +2 -12
  203. package/src/Api/Implementation/ApiBase.js +5 -5
  204. package/src/Api/Implementation/ColumnApiImpl.d.ts +5 -2
  205. package/src/Api/Implementation/ColumnApiImpl.js +59 -23
  206. package/src/Api/Implementation/ColumnFilterApiImpl.d.ts +7 -1
  207. package/src/Api/Implementation/ColumnFilterApiImpl.js +76 -3
  208. package/src/Api/Implementation/ColumnScopeApiImpl.js +10 -2
  209. package/src/Api/Implementation/CustomSortApiImpl.d.ts +5 -10
  210. package/src/Api/Implementation/CustomSortApiImpl.js +6 -4
  211. package/src/Api/Implementation/FlashingCellApiImpl.d.ts +7 -6
  212. package/src/Api/Implementation/FlashingCellApiImpl.js +11 -8
  213. package/src/Api/Implementation/FormatColumnApiImpl.d.ts +8 -18
  214. package/src/Api/Implementation/FormatColumnApiImpl.js +10 -9
  215. package/src/Api/Implementation/LayoutApiImpl.d.ts +3 -2
  216. package/src/Api/Implementation/LayoutApiImpl.js +107 -13
  217. package/src/Api/Implementation/LayoutHelpers.d.ts +1 -0
  218. package/src/Api/Implementation/LayoutHelpers.js +23 -4
  219. package/src/Api/Implementation/PlusMinusApiImpl.d.ts +7 -5
  220. package/src/Api/Implementation/PlusMinusApiImpl.js +10 -7
  221. package/src/Api/Implementation/ScheduleApiImpl.d.ts +9 -16
  222. package/src/Api/Implementation/ScheduleApiImpl.js +15 -17
  223. package/src/Api/Implementation/ShortcutApiImpl.d.ts +5 -6
  224. package/src/Api/Implementation/ShortcutApiImpl.js +7 -8
  225. package/src/Api/Implementation/StyledColumnApiImpl.d.ts +7 -8
  226. package/src/Api/Implementation/StyledColumnApiImpl.js +12 -9
  227. package/src/Api/Implementation/TeamSharingApiImpl.js +1 -4
  228. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +2 -1
  229. package/src/Api/Implementation/UserInterfaceApiImpl.js +10 -9
  230. package/src/Api/Internal/AdaptableInternalApi.d.ts +2 -0
  231. package/src/Api/Internal/AdaptableInternalApi.js +3 -0
  232. package/src/Api/Internal/AlertInternalApi.d.ts +6 -6
  233. package/src/Api/Internal/AlertInternalApi.js +10 -10
  234. package/src/Api/Internal/ColumnFilterInternalApi.d.ts +13 -0
  235. package/src/Api/Internal/ColumnFilterInternalApi.js +93 -1
  236. package/src/Api/Internal/ColumnInternalApi.d.ts +2 -1
  237. package/src/Api/Internal/ColumnInternalApi.js +4 -0
  238. package/src/Api/Internal/DashboardInternalApi.js +1 -1
  239. package/src/Api/Internal/EntitlementInternalApi.d.ts +1 -0
  240. package/src/Api/Internal/EntitlementInternalApi.js +8 -0
  241. package/src/Api/Internal/ExportInternalApi.js +1 -1
  242. package/src/Api/Internal/FlashingCellInternalApi.js +1 -1
  243. package/src/Api/Internal/FormatColumnInternalApi.d.ts +8 -11
  244. package/src/Api/Internal/FormatColumnInternalApi.js +13 -13
  245. package/src/Api/Internal/GridInternalApi.d.ts +7 -10
  246. package/src/Api/Internal/GridInternalApi.js +76 -27
  247. package/src/Api/Internal/LayoutInternalApi.d.ts +10 -5
  248. package/src/Api/Internal/LayoutInternalApi.js +86 -6
  249. package/src/Api/Internal/PredicateInternalApi.d.ts +2 -6
  250. package/src/Api/Internal/PredicateInternalApi.js +4 -6
  251. package/src/Api/Internal/UserInterfaceInternalApi.d.ts +1 -0
  252. package/src/Api/Internal/UserInterfaceInternalApi.js +10 -3
  253. package/src/Api/LayoutApi.d.ts +7 -2
  254. package/src/Api/PlusMinusApi.d.ts +11 -7
  255. package/src/Api/ScheduleApi.d.ts +9 -16
  256. package/src/Api/ShortcutApi.d.ts +5 -6
  257. package/src/Api/StyledColumnApi.d.ts +10 -7
  258. package/src/Api/UserInterfaceApi.d.ts +5 -6
  259. package/src/Redux/ActionsReducers/InternalRedux.d.ts +4 -4
  260. package/src/Redux/ActionsReducers/InternalRedux.js +7 -7
  261. package/src/Redux/ActionsReducers/StyledColumnRedux.d.ts +7 -0
  262. package/src/Redux/ActionsReducers/StyledColumnRedux.js +13 -0
  263. package/src/Redux/Store/AdaptableStore.js +10 -10
  264. package/src/Strategy/AdaptableModuleBase.d.ts +14 -4
  265. package/src/Strategy/AdaptableModuleBase.js +46 -9
  266. package/src/Strategy/AlertModule.d.ts +3 -4
  267. package/src/Strategy/AlertModule.js +7 -4
  268. package/src/Strategy/CalculatedColumnModule.js +2 -2
  269. package/src/Strategy/CellSummaryModule.js +2 -2
  270. package/src/Strategy/ChartingModule.d.ts +3 -1
  271. package/src/Strategy/ChartingModule.js +9 -3
  272. package/src/Strategy/ColumnFilterModule.d.ts +1 -1
  273. package/src/Strategy/ColumnFilterModule.js +31 -15
  274. package/src/Strategy/ColumnInfoModule.js +2 -2
  275. package/src/Strategy/CommentModule.d.ts +1 -1
  276. package/src/Strategy/CommentModule.js +3 -3
  277. package/src/Strategy/CustomSortModule.d.ts +3 -4
  278. package/src/Strategy/CustomSortModule.js +2 -2
  279. package/src/Strategy/DashboardModule.js +1 -1
  280. package/src/Strategy/DataChangeHistoryModule.d.ts +2 -1
  281. package/src/Strategy/DataChangeHistoryModule.js +3 -10
  282. package/src/Strategy/DataImportModule.js +3 -3
  283. package/src/Strategy/ExportModule.js +1 -1
  284. package/src/Strategy/Fdc3Module.js +1 -1
  285. package/src/Strategy/FlashingCellModule.d.ts +3 -5
  286. package/src/Strategy/FlashingCellModule.js +3 -3
  287. package/src/Strategy/FormatColumnModule.d.ts +3 -4
  288. package/src/Strategy/FormatColumnModule.js +2 -2
  289. package/src/Strategy/FreeTextColumnModule.d.ts +1 -1
  290. package/src/Strategy/FreeTextColumnModule.js +2 -2
  291. package/src/Strategy/GridInfoModule.js +2 -2
  292. package/src/Strategy/Interface/IModule.d.ts +7 -3
  293. package/src/Strategy/LayoutModule.js +11 -11
  294. package/src/Strategy/NoteModule.d.ts +1 -1
  295. package/src/Strategy/NoteModule.js +3 -3
  296. package/src/Strategy/PlusMinusModule.d.ts +3 -4
  297. package/src/Strategy/PlusMinusModule.js +2 -2
  298. package/src/Strategy/QuickSearchModule.d.ts +2 -0
  299. package/src/Strategy/QuickSearchModule.js +9 -0
  300. package/src/Strategy/ScheduleModule.d.ts +3 -4
  301. package/src/Strategy/ScheduleModule.js +2 -2
  302. package/src/Strategy/SettingsPanelModule.js +1 -1
  303. package/src/Strategy/ShortcutModule.d.ts +3 -4
  304. package/src/Strategy/ShortcutModule.js +2 -2
  305. package/src/Strategy/StatusBarModule.d.ts +3 -2
  306. package/src/Strategy/StatusBarModule.js +6 -3
  307. package/src/Strategy/StyledColumnModule.d.ts +3 -4
  308. package/src/Strategy/StyledColumnModule.js +2 -2
  309. package/src/Strategy/SystemStatusModule.js +2 -2
  310. package/src/Strategy/TeamSharingModule.d.ts +1 -1
  311. package/src/Strategy/TeamSharingModule.js +5 -2
  312. package/src/Strategy/ToolPanelModule.d.ts +1 -1
  313. package/src/Strategy/ToolPanelModule.js +1 -4
  314. package/src/Strategy/Utilities/Layout/getLayoutFilterViewItems.js +1 -1
  315. package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +1 -0
  316. package/src/Utilities/Constants/DocumentationLinkConstants.js +1 -0
  317. package/src/Utilities/Extensions/ArrayExtensions.d.ts +15 -2
  318. package/src/Utilities/Extensions/ArrayExtensions.js +62 -13
  319. package/src/Utilities/Helpers/AdaptableHelper.d.ts +1 -0
  320. package/src/Utilities/Helpers/AdaptableHelper.js +1 -0
  321. package/src/Utilities/ObjectFactory.d.ts +7 -3
  322. package/src/Utilities/ObjectFactory.js +26 -18
  323. package/src/Utilities/Services/AnnotationsService.js +1 -1
  324. package/src/Utilities/Services/Interface/IModuleService.d.ts +2 -1
  325. package/src/Utilities/Services/ModuleService.d.ts +3 -3
  326. package/src/Utilities/Services/ModuleService.js +19 -7
  327. package/src/View/AdaptableView.js +3 -1
  328. package/src/View/ColumnInfo/ColumnInfo.js +9 -3
  329. package/src/View/Components/AdaptableIconSelector/index.js +2 -3
  330. package/src/View/Components/ColumnFilter/AdaptableColumnFilter.d.ts +0 -1
  331. package/src/View/Components/ColumnFilter/AdaptableColumnFilter.js +2 -3
  332. package/src/View/Components/ColumnFilter/AdaptableFloatingFilter.d.ts +0 -2
  333. package/src/View/Components/ColumnFilter/AdaptableFloatingFilter.js +4 -7
  334. package/src/View/Components/ColumnFilter/ColumnFilter.js +11 -4
  335. package/src/View/Components/ColumnFilter/ColumnFilterWindow.js +1 -1
  336. package/src/View/Components/ColumnFilter/FloatingFilter.js +1 -2
  337. package/src/View/Components/ColumnFilter/LayoutColumnFilter.js +1 -1
  338. package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +2 -2
  339. package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +2 -2
  340. package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.d.ts +1 -1
  341. package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.js +2 -2
  342. package/src/View/Components/ColumnFilter/utils.d.ts +2 -2
  343. package/src/View/Components/ColumnFilter/utils.js +6 -1
  344. package/src/View/Components/EntityRulesEditor/index.js +1 -2
  345. package/src/View/Components/FilterForm/ListBoxFilterForm.js +1 -1
  346. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +6 -6
  347. package/src/View/Components/PredicateEditor/PredicateEditor.js +1 -2
  348. package/src/View/Components/Selectors/BulkUpdateValueSelector.js +1 -1
  349. package/src/View/Components/Selectors/ColumnSelector.js +1 -1
  350. package/src/View/Components/Selectors/FieldSelector.js +1 -1
  351. package/src/View/Components/Selectors/PermittedValuesSelector.d.ts +1 -0
  352. package/src/View/Components/Selectors/PermittedValuesSelector.js +2 -2
  353. package/src/View/Dashboard/Dashboard.js +2 -2
  354. package/src/View/Dashboard/DashboardPopup.js +3 -1
  355. package/src/View/Dashboard/PinnedDashboard.js +1 -1
  356. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +9 -21
  357. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +58 -21
  358. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +11 -11
  359. package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.js +1 -1
  360. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +1 -1
  361. package/src/View/Layout/TransposedPopup.js +2 -2
  362. package/src/View/Layout/Wizard/LayoutWizard.js +5 -7
  363. package/src/View/Layout/Wizard/sections/ColumnsSection.js +64 -9
  364. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +5 -5
  365. package/src/View/StatusBar/AdaptableStatusBar.js +1 -4
  366. package/src/View/StatusBar/StatusBarPopup.js +1 -1
  367. package/src/View/Theme/ThemeSelector.js +1 -1
  368. package/src/agGrid/AdaptableAgGrid.d.ts +11 -7
  369. package/src/agGrid/AdaptableAgGrid.js +251 -216
  370. package/src/agGrid/AdaptableFilterHandler.d.ts +18 -0
  371. package/src/agGrid/AdaptableFilterHandler.js +61 -0
  372. package/src/agGrid/AgGridAdapter.d.ts +3 -7
  373. package/src/agGrid/AgGridAdapter.js +13 -46
  374. package/src/agGrid/AgGridColumnAdapter.d.ts +2 -2
  375. package/src/agGrid/AgGridColumnAdapter.js +81 -36
  376. package/src/agGrid/AgGridFilterAdapter.d.ts +2 -0
  377. package/src/agGrid/AgGridFilterAdapter.js +48 -0
  378. package/src/agGrid/AgGridFloatingFilterAdapter.d.ts +2 -0
  379. package/src/agGrid/{FloatingFilterWrapper.js → AgGridFloatingFilterAdapter.js} +24 -35
  380. package/src/agGrid/AgGridModulesAdapter.d.ts +15 -0
  381. package/src/agGrid/AgGridModulesAdapter.js +66 -0
  382. package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.js +1 -1
  383. package/src/agGrid/editors/AdaptablePercentageEditor/InternalAdaptablePercentageEditor.js +1 -1
  384. package/src/components/Dialog/index.js +1 -1
  385. package/src/components/Dropdown/Arrows.js +2 -2
  386. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.d.ts +1 -1
  387. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +2 -2
  388. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +2 -2
  389. package/src/components/FileDroppable/index.js +1 -1
  390. package/src/components/IconSelector/IconSelector.d.ts +2 -2
  391. package/src/components/OverlayTrigger/index.js +1 -1
  392. package/src/components/Select/Select.d.ts +1 -1
  393. package/src/components/Select/Select.js +116 -24
  394. package/src/components/icons/DefaultIcon.d.ts +0 -1
  395. package/src/components/icons/DefaultIcon.js +0 -6
  396. package/src/env.js +2 -2
  397. package/src/layout-manager/src/LayoutManagerModel.d.ts +6 -10
  398. package/src/layout-manager/src/index.d.ts +11 -3
  399. package/src/layout-manager/src/index.js +302 -87
  400. package/src/layout-manager/src/normalizeLayoutModel.js +7 -4
  401. package/src/layout-manager/src/simplifyLayoutModel.js +4 -4
  402. package/src/metamodel/adaptable.metamodel.d.ts +103 -40
  403. package/src/metamodel/adaptable.metamodel.js +1 -1
  404. package/src/migration/AdaptableUpgradeHelper.js +2 -0
  405. package/src/migration/VersionUpgrade17.js +1 -1
  406. package/src/migration/VersionUpgrade20.js +1 -0
  407. package/src/migration/VersionUpgrade21.d.ts +6 -0
  408. package/src/migration/VersionUpgrade21.js +24 -0
  409. package/src/types.d.ts +7 -8
  410. package/tsconfig.esm.tsbuildinfo +1 -1
  411. package/src/AdaptableState/Common/ExtendedLayoutInfo.d.ts +0 -27
  412. package/src/agGrid/FilterWrapper.d.ts +0 -2
  413. package/src/agGrid/FilterWrapper.js +0 -131
  414. package/src/agGrid/FloatingFilterWrapper.d.ts +0 -2
  415. package/src/agGrid/agGridModules.d.ts +0 -3
  416. package/src/agGrid/agGridModules.js +0 -15
  417. package/src/agGrid/getAgGridFilterNotifyModelFn.d.ts +0 -2
  418. package/src/agGrid/getAgGridFilterNotifyModelFn.js +0 -16
  419. /package/src/AdaptableState/Common/{ExtendedLayoutInfo.js → ExtendedLayout.js} +0 -0
@@ -107,22 +107,23 @@ export class ColumnApiImpl extends ApiBase {
107
107
  getColumns() {
108
108
  return this.getGridApi().getInternalState().Columns ?? [];
109
109
  }
110
+ getUIAvailableColumns() {
111
+ return this.getColumns().filter((c) => !c.alwaysHidden &&
112
+ !c.isGeneratedSelectionColumn &&
113
+ // currently (20.0.7) we don't display Pivot Totals in UI
114
+ !c.isPivotTotalColumn);
115
+ }
110
116
  getSpecialColumns() {
111
- const cols = this.getColumns()?.filter((c) => this.internalApi.isSpecialColumn(c.columnId, c));
117
+ const cols = this.getUIAvailableColumns()?.filter((c) => this.internalApi.isSpecialColumn(c.columnId, c));
112
118
  return cols ?? [];
113
119
  }
114
120
  getNonSpecialColumns() {
115
- const cols = this.getColumns()?.filter((c) => !this.internalApi.isSpecialColumn(c.columnId, c));
121
+ const cols = this.getUIAvailableColumns()?.filter((c) => !this.internalApi.isSpecialColumn(c.columnId, c));
116
122
  return cols ?? [];
117
123
  }
118
- getUIAvailableColumns() {
119
- return this.getColumns().filter((c) => !c.alwaysHidden &&
120
- // currently (20.0.7) we don't display Pivot Totals in UI
121
- !c.isPivotTotalColumn);
122
- }
123
124
  getVisibleColumns() {
124
125
  const layout = this.getLayoutApi().getCurrentLayout();
125
- const allcols = this.getColumns();
126
+ const allcols = this.getUIAvailableColumns();
126
127
  if (isPivotLayout(layout)) {
127
128
  return allcols;
128
129
  }
@@ -179,6 +180,12 @@ export class ColumnApiImpl extends ApiBase {
179
180
  isAutoRowGroupColumnForMulti(columnId) {
180
181
  return columnId.startsWith(AUTO_GROUP_COLUMN_ID__MULTI_PREFIX);
181
182
  }
183
+ isSpecialColumn(columnId) {
184
+ return (this.isCalculatedColumn(columnId) ||
185
+ this.isFreeTextColumn(columnId) ||
186
+ this.isActionColumn(columnId) ||
187
+ this.isFdc3Column(columnId));
188
+ }
182
189
  isCalculatedColumn(columnId) {
183
190
  return (this.getCalculatedColumnApi()
184
191
  .getCalculatedColumns()
@@ -252,7 +259,7 @@ export class ColumnApiImpl extends ApiBase {
252
259
  if (!column) {
253
260
  return false;
254
261
  }
255
- return column?.dataType === 'date' || column?.dataType === 'dateString';
262
+ return this.internalApi.getColumnDateTypes().includes(column?.dataType);
256
263
  }
257
264
  getColumnDataTypeForColumnId(columnId) {
258
265
  const column = this.getColumnWithColumnId(columnId);
@@ -380,11 +387,11 @@ export class ColumnApiImpl extends ApiBase {
380
387
  case 'tupleArray':
381
388
  return this.getTupleNumberArrayColumns();
382
389
  default:
383
- return this.getColumns();
390
+ return this.getUIAvailableColumns();
384
391
  }
385
392
  }
386
393
  getNumericColumns() {
387
- return this.getColumns().filter((c) => c.dataType === 'number');
394
+ return this.getUIAvailableColumns().filter((c) => c.dataType === 'number');
388
395
  }
389
396
  getNumericArrayColumns() {
390
397
  return this.getNumberArrayColumns()
@@ -392,28 +399,28 @@ export class ColumnApiImpl extends ApiBase {
392
399
  .concat(this.getObjectNumberArrayColumns());
393
400
  }
394
401
  getNumberArrayColumns() {
395
- return this.getColumns().filter((c) => c.dataType === 'numberArray');
402
+ return this.getUIAvailableColumns().filter((c) => c.dataType === 'numberArray');
396
403
  }
397
404
  getTupleNumberArrayColumns() {
398
- return this.getColumns().filter((c) => c.dataType === 'tupleArray');
405
+ return this.getUIAvailableColumns().filter((c) => c.dataType === 'tupleArray');
399
406
  }
400
407
  getObjectNumberArrayColumns() {
401
- return this.getColumns().filter((c) => c.dataType === 'objectArray');
408
+ return this.getUIAvailableColumns().filter((c) => c.dataType === 'objectArray');
402
409
  }
403
410
  getTextColumns() {
404
- return this.getColumns().filter((c) => c.dataType === 'text');
411
+ return this.getUIAvailableColumns().filter((c) => c.dataType === 'text');
405
412
  }
406
413
  getTextArrayColumns() {
407
- return this.getColumns().filter((c) => c.dataType === 'textArray');
414
+ return this.getUIAvailableColumns().filter((c) => c.dataType === 'textArray');
408
415
  }
409
416
  getDateColumns() {
410
- return this.getColumns().filter((c) => c.dataType === 'date' || c.dataType === 'dateString');
417
+ return this.getUIAvailableColumns().filter((c) => c.dataType === 'date' || c.dataType === 'dateString');
411
418
  }
412
419
  getBooleanColumns() {
413
- return this.getColumns().filter((c) => c.dataType === 'boolean');
420
+ return this.getUIAvailableColumns().filter((c) => c.dataType === 'boolean');
414
421
  }
415
422
  getArrayColumns() {
416
- return this.getColumns().filter((c) => c.dataType === 'numberArray' ||
423
+ return this.getUIAvailableColumns().filter((c) => c.dataType === 'numberArray' ||
417
424
  c.dataType === 'tupleArray' ||
418
425
  c.dataType === 'objectArray' ||
419
426
  c.dataType === 'textArray');
@@ -444,10 +451,7 @@ export class ColumnApiImpl extends ApiBase {
444
451
  }
445
452
  logMissingColumnWarning(columnId) {
446
453
  if (this.getColumnOptions().showMissingColumnsWarning === true) {
447
- if (!this.isAutoRowGroupColumn(columnId) &&
448
- !this.isCalculatedColumn(columnId) &&
449
- !this.isFreeTextColumn(columnId) &&
450
- !this.isActionColumn(columnId)) {
454
+ if (!this.isAutoRowGroupColumn(columnId) && !this.isSpecialColumn(columnId)) {
451
455
  this.logWarn(`No column found named '${columnId}'`);
452
456
  }
453
457
  }
@@ -517,4 +521,36 @@ export class ColumnApiImpl extends ApiBase {
517
521
  return colDef.type === columnType;
518
522
  }
519
523
  }
524
+ getColumnSummaryForColumnId(columnId) {
525
+ const column = this.getColumnWithColumnId(columnId);
526
+ if (!column) {
527
+ return undefined;
528
+ }
529
+ const gridCellsWithCount = this._adaptable.getDistinctGridCellsForColumn(column);
530
+ const columnFilter = this.getColumnFilterApi().getColumnFilterForColumn(column.columnId);
531
+ const uniqueGridCells = gridCellsWithCount.map((gcWithCount) => {
532
+ return {
533
+ rawValue: gcWithCount.rawValue,
534
+ normalisedValue: gcWithCount.normalisedValue,
535
+ displayValue: gcWithCount.displayValue,
536
+ visible: gcWithCount.visible,
537
+ count: gcWithCount.count,
538
+ visibleCount: gcWithCount.visibleCount,
539
+ };
540
+ });
541
+ return {
542
+ column,
543
+ columnFilter,
544
+ uniqueGridCells,
545
+ };
546
+ }
547
+ isAgGridGeneratedColumn(columnId) {
548
+ const column = this.getColumnWithColumnId(columnId);
549
+ if (!column) {
550
+ return true;
551
+ }
552
+ return (column.isGeneratedRowGroupColumn ||
553
+ column.isGeneratedSelectionColumn ||
554
+ column.isGeneratedPivotResultColumn);
555
+ }
520
556
  }
@@ -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
  }
@@ -3,12 +3,16 @@ import * as LayoutRedux from '../../Redux/ActionsReducers/LayoutRedux';
3
3
  import { ApiBase } from './ApiBase';
4
4
  import ArrayExtensions from '../../Utilities/Extensions/ArrayExtensions';
5
5
  import { ColumnFilterInternalApi } from '../Internal/ColumnFilterInternalApi';
6
+ import StringExtensions from '../../Utilities/Extensions/StringExtensions';
6
7
  export class ColumnFilterApiImpl extends ApiBase {
7
8
  constructor(_adaptable) {
8
9
  super(_adaptable);
9
10
  this.internalApi = new ColumnFilterInternalApi(_adaptable);
10
11
  }
11
12
  getFilterPredicateDefsForColumn(column) {
13
+ if (!column) {
14
+ return [];
15
+ }
12
16
  const scope = {
13
17
  ColumnIds: [column.columnId],
14
18
  };
@@ -90,7 +94,7 @@ export class ColumnFilterApiImpl extends ApiBase {
90
94
  });
91
95
  }
92
96
  getColumnFilterForColumn(columnId) {
93
- return this.getColumnFilters().find((columnFilter) => columnFilter.ColumnId == columnId);
97
+ return this.getColumnFilters().find((columnFilter) => columnFilter.ColumnId === columnId);
94
98
  }
95
99
  clearColumnFilterForColumn(columnId) {
96
100
  let columnFilterForColumn = this.getColumnFilterForColumn(columnId);
@@ -144,8 +148,8 @@ export class ColumnFilterApiImpl extends ApiBase {
144
148
  return filter.Predicates.some((predicate) => {
145
149
  const predicateDef = this.getPredicateApi().getPredicateDefById(predicate.PredicateId);
146
150
  if (ArrayExtensions.IsNull(predicateDef.inputs) &&
147
- // values predicates have no inputs in the definition
148
- !this.getPredicateApi().internalApi.hasPredicateValues(predicate)) {
151
+ // In and NotIn predicates ave no inputs in the definition
152
+ !this.getPredicateApi().internalApi.IsInOrNotInPredicate(predicate)) {
149
153
  return true;
150
154
  }
151
155
  const inputs = predicate.Inputs || [];
@@ -166,6 +170,13 @@ export class ColumnFilterApiImpl extends ApiBase {
166
170
  };
167
171
  this.setColumnFilters([columnFilter]);
168
172
  }
173
+ clearAndSetColumnFilterForColumn(columnId, columnFilterPredicate) {
174
+ const columnFilter = {
175
+ ColumnId: columnId,
176
+ Predicates: [columnFilterPredicate],
177
+ };
178
+ this.setColumnFilters([columnFilter]);
179
+ }
169
180
  suspendColumnFilter(columnFilter) {
170
181
  this.dispatchAction(LayoutRedux.LayoutColumnFilterSuspend(columnFilter));
171
182
  }
@@ -178,4 +189,66 @@ export class ColumnFilterApiImpl extends ApiBase {
178
189
  unSuspendAllColumnFilters() {
179
190
  this.dispatchAction(LayoutRedux.LayoutColumnFilterUnSuspendAll());
180
191
  }
192
+ addBlanksToInFilterValues(columnDistinctValues) {
193
+ if (columnDistinctValues.some((item) => StringExtensions.IsNullOrEmpty(item.value))) {
194
+ return [
195
+ {
196
+ label: 'Blanks',
197
+ value: 'Blanks',
198
+ },
199
+ ...columnDistinctValues,
200
+ ];
201
+ }
202
+ return columnDistinctValues;
203
+ }
204
+ async refreshFilterValues(columnId) {
205
+ const columnFilterHandler = this.getAgGridApi().getColumnFilterHandler(columnId);
206
+ if (!columnFilterHandler ||
207
+ typeof columnFilterHandler.resetFilterDisplayValues !== 'function') {
208
+ this.logWarn(`No filter handler found for column: ${columnId}`);
209
+ return;
210
+ }
211
+ this.logInfo(`Refreshing filter values for column: ${columnId}`);
212
+ return columnFilterHandler.refreshFilterDisplayValues();
213
+ }
214
+ async refreshAllFilterValues() {
215
+ const allFilterHandlers = this.internalApi.getAllAdaptableFilterHandlers();
216
+ const handlerPromises = allFilterHandlers.map(async (handler) => {
217
+ let values = [];
218
+ if (typeof handler.refreshFilterDisplayValues === 'function') {
219
+ values = await handler.refreshFilterDisplayValues();
220
+ }
221
+ else {
222
+ this.logWarn(`No refresh function for filter handler: ${handler.colId}`);
223
+ values = [];
224
+ }
225
+ return { columnId: handler.colId, values };
226
+ });
227
+ return Promise.all(handlerPromises).then((results) => {
228
+ return results.reduce((acc, { columnId, values }) => {
229
+ acc[columnId] = values;
230
+ return acc;
231
+ }, {});
232
+ });
233
+ }
234
+ resetFilterValues(columnId) {
235
+ const columnFilterHandler = this.getAgGridApi().getColumnFilterHandler(columnId);
236
+ if (!columnFilterHandler ||
237
+ typeof columnFilterHandler.resetFilterDisplayValues !== 'function') {
238
+ this.logWarn(`No filter handler found for column: ${columnId}`);
239
+ return;
240
+ }
241
+ columnFilterHandler.resetFilterDisplayValues();
242
+ }
243
+ resetAllFilterValues() {
244
+ const allFilterHandlers = this.internalApi.getAllAdaptableFilterHandlers();
245
+ allFilterHandlers.forEach((handler) => {
246
+ if (typeof handler.resetFilterDisplayValues === 'function') {
247
+ handler.resetFilterDisplayValues();
248
+ }
249
+ else {
250
+ this.logWarn(`No reset function for filter handler: ${handler.colId}`);
251
+ }
252
+ });
253
+ }
181
254
  }
@@ -10,8 +10,16 @@ export class ColumnScopeApiImpl extends ApiBase {
10
10
  // do we need a true check here?
11
11
  return true;
12
12
  }
13
- if ('DataTypes' in scope && scope.DataTypes.includes(column.dataType)) {
14
- return true;
13
+ if ('DataTypes' in scope) {
14
+ if (scope.DataTypes.includes(column.dataType)) {
15
+ return true;
16
+ }
17
+ if (scope.DataTypes.includes('date')) {
18
+ const agDateTypes = this.getColumnApi().internalApi.getColumnDateTypes();
19
+ if (agDateTypes.includes(column.dataType)) {
20
+ return true;
21
+ }
22
+ }
15
23
  }
16
24
  if ('ColumnTypes' in scope &&
17
25
  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;
@@ -11,10 +11,10 @@ export class CustomSortApiImpl extends ApiBase {
11
11
  return this.getAdaptableState().CustomSort;
12
12
  }
13
13
  getCustomSorts(config) {
14
- return (this.handleLayoutAssociatedObjects(this.getCustomSortState().CustomSorts, 'CustomSort', config) ?? []);
14
+ return (this.handleLayoutExtensionObjects(this.getCustomSortState().CustomSorts, 'CustomSort', config) ?? []);
15
15
  }
16
- getCustomSortById(id) {
17
- return this.getCustomSorts().find((customSort) => customSort.Uuid === id);
16
+ getCustomSortById(id, config) {
17
+ return this.getCustomSorts(config).find((customSort) => customSort.Uuid === id);
18
18
  }
19
19
  getLiveCustomSorts() {
20
20
  let returnVals = [];
@@ -88,7 +88,9 @@ export class CustomSortApiImpl extends ApiBase {
88
88
  }
89
89
  deleteCustomSort(column) {
90
90
  let customSort = this.getCustomSortForColumn(column);
91
- this.dispatchAction(CustomSortRedux.CustomSortDelete(customSort));
91
+ if (customSort) {
92
+ this.dispatchAction(CustomSortRedux.CustomSortDelete(customSort));
93
+ }
92
94
  }
93
95
  suspendCustomSort(customSort) {
94
96
  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;
@@ -10,19 +10,19 @@ export class FlashingCellApiImpl extends ApiBase {
10
10
  return this.getAdaptableState().FlashingCell;
11
11
  }
12
12
  getFlashingCellDefinitions(config) {
13
- const flashingCellDefinitions = this.handleLayoutAssociatedObjects(this.getFlashingCellState().FlashingCellDefinitions, 'FlashingCell', config) ?? [];
13
+ const flashingCellDefinitions = this.handleLayoutExtensionObjects(this.getFlashingCellState().FlashingCellDefinitions, 'FlashingCell', config) ?? [];
14
14
  return flashingCellDefinitions.map((flashingCellDefinition) => {
15
15
  return this.internalApi.mergeFlashingCellDefinitionWithDefaults(flashingCellDefinition);
16
16
  });
17
17
  }
18
- getFlashingCellDefinitionById(id) {
19
- return this.getFlashingCellDefinitions()?.find((fc) => fc?.Uuid === id);
18
+ getFlashingCellDefinitionById(id, config) {
19
+ return this.getFlashingCellDefinitions(config)?.find((fc) => fc?.Uuid === id);
20
20
  }
21
- getActiveFlashingCellDefinitions() {
22
- return this.getFlashingCellDefinitions().filter((fc) => !fc.IsSuspended);
21
+ getActiveFlashingCellDefinitions(config) {
22
+ return this.getFlashingCellDefinitions(config).filter((fc) => !fc.IsSuspended);
23
23
  }
24
- getSuspendedFlashingCellDefinitions() {
25
- return this.getFlashingCellDefinitions().filter((fc) => fc.IsSuspended);
24
+ getSuspendedFlashingCellDefinitions(config) {
25
+ return this.getFlashingCellDefinitions(config).filter((fc) => fc.IsSuspended);
26
26
  }
27
27
  getFlashingCellFlashTarget(flashingCellDefinition) {
28
28
  return flashingCellDefinition.FlashTarget ?? 'cell';
@@ -79,6 +79,9 @@ export class FlashingCellApiImpl extends ApiBase {
79
79
  });
80
80
  return flashingCellDefinitions?.map((flashingCell) => this.getFlashingCellDefinitionById(flashingCell?.Uuid));
81
81
  }
82
+ deleteFlashingCellDefinition(flashingCellDefinition) {
83
+ this.dispatchAction(FlashingCellRedux.FlashingCellDefinitionDelete(flashingCellDefinition));
84
+ }
82
85
  getFlashingCellPredicateDefsForScope(scope) {
83
86
  return this.getAdaptableApi()
84
87
  .predicateApi.internalApi.getFlashingCellPredicateDefs(scope)
@@ -92,7 +95,7 @@ export class FlashingCellApiImpl extends ApiBase {
92
95
  }
93
96
  findFlashingCellDefinitions(criteria) {
94
97
  return this.getAdaptableInternalApi().findAdaptableObjectsByLookupCriteria(criteria, this.getFlashingCellDefinitions({
95
- includeLayoutNotAssociatedObjects: true,
98
+ includeLayoutNotExtendedObjects: true,
96
99
  }));
97
100
  }
98
101
  }
@@ -4,24 +4,18 @@ import { FormatColumnApi } from '../FormatColumnApi';
4
4
  import { FormatColumn, FormatColumnState } from '../../AdaptableState/FormatColumnState';
5
5
  import { AdaptableColumn } from '../../AdaptableState/Common/AdaptableColumn';
6
6
  import { AdaptableFormat } from '../../types';
7
- import { AdaptableObjectLookupCriteria } from '../../../types';
7
+ import { AdaptableObjectLookupCriteria, FormatColumnConfig } from '../../../types';
8
8
  import { FormatColumnInternalApi } from '../Internal/FormatColumnInternalApi';
9
9
  import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
10
10
  export declare class FormatColumnApiImpl extends ApiBase implements FormatColumnApi {
11
11
  internalApi: FormatColumnInternalApi;
12
12
  constructor(_adaptable: IAdaptable);
13
13
  getFormatColumnState(): FormatColumnState;
14
- getFormatColumns(config?: {
15
- includeLayoutNotAssociatedObjects?: boolean;
16
- }): FormatColumn[];
17
- getFormatColumnByUuId(id: FormatColumn['Uuid']): FormatColumn;
18
- getActiveFormatColumns(config?: {
19
- includeLayoutNotAssociatedObjects?: boolean;
20
- }): FormatColumn[];
21
- getDisplayFormatForColumn(column: AdaptableColumn): AdaptableFormat | undefined;
22
- getSuspendedFormatColumns(config?: {
23
- includeLayoutNotAssociatedObjects?: boolean;
24
- }): FormatColumn[];
14
+ getFormatColumns(config?: FormatColumnConfig): FormatColumn[];
15
+ getFormatColumnByUuId(id: FormatColumn['Uuid'], config?: FormatColumnConfig): FormatColumn;
16
+ getActiveFormatColumns(config?: FormatColumnConfig): FormatColumn[];
17
+ getDisplayFormatForColumn(column: AdaptableColumn, config?: FormatColumnConfig): AdaptableFormat | undefined;
18
+ getSuspendedFormatColumns(config?: FormatColumnConfig): FormatColumn[];
25
19
  addFormatColumn(formatColumn: FormatColumn): FormatColumn;
26
20
  addFormatColumns(formatColumns: FormatColumn[]): FormatColumn[];
27
21
  editFormatColumn(formatColumn: FormatColumn): FormatColumn;
@@ -33,12 +27,8 @@ export declare class FormatColumnApiImpl extends ApiBase implements FormatColumn
33
27
  unSuspendFormatColumn(formatColumn: FormatColumn): FormatColumn;
34
28
  suspendAllFormatColumn(): void;
35
29
  unSuspendAllFormatColumn(): void;
36
- getFormatColumnsForColumn(column: AdaptableColumn, config?: {
37
- includeSuspended?: boolean;
38
- }): FormatColumn[];
39
- getFormatColumnsForColumnId(columnId: string, config?: {
40
- includeSuspended?: boolean;
41
- }): FormatColumn[];
30
+ getFormatColumnsForColumn(column: AdaptableColumn, config?: FormatColumnConfig): FormatColumn[];
31
+ getFormatColumnsForColumnId(columnId: string, config?: FormatColumnConfig): FormatColumn[];
42
32
  openFormatColumnSettingsPanel(): void;
43
33
  getFormatColumnsWithAllScope(formatColumns: FormatColumn[]): FormatColumn[] | undefined;
44
34
  getFormatColumnsWithDataTypeScope(formatColumns: FormatColumn[]): FormatColumn[] | undefined;
@@ -12,16 +12,16 @@ export class FormatColumnApiImpl extends ApiBase {
12
12
  return this.getAdaptableState().FormatColumn;
13
13
  }
14
14
  getFormatColumns(config) {
15
- return (this.handleLayoutAssociatedObjects(this.getFormatColumnState().FormatColumns, 'FormatColumn', config) ?? []);
15
+ return (this.handleLayoutExtensionObjects(this.getFormatColumnState().FormatColumns, 'FormatColumn', config) ?? []);
16
16
  }
17
- getFormatColumnByUuId(id) {
18
- return this.getFormatColumns({ includeLayoutNotAssociatedObjects: true }).find((formatColumn) => formatColumn.Uuid === id);
17
+ getFormatColumnByUuId(id, config) {
18
+ return this.getFormatColumns(config).find((formatColumn) => formatColumn.Uuid === id);
19
19
  }
20
20
  getActiveFormatColumns(config) {
21
21
  return this.getFormatColumns(config).filter((formatColumn) => !formatColumn.IsSuspended);
22
22
  }
23
- getDisplayFormatForColumn(column) {
24
- const formatColumns = this.getFormatColumnsForColumn(column);
23
+ getDisplayFormatForColumn(column, config) {
24
+ const formatColumns = this.getFormatColumnsForColumn(column, config);
25
25
  if (ArrayExtensions.IsNullOrEmpty(formatColumns)) {
26
26
  return undefined;
27
27
  }
@@ -75,7 +75,7 @@ export class FormatColumnApiImpl extends ApiBase {
75
75
  this.dispatchAction(FormatColumnRedux.FormatColumnUnSuspendAll());
76
76
  }
77
77
  getFormatColumnsForColumn(column, config) {
78
- const formatColumns = this.getFormatColumns().filter((formatColumn) => config?.includeSuspended || !formatColumn.IsSuspended);
78
+ const formatColumns = this.getFormatColumns(config).filter((formatColumn) => config?.includeSuspended || !formatColumn.IsSuspended);
79
79
  return this.internalApi.getFormatColumnWithColumnInScope(formatColumns, column);
80
80
  }
81
81
  getFormatColumnsForColumnId(columnId, config) {
@@ -115,8 +115,9 @@ export class FormatColumnApiImpl extends ApiBase {
115
115
  this.dispatchAction(FormatColumnRedux.FormatColumnMoveDown(formatColumn));
116
116
  }
117
117
  findFormatColumns(criteria) {
118
- return this.getAdaptableInternalApi().findAdaptableObjectsByLookupCriteria(criteria, this.getFormatColumns({
119
- includeLayoutNotAssociatedObjects: true,
120
- }));
118
+ const config = {
119
+ includeLayoutNotExtendedObjects: true,
120
+ };
121
+ return this.getAdaptableInternalApi().findAdaptableObjectsByLookupCriteria(criteria, this.getFormatColumns(config));
121
122
  }
122
123
  }
@@ -6,7 +6,7 @@ import { ColumnSort } from '../../AdaptableState/Common/ColumnSort';
6
6
  import { ModuleParams } from '../../View/Components/SharedProps/ModuleViewPopupProps';
7
7
  import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
8
8
  import { LayoutInternalApi } from '../Internal/LayoutInternalApi';
9
- import { ExtendedLayoutInfo } from '../../AdaptableState/Common/ExtendedLayoutInfo';
9
+ import { ExtendedLayout } from '../../AdaptableState/Common/ExtendedLayout';
10
10
  export declare class LayoutApiImpl extends ApiBase implements LayoutApi {
11
11
  internalApi: LayoutInternalApi;
12
12
  constructor(_adaptable: IAdaptable);
@@ -24,7 +24,8 @@ export declare class LayoutApiImpl extends ApiBase implements LayoutApi {
24
24
  getCurrentLayoutColumnSort(columnId: string): ColumnSort['SortOrder'] | null;
25
25
  getCurrentLayoutName(): string;
26
26
  getLayoutByName(layoutName: string): Layout | null;
27
- getExtendedLayoutByName(layoutName: string): ExtendedLayoutInfo | undefined;
27
+ createOrUpdateExtendedLayout(extendedLayoutInfo: ExtendedLayout): void;
28
+ getExtendedLayoutByName(layoutName: string): ExtendedLayout | undefined;
28
29
  getLayouts(): Layout[];
29
30
  getLayoutById(id: Layout['Uuid']): Layout;
30
31
  saveCurrentLayout(): void;