@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
@@ -2,8 +2,6 @@ import * as LayoutRedux from '../../Redux/ActionsReducers/LayoutRedux';
2
2
  import * as ModuleConstants from '../../Utilities/Constants/ModuleConstants';
3
3
  import { ApiBase } from './ApiBase';
4
4
  import StringExtensions from '../../Utilities/Extensions/StringExtensions';
5
- import ObjectFactory from '../../Utilities/ObjectFactory';
6
- import Helper from '../../Utilities/Helpers/Helper';
7
5
  import { createUuid } from '../../AdaptableState/Uuid';
8
6
  import { PopupShowPrompt } from '../../Redux/ActionsReducers/PopupRedux';
9
7
  import { LayoutInternalApi } from '../Internal/LayoutInternalApi';
@@ -89,14 +87,113 @@ export class LayoutApiImpl extends ApiBase {
89
87
  }
90
88
  }
91
89
  }
90
+ createOrUpdateExtendedLayout(extendedLayoutInfo) {
91
+ const config = {
92
+ includeLayoutNotExtendedObjects: true,
93
+ };
94
+ // Alerts
95
+ const alertExtensions = extendedLayoutInfo.Extensions.filter((e) => {
96
+ return e.Module == 'Alert';
97
+ });
98
+ alertExtensions.forEach((le) => {
99
+ const alertDefinition = le.Object;
100
+ const existingAlertDefinition = this.getAlertApi().getAlertDefinitionById(alertDefinition.Uuid, config);
101
+ if (!existingAlertDefinition) {
102
+ this.getAlertApi().addAlertDefinition(alertDefinition);
103
+ }
104
+ });
105
+ // Custom Sorts
106
+ const customSortExtensions = extendedLayoutInfo.Extensions.filter((e) => {
107
+ return e.Module == 'CustomSort';
108
+ });
109
+ customSortExtensions.forEach((le) => {
110
+ const customSort = le.Object;
111
+ const existingCustomSort = this.getCustomSortApi().getCustomSortById(customSort.Uuid, config);
112
+ if (!existingCustomSort) {
113
+ this.getCustomSortApi().addCustomSort(customSort);
114
+ }
115
+ });
116
+ // Flashing Cells
117
+ const flashingCellExtensions = extendedLayoutInfo.Extensions.filter((e) => {
118
+ return e.Module == 'FlashingCell';
119
+ });
120
+ flashingCellExtensions.forEach((le) => {
121
+ const flashingCellDefinition = le.Object;
122
+ const existingflashingCellDefinition = this.getFlashingCellApi().getFlashingCellDefinitionById(flashingCellDefinition.Uuid, config);
123
+ if (!existingflashingCellDefinition) {
124
+ this.getFlashingCellApi().addFlashingCellDefinition(flashingCellDefinition);
125
+ }
126
+ });
127
+ // FormatColumns
128
+ const formatColumnExtensions = extendedLayoutInfo.Extensions.filter((e) => {
129
+ return e.Module == 'FormatColumn';
130
+ });
131
+ formatColumnExtensions.forEach((le) => {
132
+ const formatColumn = le.Object;
133
+ const existingFormatColumn = this.getFormatColumnApi().getFormatColumnByUuId(formatColumn.Uuid, config);
134
+ if (!existingFormatColumn) {
135
+ this.getFormatColumnApi().addFormatColumn(formatColumn);
136
+ }
137
+ });
138
+ // Plus Minus
139
+ const plusMinusExtensions = extendedLayoutInfo.Extensions.filter((e) => {
140
+ return e.Module == 'PlusMinus';
141
+ });
142
+ plusMinusExtensions.forEach((le) => {
143
+ const plusMinusNudge = le.Object;
144
+ const existingPlusMinusNudge = this.getPlusMinusApi().getPlusMinusById(plusMinusNudge.Uuid, config);
145
+ if (!existingPlusMinusNudge) {
146
+ this.getPlusMinusApi().addPlusMinusNudge(plusMinusNudge);
147
+ }
148
+ });
149
+ // Schedule
150
+ const scheduleExtensions = extendedLayoutInfo.Extensions.filter((e) => {
151
+ return e.Module == 'Schedule';
152
+ });
153
+ scheduleExtensions.forEach((le) => {
154
+ const schedule = le.Object;
155
+ const existingSchedule = this.getScheduleApi().getScheduleById(schedule.Uuid, config);
156
+ if (!existingSchedule) {
157
+ if (existingSchedule.ScheduleType == 'Reminder') {
158
+ this.getScheduleApi().addReminderSchedule(schedule);
159
+ }
160
+ if (existingSchedule.ScheduleType == 'Report') {
161
+ this.getScheduleApi().addReportSchedule(schedule);
162
+ }
163
+ }
164
+ });
165
+ // Shortcut
166
+ const shortCutExtensions = extendedLayoutInfo.Extensions.filter((e) => {
167
+ return e.Module == 'Shortcut';
168
+ });
169
+ shortCutExtensions.forEach((le) => {
170
+ const shortcut = le.Object;
171
+ const existingShortcut = this.getShortcutApi().getShortcutById(shortcut.Uuid, config);
172
+ if (!existingShortcut) {
173
+ this.getShortcutApi().addShortcut(shortcut);
174
+ }
175
+ });
176
+ // StyledColumn
177
+ const styledColumnExtensions = extendedLayoutInfo.Extensions.filter((e) => {
178
+ return e.Module == 'StyledColumn';
179
+ });
180
+ styledColumnExtensions.forEach((le) => {
181
+ const styledColumn = le.Object;
182
+ const existingStyledColumn = this.getStyledColumnApi().getStyledColumnById(styledColumn.Uuid, config);
183
+ if (!existingStyledColumn) {
184
+ this.getStyledColumnApi().addStyledColumn(styledColumn);
185
+ }
186
+ });
187
+ this.createOrUpdateLayout(extendedLayoutInfo.Layout);
188
+ }
92
189
  getExtendedLayoutByName(layoutName) {
93
190
  const layout = this.getLayoutByName(layoutName);
94
191
  if (!layout) {
95
192
  return undefined;
96
193
  }
97
194
  const config = {
98
- includeLayoutNotAssociatedObjects: true,
99
- associatedWithLayout: layoutName,
195
+ includeLayoutNotExtendedObjects: false,
196
+ extendedLayoutName: layoutName,
100
197
  };
101
198
  // cannot see a better way than to go through this module by module...
102
199
  let extensions = [];
@@ -130,11 +227,6 @@ export class LayoutApiImpl extends ApiBase {
130
227
  .forEach((obj) => {
131
228
  extensions.push({ Module: 'Schedule', Object: obj });
132
229
  });
133
- this.getScheduleApi()
134
- .getReportSchedules(config)
135
- .forEach((obj) => {
136
- extensions.push({ Module: 'Schedule', Object: obj });
137
- });
138
230
  this.getShortcutApi()
139
231
  .getShortcuts(config)
140
232
  .forEach((obj) => {
@@ -181,7 +273,7 @@ export class LayoutApiImpl extends ApiBase {
181
273
  this.logError("Cannot create layout with the Name: '" + layoutToCreate.Name + "' as it already exists");
182
274
  return false;
183
275
  }
184
- const newLayout = ObjectFactory.CreateEmptyLayout({ ...layoutToCreate });
276
+ const newLayout = this.internalApi.buildInitialLayout(layoutToCreate);
185
277
  this.addUidToAdaptableObject(newLayout);
186
278
  this.dispatchAction(LayoutRedux.LayoutAdd(newLayout));
187
279
  return newLayout;
@@ -198,9 +290,11 @@ export class LayoutApiImpl extends ApiBase {
198
290
  this.logError("Cannot clone layout with Name: '" + layoutName + "' as other Layout does not exist");
199
291
  return false;
200
292
  }
201
- const newLayout = Helper.cloneObject(layoutToClone);
202
- newLayout.Uuid = createUuid();
203
- newLayout.Name = layoutName;
293
+ const newLayout = {
294
+ ...this.internalApi.cloneLayout(layoutToClone),
295
+ Name: layoutName,
296
+ Uuid: createUuid(),
297
+ };
204
298
  this.dispatchAction(LayoutRedux.LayoutAdd(newLayout));
205
299
  return this.getLayoutById(newLayout.Uuid);
206
300
  }
@@ -1,5 +1,6 @@
1
1
  import { TableLayout, PivotLayout, Layout } from '../../types';
2
2
  import { LayoutModel, TableLayoutModel, PivotLayoutModel } from '../../layout-manager/src/LayoutManagerModel';
3
+ export declare function columnWidthsToColumnSizing(columnWidths: Record<string, number>): TableLayout['ColumnSizing'];
3
4
  export declare const layoutStateToLayoutModel: (layout: TableLayout | PivotLayout) => LayoutModel;
4
5
  export declare const layoutModelToLayoutState: (layoutModel: LayoutModel) => TableLayout | PivotLayout;
5
6
  /**
@@ -4,6 +4,15 @@ import { normalizeTableLayoutModel, normalizePivotLayoutModel, } from '../../lay
4
4
  import { simplifyTableLayoutModel, simplifyPivotLayoutModel, } from '../../layout-manager/src/simplifyLayoutModel';
5
5
  import { isWeightedAverageAggregation, WEIGHTED_AVERAGE_AGG_FN_NAME, isWeightedAverageAggFuncName, } from '../../AdaptableState/Common/AggregationColumns';
6
6
  import { removeAdaptableObjectPrimitivesInlineDeep } from '../../Utilities/Helpers/AdaptableHelper';
7
+ export function columnWidthsToColumnSizing(columnWidths) {
8
+ if (!columnWidths) {
9
+ return undefined;
10
+ }
11
+ return Object.keys(columnWidths).reduce((acc, colId) => {
12
+ acc[colId] = { Width: columnWidths[colId] };
13
+ return acc;
14
+ }, {});
15
+ }
7
16
  export const layoutStateToLayoutModel = (layout) => {
8
17
  if (isPivotLayout(layout)) {
9
18
  return pivotLayoutToPivotLayoutModel(layout);
@@ -153,6 +162,8 @@ export const checkForDuplicateColumns = (layout) => {
153
162
  };
154
163
  export const tableLayoutToTableLayoutModel = (tableLayout) => {
155
164
  tableLayout = structuredClone(tableLayout);
165
+ tableLayout.ColumnSizing =
166
+ tableLayout.ColumnSizing ?? columnWidthsToColumnSizing(tableLayout.ColumnWidths);
156
167
  cleanupAdaptableObjectPrimitives(tableLayout);
157
168
  const TableAggregationColumns = (tableLayout.TableAggregationColumns || []).map(({ ColumnId, AggFunc }) => {
158
169
  return {
@@ -164,7 +175,7 @@ export const tableLayoutToTableLayoutModel = (tableLayout) => {
164
175
  Name: tableLayout.Name,
165
176
  SuppressAggFuncInHeader: tableLayout.SuppressAggFuncInHeader,
166
177
  TableColumns: tableLayout.TableColumns,
167
- ColumnWidths: tableLayout.ColumnWidths,
178
+ ColumnSizing: tableLayout.ColumnSizing,
168
179
  ColumnVisibility: tableLayout.ColumnVisibility,
169
180
  ColumnSorts: tableLayout.ColumnSorts,
170
181
  RowGroupedColumns: tableLayout.RowGroupedColumns,
@@ -224,11 +235,13 @@ export const tableLayoutToTableLayoutModel = (tableLayout) => {
224
235
  };
225
236
  export const pivotLayoutToPivotLayoutModel = (pivotLayout) => {
226
237
  pivotLayout = structuredClone(pivotLayout);
238
+ pivotLayout.ColumnSizing =
239
+ pivotLayout.ColumnSizing ?? columnWidthsToColumnSizing(pivotLayout.ColumnWidths);
227
240
  cleanupAdaptableObjectPrimitives(pivotLayout);
228
241
  const result = simplifyPivotLayoutModel({
229
242
  Name: pivotLayout.Name,
230
243
  SuppressAggFuncInHeader: pivotLayout.SuppressAggFuncInHeader,
231
- ColumnWidths: pivotLayout.ColumnWidths,
244
+ ColumnSizing: pivotLayout.ColumnSizing,
232
245
  ColumnSorts: pivotLayout.ColumnSorts,
233
246
  PivotGroupedColumns: pivotLayout.PivotGroupedColumns,
234
247
  ColumnPinning: pivotLayout.ColumnPinning,
@@ -257,6 +270,9 @@ export const pivotLayoutToPivotLayoutModel = (pivotLayout) => {
257
270
  }
258
271
  : undefined,
259
272
  });
273
+ if (pivotLayout.RowGroupDisplayType) {
274
+ result.RowGroupDisplayType = pivotLayout.RowGroupDisplayType;
275
+ }
260
276
  if (pivotLayout.ColumnFilters) {
261
277
  result.Ignore_ColumnFilters = pivotLayout.ColumnFilters;
262
278
  }
@@ -299,7 +315,7 @@ export const tableLayoutModelToTableLayout = (layoutModel) => {
299
315
  const tableLayout = {
300
316
  Name: layoutModel.Name,
301
317
  TableColumns: layoutModel.TableColumns,
302
- ColumnWidths: layoutModel.ColumnWidths,
318
+ ColumnSizing: layoutModel.ColumnSizing,
303
319
  ColumnVisibility: layoutModel.ColumnVisibility,
304
320
  ColumnSorts: layoutModel.ColumnSorts,
305
321
  };
@@ -406,7 +422,7 @@ export const pivotLayoutModelToPivotLayout = (layoutModel) => {
406
422
  Name: layoutModel.Name,
407
423
  PivotColumns: layoutModel.PivotColumns,
408
424
  TableColumns: layoutModel.TableColumns,
409
- ColumnWidths: layoutModel.ColumnWidths,
425
+ ColumnSizing: layoutModel.ColumnSizing,
410
426
  ColumnSorts: layoutModel.ColumnSorts,
411
427
  ColumnPinning: layoutModel.ColumnPinning,
412
428
  PivotExpandLevel: layoutModel.PivotExpandLevel,
@@ -495,6 +511,9 @@ export const pivotLayoutModelToPivotLayout = (layoutModel) => {
495
511
  pivotLayout.ColumnGroupValues.ExceptionGroupKeys = layoutModel.ColumnGroupValues.Values;
496
512
  }
497
513
  }
514
+ if (layoutModel.RowGroupDisplayType) {
515
+ pivotLayout.RowGroupDisplayType = layoutModel.RowGroupDisplayType;
516
+ }
498
517
  return pivotLayout;
499
518
  };
500
519
  export const isPivotLayout = (layout) => Array.isArray(layout.PivotColumns);
@@ -1,17 +1,19 @@
1
- import { ApiBase, LayoutAssociatedObjectLoadConfig } from './ApiBase';
1
+ import { ApiBase } from './ApiBase';
2
2
  import { PlusMinusNudge, PlusMinusState } from '../../AdaptableState/PlusMinusState';
3
3
  import { PlusMinusApi } from '../PlusMinusApi';
4
4
  import { CellUpdateRequest, GridCell } from '../../AdaptableState/Selection/GridCell';
5
+ import { LayoutExtendedConfig } from '../../AdaptableState/Common/ExtendedLayout';
5
6
  export declare class PlusMinusApiImpl extends ApiBase implements PlusMinusApi {
6
7
  getPlusMinusState(): PlusMinusState;
7
- getAllPlusMinus(config?: LayoutAssociatedObjectLoadConfig): PlusMinusNudge[];
8
- getPlusMinusById(id: PlusMinusNudge['Uuid']): PlusMinusNudge;
9
- getAllActivePlusMinus(): PlusMinusNudge[];
10
- getAllSuspendedPlusMinus(): PlusMinusNudge[];
8
+ getAllPlusMinus(config?: LayoutExtendedConfig): PlusMinusNudge[];
9
+ getPlusMinusById(id: PlusMinusNudge['Uuid'], config?: LayoutExtendedConfig): PlusMinusNudge;
10
+ getAllActivePlusMinus(config?: LayoutExtendedConfig): PlusMinusNudge[];
11
+ getAllSuspendedPlusMinus(config?: LayoutExtendedConfig): PlusMinusNudge[];
11
12
  runPlusMinusNudge(plusMinusNudge: PlusMinusNudge, cellsToUpdate: GridCell[], direction: 'up' | 'down'): void;
12
13
  applyPlusMinus(cellUpdateRequests: CellUpdateRequest[]): void;
13
14
  openPlusMinusSettingsPanel(): void;
14
15
  editPlusMinusNudge(plusMinusNudge: PlusMinusNudge): PlusMinusNudge;
16
+ deletePlusMinusNudge(plusMinusNudge: PlusMinusNudge): void;
15
17
  suspendPlusMinusNudge(plusMinusNudge: PlusMinusNudge): PlusMinusNudge;
16
18
  unSuspendPlusMinusNudge(plusMinusNudge: PlusMinusNudge): PlusMinusNudge;
17
19
  addPlusMinusNudge(plusMinusNudge: PlusMinusNudge): PlusMinusNudge;
@@ -6,17 +6,17 @@ export class PlusMinusApiImpl extends ApiBase {
6
6
  return this.getAdaptableState().PlusMinus;
7
7
  }
8
8
  getAllPlusMinus(config) {
9
- const layoutSpecificPlusMinusNudges = this.handleLayoutAssociatedObjects(this.getPlusMinusState().PlusMinusNudges, 'PlusMinus', config) ?? [];
9
+ const layoutSpecificPlusMinusNudges = this.handleLayoutExtensionObjects(this.getPlusMinusState().PlusMinusNudges, 'PlusMinus', config) ?? [];
10
10
  return layoutSpecificPlusMinusNudges.filter((plusMinusNudge) => plusMinusNudge.Rule == undefined || plusMinusNudge.Rule.BooleanExpression != undefined);
11
11
  }
12
- getPlusMinusById(id) {
13
- return this.getAllPlusMinus().find((plusMinus) => plusMinus?.Uuid === id);
12
+ getPlusMinusById(id, config) {
13
+ return this.getAllPlusMinus(config).find((plusMinus) => plusMinus?.Uuid === id);
14
14
  }
15
- getAllActivePlusMinus() {
16
- return this.getAllPlusMinus().filter((plusMinusNudge) => !plusMinusNudge.IsSuspended);
15
+ getAllActivePlusMinus(config) {
16
+ return this.getAllPlusMinus(config).filter((plusMinusNudge) => !plusMinusNudge.IsSuspended);
17
17
  }
18
- getAllSuspendedPlusMinus() {
19
- return this.getAllPlusMinus().filter((plusMinusNudge) => plusMinusNudge.IsSuspended);
18
+ getAllSuspendedPlusMinus(config) {
19
+ return this.getAllPlusMinus(config).filter((plusMinusNudge) => plusMinusNudge.IsSuspended);
20
20
  }
21
21
  runPlusMinusNudge(plusMinusNudge, cellsToUpdate, direction) {
22
22
  let plusMinusModule = (this.getAdaptableInternalApi().getModules().get(ModuleConstants.PlusMinusModuleId));
@@ -32,6 +32,9 @@ export class PlusMinusApiImpl extends ApiBase {
32
32
  this.dispatchAction(PlusMinusRedux.PlusMinusNudgeEdit(plusMinusNudge));
33
33
  return this.getPlusMinusById(plusMinusNudge.Uuid);
34
34
  }
35
+ deletePlusMinusNudge(plusMinusNudge) {
36
+ this.dispatchAction(PlusMinusRedux.PlusMinusNudgeDelete(plusMinusNudge));
37
+ }
35
38
  suspendPlusMinusNudge(plusMinusNudge) {
36
39
  this.dispatchAction(PlusMinusRedux.PlusMinusNudgeSuspend(plusMinusNudge));
37
40
  return this.getPlusMinusById(plusMinusNudge.Uuid);
@@ -6,24 +6,21 @@ import { IPushPullSchedule } from '../../AdaptableState/IPushPullState';
6
6
  import { OpenFinSchedule } from '../../AdaptableState/OpenFinState';
7
7
  import { ReminderSchedule, ScheduleState } from '../../AdaptableState/ScheduleState';
8
8
  import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
9
+ import { LayoutExtendedConfig } from '../../types';
9
10
  export declare class ScheduleApiImpl extends ApiBase implements ScheduleApi {
10
11
  constructor(_adaptable: IAdaptable);
11
12
  getScheduleState(): ScheduleState;
12
- getSchedules(): BaseSchedule[];
13
- getReminderSchedules(config?: {
14
- includeLayoutNotAssociatedObjects?: boolean;
15
- }): ReminderSchedule[];
16
- getScheduleById(id: BaseSchedule['Uuid']): BaseSchedule;
17
- getActiveReminderSchedules(): ReminderSchedule[];
18
- getSuspendedReminderSchedules(): ReminderSchedule[];
13
+ getSchedules(config?: LayoutExtendedConfig): BaseSchedule[];
14
+ getReminderSchedules(config?: LayoutExtendedConfig): ReminderSchedule[];
15
+ getScheduleById(id: BaseSchedule['Uuid'], config?: LayoutExtendedConfig): BaseSchedule;
16
+ getActiveReminderSchedules(config?: LayoutExtendedConfig): ReminderSchedule[];
17
+ getSuspendedReminderSchedules(config?: LayoutExtendedConfig): ReminderSchedule[];
19
18
  addReminderSchedule(schedule: ReminderSchedule): ReminderSchedule;
20
19
  deleteReminderSchedule(schedule: ReminderSchedule): void;
21
20
  editReminderSchedule(schedule: ReminderSchedule): ReminderSchedule;
22
21
  suspendReminderSchedule(schedule: ReminderSchedule): ReminderSchedule;
23
22
  unSuspendReminderSchedule(schedule: ReminderSchedule): ReminderSchedule;
24
- getReportSchedules(config?: {
25
- includeLayoutNotAssociatedObjects?: boolean;
26
- }): ReportSchedule[];
23
+ getReportSchedules(config?: LayoutExtendedConfig): ReportSchedule[];
27
24
  getActiveReportSchedules(): ReportSchedule[];
28
25
  getSuspendedReportSchedules(): ReportSchedule[];
29
26
  addReportSchedule(schedule: ReportSchedule): ReportSchedule;
@@ -31,9 +28,7 @@ export declare class ScheduleApiImpl extends ApiBase implements ScheduleApi {
31
28
  deleteReportSchedule(schedule: ReportSchedule): void;
32
29
  suspendReportSchedule(schedule: ReportSchedule): ReportSchedule;
33
30
  unSuspendReportSchedule(schedule: ReportSchedule): ReportSchedule;
34
- getIPushPullSchedules(config?: {
35
- includeLayoutNotAssociatedObjects?: boolean;
36
- }): IPushPullSchedule[];
31
+ getIPushPullSchedules(config?: LayoutExtendedConfig): IPushPullSchedule[];
37
32
  getActiveIPushPullSchedules(): IPushPullSchedule[];
38
33
  getSuspendedIPushPullSchedules(): IPushPullSchedule[];
39
34
  addIPushPullSchedule(schedule: IPushPullSchedule): IPushPullSchedule;
@@ -41,9 +36,7 @@ export declare class ScheduleApiImpl extends ApiBase implements ScheduleApi {
41
36
  deleteIPushPullSchedule(schedule: IPushPullSchedule): void;
42
37
  suspendIPushPullSchedule(schedule: IPushPullSchedule): IPushPullSchedule;
43
38
  unSuspendIPushPullSchedule(schedule: IPushPullSchedule): IPushPullSchedule;
44
- getOpenFinSchedules(config?: {
45
- includeLayoutNotAssociatedObjects?: boolean;
46
- }): OpenFinSchedule[];
39
+ getOpenFinSchedules(config?: LayoutExtendedConfig): OpenFinSchedule[];
47
40
  getActiveOpenFinSchedules(): OpenFinSchedule[];
48
41
  getSuspendedOpenFinSchedules(): OpenFinSchedule[];
49
42
  addOpenFinSchedule(schedule: OpenFinSchedule): OpenFinSchedule;
@@ -8,26 +8,25 @@ export class ScheduleApiImpl extends ApiBase {
8
8
  getScheduleState() {
9
9
  return this.getAdaptableState().Schedule;
10
10
  }
11
- getSchedules() {
11
+ getSchedules(config) {
12
12
  let allSchedules = [];
13
- allSchedules.push(...this.getReminderSchedules());
14
- allSchedules.push(...this.getReportSchedules());
15
- allSchedules.push(...this.getIPushPullSchedules());
16
- allSchedules.push(...this.getOpenFinSchedules());
13
+ allSchedules.push(...this.getReminderSchedules(config));
14
+ allSchedules.push(...this.getReportSchedules(config));
15
+ allSchedules.push(...this.getIPushPullSchedules(config));
16
+ allSchedules.push(...this.getOpenFinSchedules(config));
17
17
  return allSchedules;
18
18
  }
19
19
  getReminderSchedules(config) {
20
- return (this.handleLayoutAssociatedObjects(this.getScheduleState().Reminders, 'Schedule', config) ??
21
- []);
20
+ return (this.handleLayoutExtensionObjects(this.getScheduleState().Reminders, 'Schedule', config) ?? []);
22
21
  }
23
- getScheduleById(id) {
24
- return this.getSchedules().find((schedule) => schedule?.Uuid === id);
22
+ getScheduleById(id, config) {
23
+ return this.getSchedules(config).find((schedule) => schedule?.Uuid === id);
25
24
  }
26
- getActiveReminderSchedules() {
27
- return this.getReminderSchedules().filter((schedule) => !schedule.IsSuspended);
25
+ getActiveReminderSchedules(config) {
26
+ return this.getReminderSchedules(config).filter((schedule) => !schedule.IsSuspended);
28
27
  }
29
- getSuspendedReminderSchedules() {
30
- return this.getReminderSchedules().filter((schedule) => schedule.IsSuspended);
28
+ getSuspendedReminderSchedules(config) {
29
+ return this.getReminderSchedules(config).filter((schedule) => schedule.IsSuspended);
31
30
  }
32
31
  addReminderSchedule(schedule) {
33
32
  this.dispatchAction(ScheduleRedux.ReminderScheduleAdd(schedule));
@@ -49,7 +48,7 @@ export class ScheduleApiImpl extends ApiBase {
49
48
  return this.getScheduleById(schedule.Uuid);
50
49
  }
51
50
  getReportSchedules(config) {
52
- return (this.handleLayoutAssociatedObjects(this.getAdaptableState().Schedule.ReportSchedules, 'Schedule', config) ?? []);
51
+ return (this.handleLayoutExtensionObjects(this.getAdaptableState().Schedule.ReportSchedules, 'Schedule', config) ?? []);
53
52
  }
54
53
  getActiveReportSchedules() {
55
54
  return this.getReportSchedules().filter((schedule) => !schedule.IsSuspended);
@@ -78,7 +77,7 @@ export class ScheduleApiImpl extends ApiBase {
78
77
  }
79
78
  getIPushPullSchedules(config) {
80
79
  const ippApi = this.getAdaptableApi().pluginsApi.getipushpullPluginApi();
81
- return (this.handleLayoutAssociatedObjects(ippApi?.getIPushPullSchedules(), 'Schedule', config) ?? []);
80
+ return (this.handleLayoutExtensionObjects(ippApi?.getIPushPullSchedules(), 'Schedule', config) ?? []);
82
81
  }
83
82
  getActiveIPushPullSchedules() {
84
83
  return this.getIPushPullSchedules().filter((schedule) => !schedule.IsSuspended);
@@ -107,8 +106,7 @@ export class ScheduleApiImpl extends ApiBase {
107
106
  }
108
107
  getOpenFinSchedules(config) {
109
108
  const openFinApi = this.getAdaptableApi().pluginsApi.getOpenFinPluginApi();
110
- return (this.handleLayoutAssociatedObjects(openFinApi?.getOpenFinSchedules(), 'Schedule', config) ??
111
- []);
109
+ return (this.handleLayoutExtensionObjects(openFinApi?.getOpenFinSchedules(), 'Schedule', config) ?? []);
112
110
  }
113
111
  getActiveOpenFinSchedules() {
114
112
  return this.getOpenFinSchedules().filter((schedule) => !schedule.IsSuspended);
@@ -1,14 +1,13 @@
1
1
  import { ApiBase } from './ApiBase';
2
2
  import { ShortcutApi } from '../ShortcutApi';
3
3
  import { Shortcut, ShortcutState } from '../../AdaptableState/ShortcutState';
4
+ import { LayoutExtendedConfig } from '../../types';
4
5
  export declare class ShortcutApiImpl extends ApiBase implements ShortcutApi {
5
6
  getShortcutState(): ShortcutState;
6
- getShortcuts(config?: {
7
- includeLayoutNotAssociatedObjects?: boolean;
8
- }): Shortcut[];
9
- getShortcutById(id: Shortcut['Uuid']): Shortcut;
10
- getActiveShortcuts(): Shortcut[];
11
- getSuspendedShortcuts(): Shortcut[];
7
+ getShortcuts(config?: LayoutExtendedConfig): Shortcut[];
8
+ getShortcutById(id: Shortcut['Uuid'], config?: LayoutExtendedConfig): Shortcut;
9
+ getActiveShortcuts(config?: LayoutExtendedConfig): Shortcut[];
10
+ getSuspendedShortcuts(config?: LayoutExtendedConfig): Shortcut[];
12
11
  addShortcut(shortcut: Shortcut): Shortcut;
13
12
  deleteShortcut(shortcut: Shortcut): void;
14
13
  deleteAllShortcuts(): void;
@@ -6,17 +6,16 @@ export class ShortcutApiImpl extends ApiBase {
6
6
  return this.getAdaptableState().Shortcut;
7
7
  }
8
8
  getShortcuts(config) {
9
- return (this.handleLayoutAssociatedObjects(this.getShortcutState().Shortcuts, 'Shortcut', config) ??
10
- []);
9
+ return (this.handleLayoutExtensionObjects(this.getShortcutState().Shortcuts, 'Shortcut', config) ?? []);
11
10
  }
12
- getShortcutById(id) {
13
- return this.getShortcuts().find((shortcut) => shortcut?.Uuid === id);
11
+ getShortcutById(id, config) {
12
+ return this.getShortcuts(config).find((shortcut) => shortcut?.Uuid === id);
14
13
  }
15
- getActiveShortcuts() {
16
- return this.getShortcuts().filter((shortcut) => !shortcut.IsSuspended);
14
+ getActiveShortcuts(config) {
15
+ return this.getShortcuts(config).filter((shortcut) => !shortcut.IsSuspended);
17
16
  }
18
- getSuspendedShortcuts() {
19
- return this.getShortcuts().filter((shortcut) => shortcut.IsSuspended);
17
+ getSuspendedShortcuts(config) {
18
+ return this.getShortcuts(config).filter((shortcut) => shortcut.IsSuspended);
20
19
  }
21
20
  addShortcut(shortcut) {
22
21
  this.addUidToAdaptableObject(shortcut);
@@ -1,21 +1,20 @@
1
1
  import { ApiBase } from './ApiBase';
2
2
  import { StyledColumnApi } from '../StyledColumnApi';
3
3
  import { StyledColumn, StyledColumnState } from '../../AdaptableState/StyledColumnState';
4
- import { AdaptableColumn } from '../../types';
4
+ import { AdaptableColumn, LayoutExtendedConfig } from '../../types';
5
5
  import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
6
6
  import { StyledColumnInternalApi } from '../Internal/StyledColumnInternalApi';
7
7
  export declare class StyledColumnApiImpl extends ApiBase implements StyledColumnApi {
8
8
  internalApi: StyledColumnInternalApi;
9
9
  constructor(_adaptable: IAdaptable);
10
10
  getStyledColumnState(): StyledColumnState;
11
- getStyledColumns(config?: {
12
- includeLayoutNotAssociatedObjects?: boolean;
13
- }): StyledColumn[];
14
- getStyledColumnById(id: StyledColumn['Uuid']): StyledColumn;
15
- getStyledColumnForColumnId(columnId: StyledColumn['ColumnId']): StyledColumn;
16
- getActiveStyledColumns(): StyledColumn[];
17
- getSuspendedStyledColumns(): StyledColumn[];
11
+ getStyledColumns(config?: LayoutExtendedConfig): StyledColumn[];
12
+ getStyledColumnById(id: StyledColumn['Uuid'], config?: LayoutExtendedConfig): StyledColumn;
13
+ getStyledColumnForColumnId(columnId: StyledColumn['ColumnId'], config?: LayoutExtendedConfig): StyledColumn;
14
+ getActiveStyledColumns(config?: LayoutExtendedConfig): StyledColumn[];
15
+ getSuspendedStyledColumns(config?: LayoutExtendedConfig): StyledColumn[];
18
16
  deleteStyledColumn(styledColumn: StyledColumn): void;
17
+ deleteAllStyledColumns(): void;
19
18
  addStyledColumn(styledColumn: StyledColumn): void;
20
19
  isSparklineStyleStyledColumn(column: AdaptableColumn): boolean;
21
20
  getActiveStyledColumnForColumn(column: AdaptableColumn): StyledColumn | undefined;
@@ -11,23 +11,26 @@ export class StyledColumnApiImpl extends ApiBase {
11
11
  return this.getAdaptableState().StyledColumn;
12
12
  }
13
13
  getStyledColumns(config) {
14
- return (this.handleLayoutAssociatedObjects(this.getStyledColumnState().StyledColumns, 'StyledColumn', config) ?? []);
14
+ return (this.handleLayoutExtensionObjects(this.getStyledColumnState().StyledColumns, 'StyledColumn', config) ?? []);
15
15
  }
16
- getStyledColumnById(id) {
17
- return this.getStyledColumns().find((styledcolumn) => styledcolumn.Uuid === id);
16
+ getStyledColumnById(id, config) {
17
+ return this.getStyledColumns(config).find((styledcolumn) => styledcolumn.Uuid === id);
18
18
  }
19
- getStyledColumnForColumnId(columnId) {
20
- return this.getStyledColumns().find((styledcolumn) => styledcolumn.ColumnId === columnId);
19
+ getStyledColumnForColumnId(columnId, config) {
20
+ return this.getStyledColumns(config).find((styledcolumn) => styledcolumn.ColumnId === columnId);
21
21
  }
22
- getActiveStyledColumns() {
23
- return this.getStyledColumns().filter((styledcolumn) => !styledcolumn.IsSuspended);
22
+ getActiveStyledColumns(config) {
23
+ return this.getStyledColumns(config).filter((styledcolumn) => !styledcolumn.IsSuspended);
24
24
  }
25
- getSuspendedStyledColumns() {
26
- return this.getStyledColumns().filter((styledcolumn) => styledcolumn.IsSuspended);
25
+ getSuspendedStyledColumns(config) {
26
+ return this.getStyledColumns(config).filter((styledcolumn) => styledcolumn.IsSuspended);
27
27
  }
28
28
  deleteStyledColumn(styledColumn) {
29
29
  this.dispatchAction(StyledColumnRedux.StyledColumnDelete(styledColumn));
30
30
  }
31
+ deleteAllStyledColumns() {
32
+ this.dispatchAction(StyledColumnRedux.StyledColumnDeleteAll());
33
+ }
31
34
  addStyledColumn(styledColumn) {
32
35
  this.dispatchAction(StyledColumnRedux.StyledColumnAdd(styledColumn));
33
36
  }
@@ -42,10 +42,7 @@ export class TeamSharingApiImpl extends ApiBase {
42
42
  return true;
43
43
  }
44
44
  isTeamSharingAvailable() {
45
- return (!this.getEntitlementApi().isModuleHiddenEntitlement(ModuleConstants.TeamSharingModuleId) &&
46
- this.getTeamSharingOptions()?.enableTeamSharing &&
47
- !!this.getTeamSharingOptions()?.loadSharedEntities &&
48
- !!this.getTeamSharingOptions()?.persistSharedEntities);
45
+ return this._adaptable.ModuleService.isAdapTableModulePresent('TeamSharing');
49
46
  }
50
47
  hasTeamSharingFullRights() {
51
48
  return this.getEntitlementApi().isModuleFullEntitlement(ModuleConstants.TeamSharingModuleId);
@@ -1,4 +1,5 @@
1
1
  import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
2
+ import { CustomIcon } from '../../AdaptableOptions/UserInterfaceOptions';
2
3
  import { AdaptableStyle } from '../../AdaptableState/Common/AdaptableStyle';
3
4
  import { AdaptableModule, AdaptableObject, AdaptableObjectTag, CustomWindowConfig } from '../../types';
4
5
  import { UserInterfaceInternalApi } from '../Internal/UserInterfaceInternalApi';
@@ -10,13 +11,13 @@ export declare class UserInterfaceApiImpl extends ApiBase implements UserInterfa
10
11
  private showProgressIndicatorTimeout;
11
12
  constructor(_adaptable: IAdaptable);
12
13
  getColorPalette(): string[];
14
+ getCustomIcons(): CustomIcon[];
13
15
  getStyleClassNames(): string[] | undefined;
14
16
  getEditableCellStyle(): AdaptableStyle | undefined;
15
17
  getEditedCellStyle(): AdaptableStyle | undefined;
16
18
  getReadOnlyCellStyle(): AdaptableStyle | undefined;
17
19
  getAdaptableObjectTags(): AdaptableObjectTag[] | undefined;
18
20
  getAdaptableObjectsWithTag(tag: AdaptableObjectTag, adaptableModule?: AdaptableModule): AdaptableObject[] | undefined;
19
- getCustomIconDefinition(iconName: string): import("../../types").AdaptableIcon | import("../../types").CustomIcon;
20
21
  showProgressIndicator(config: ProgressIndicatorConfig): {
21
22
  close: () => void;
22
23
  };
@@ -26,6 +26,16 @@ export class UserInterfaceApiImpl extends ApiBase {
26
26
  }
27
27
  return [];
28
28
  }
29
+ getCustomIcons() {
30
+ let customIconsProp = this.getUserInterfaceOptions().customIcons;
31
+ if (customIconsProp != null) {
32
+ // first do the function then get hardcoded items
33
+ return typeof customIconsProp === 'function'
34
+ ? customIconsProp()
35
+ : customIconsProp;
36
+ }
37
+ return [];
38
+ }
29
39
  getStyleClassNames() {
30
40
  return this.getUserInterfaceOptions().styleClassNames;
31
41
  }
@@ -73,15 +83,6 @@ export class UserInterfaceApiImpl extends ApiBase {
73
83
  return returnObjects;
74
84
  }
75
85
  }
76
- getCustomIconDefinition(iconName) {
77
- let customIcon = undefined;
78
- const customIcons = this.getUserInterfaceOptions().customIcons ?? [];
79
- customIcon = customIcons.find((icon) => icon.name === iconName);
80
- if (customIcon) {
81
- return customIcon.icon;
82
- }
83
- return customIcon;
84
- }
85
86
  showProgressIndicator(config) {
86
87
  const close = () => {
87
88
  this.hideProgressIndicator();
@@ -30,6 +30,7 @@ import { RowFormService } from '../../Utilities/Services/RowFormService';
30
30
  import { WindowModalPosition, WindowModalSize } from '../../components/WindowModal';
31
31
  import { FlashingCellService } from '../../Utilities/Services/FlashingCellService';
32
32
  import { AgGridAdapter } from '../../agGrid/AgGridAdapter';
33
+ import { AgGridModulesAdapter } from '../../agGrid/AgGridModulesAdapter';
33
34
  export declare class AdaptableInternalApi extends ApiBase {
34
35
  getInternalState(): InternalState;
35
36
  getAdaptableJSXElement(): React.JSX.Element;
@@ -62,6 +63,7 @@ export declare class AdaptableInternalApi extends ApiBase {
62
63
  buildRowDataChangedInfo(dataRows: any[], rowNodes: IRowNode[], rowTrigger: RowDataChangeTrigger): RowDataChangedInfo;
63
64
  getAdaptableInstance(): IAdaptable;
64
65
  getAgGridAdapter(): AgGridAdapter;
66
+ getAgGridModulesAdapter(): AgGridModulesAdapter;
65
67
  getInitialState(): InitialState;
66
68
  getState(): AdaptableState;
67
69
  getValidationService(): IValidationService;
@@ -72,6 +72,9 @@ export class AdaptableInternalApi extends ApiBase {
72
72
  getAgGridAdapter() {
73
73
  return this._adaptable.agGridAdapter;
74
74
  }
75
+ getAgGridModulesAdapter() {
76
+ return this._adaptable.agGridModulesAdapter;
77
+ }
75
78
  getInitialState() {
76
79
  return this.getOptions().initialState;
77
80
  }