@adaptabletools/adaptable-cjs 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 +3 -1
  3. package/base.css +36 -15
  4. package/base.css.map +1 -1
  5. package/icons/add-circle.svg +1 -0
  6. package/icons/add.svg +1 -0
  7. package/icons/alert.svg +1 -0
  8. package/icons/align-center.svg +1 -0
  9. package/icons/align-justify.svg +1 -0
  10. package/icons/align-left.svg +1 -0
  11. package/icons/align-right.svg +1 -0
  12. package/icons/arrow-down-long.svg +1 -0
  13. package/icons/arrow-down.svg +1 -0
  14. package/icons/arrow-expand.svg +1 -0
  15. package/icons/arrow-left.svg +1 -0
  16. package/icons/arrow-right.svg +1 -0
  17. package/icons/arrow-up-long.svg +1 -0
  18. package/icons/arrow-up.svg +1 -0
  19. package/icons/assignment.svg +1 -0
  20. package/icons/badge.svg +1 -0
  21. package/icons/bold.svg +1 -0
  22. package/icons/boolean-list.svg +1 -0
  23. package/icons/brain.svg +1 -0
  24. package/icons/broadcast.svg +1 -0
  25. package/icons/brush.svg +1 -0
  26. package/icons/building.svg +1 -0
  27. package/icons/calculated-column.svg +1 -0
  28. package/icons/calendar.svg +1 -0
  29. package/icons/call.svg +1 -0
  30. package/icons/case-lower.svg +1 -0
  31. package/icons/case-sentence.svg +1 -0
  32. package/icons/case-upper.svg +1 -0
  33. package/icons/cells.svg +1 -0
  34. package/icons/chart.svg +1 -0
  35. package/icons/chat.svg +1 -0
  36. package/icons/check-circle.svg +1 -0
  37. package/icons/check.svg +1 -0
  38. package/icons/checked.svg +1 -0
  39. package/icons/clipboard.svg +1 -0
  40. package/icons/clone.svg +1 -0
  41. package/icons/close.svg +1 -0
  42. package/icons/cloud-upload.svg +1 -0
  43. package/icons/collapse-all.svg +1 -0
  44. package/icons/collapse.svg +1 -0
  45. package/icons/color-palette.svg +1 -0
  46. package/icons/column-add.svg +1 -0
  47. package/icons/column-outline.svg +1 -0
  48. package/icons/columns.svg +1 -0
  49. package/icons/comment.svg +1 -0
  50. package/icons/comments.svg +1 -0
  51. package/icons/contact.svg +1 -0
  52. package/icons/contains.svg +1 -0
  53. package/icons/copy.svg +1 -0
  54. package/icons/csv.svg +1 -0
  55. package/icons/dashboard.svg +1 -0
  56. package/icons/data-set.svg +1 -0
  57. package/icons/date-range.svg +1 -0
  58. package/icons/delete.svg +1 -0
  59. package/icons/division.svg +1 -0
  60. package/icons/dock.svg +1 -0
  61. package/icons/dollar.svg +1 -0
  62. package/icons/download.svg +1 -0
  63. package/icons/downloaded.svg +1 -0
  64. package/icons/drag.svg +1 -0
  65. package/icons/edit-table.svg +1 -0
  66. package/icons/edit.svg +1 -0
  67. package/icons/ends-with.svg +1 -0
  68. package/icons/equals.svg +1 -0
  69. package/icons/equation.svg +1 -0
  70. package/icons/error.svg +1 -0
  71. package/icons/excel.svg +1 -0
  72. package/icons/expand-all.svg +1 -0
  73. package/icons/expand.svg +1 -0
  74. package/icons/exponent.svg +1 -0
  75. package/icons/export-data.svg +1 -0
  76. package/icons/export.svg +1 -0
  77. package/icons/fast-backward.svg +1 -0
  78. package/icons/fast-forward.svg +1 -0
  79. package/icons/fdc3.svg +1 -0
  80. package/icons/filled-circle.svg +1 -0
  81. package/icons/filter-list.svg +1 -0
  82. package/icons/filter-off.svg +1 -0
  83. package/icons/filter.svg +1 -0
  84. package/icons/flag.svg +1 -0
  85. package/icons/folder-open.svg +1 -0
  86. package/icons/folder-shared.svg +1 -0
  87. package/icons/folder.svg +1 -0
  88. package/icons/function.svg +1 -0
  89. package/icons/gradient.svg +1 -0
  90. package/icons/greater-than-or-equal.svg +1 -0
  91. package/icons/greater-than.svg +1 -0
  92. package/icons/grid-filter.svg +1 -0
  93. package/icons/grid-info.svg +1 -0
  94. package/icons/grid.svg +1 -0
  95. package/icons/history.svg +1 -0
  96. package/icons/home.svg +1 -0
  97. package/icons/horizontal-lines.svg +1 -0
  98. package/icons/import-export.svg +1 -0
  99. package/icons/import.svg +1 -0
  100. package/icons/info.svg +1 -0
  101. package/icons/interactions.svg +1 -0
  102. package/icons/italic.svg +1 -0
  103. package/icons/json.svg +1 -0
  104. package/icons/laptop.svg +1 -0
  105. package/icons/less-than-or-equal.svg +1 -0
  106. package/icons/less-than.svg +1 -0
  107. package/icons/lightning.svg +1 -0
  108. package/icons/link.svg +1 -0
  109. package/icons/list.svg +1 -0
  110. package/icons/logout.svg +1 -0
  111. package/icons/mail.svg +1 -0
  112. package/icons/menu.svg +1 -0
  113. package/icons/minus.svg +1 -0
  114. package/icons/money.svg +1 -0
  115. package/icons/multiplication.svg +1 -0
  116. package/icons/newpage.svg +1 -0
  117. package/icons/news.svg +1 -0
  118. package/icons/not-contains.svg +1 -0
  119. package/icons/not-equal.svg +1 -0
  120. package/icons/note.svg +1 -0
  121. package/icons/open-in-new.svg +1 -0
  122. package/icons/order.svg +1 -0
  123. package/icons/organisation.svg +1 -0
  124. package/icons/overline.svg +1 -0
  125. package/icons/paperclip.svg +1 -0
  126. package/icons/pause.svg +1 -0
  127. package/icons/percent-tag.svg +1 -0
  128. package/icons/percent.svg +1 -0
  129. package/icons/person.svg +1 -0
  130. package/icons/pie-chart.svg +1 -0
  131. package/icons/play.svg +1 -0
  132. package/icons/plus.svg +1 -0
  133. package/icons/quote.svg +1 -0
  134. package/icons/refresh.svg +1 -0
  135. package/icons/regex.svg +1 -0
  136. package/icons/reminder.svg +1 -0
  137. package/icons/resume.svg +1 -0
  138. package/icons/rows.svg +1 -0
  139. package/icons/save.svg +1 -0
  140. package/icons/schedule.svg +1 -0
  141. package/icons/science.svg +1 -0
  142. package/icons/search-table.svg +1 -0
  143. package/icons/search.svg +1 -0
  144. package/icons/select-all.svg +1 -0
  145. package/icons/select-fwd.svg +1 -0
  146. package/icons/select-off.svg +1 -0
  147. package/icons/settings.svg +1 -0
  148. package/icons/sort-asc.svg +1 -0
  149. package/icons/sort-desc.svg +1 -0
  150. package/icons/spanner.svg +1 -0
  151. package/icons/spark-line.svg +1 -0
  152. package/icons/starts-with.svg +1 -0
  153. package/icons/statusbar.svg +1 -0
  154. package/icons/stop.svg +1 -0
  155. package/icons/strikethrough.svg +1 -0
  156. package/icons/styled-grid.svg +1 -0
  157. package/icons/sync.svg +1 -0
  158. package/icons/tab-unselected.svg +1 -0
  159. package/icons/target.svg +1 -0
  160. package/icons/theme.svg +1 -0
  161. package/icons/traffic-lights.svg +1 -0
  162. package/icons/triangle-down.svg +1 -0
  163. package/icons/triangle-up.svg +1 -0
  164. package/icons/unchecked.svg +1 -0
  165. package/icons/underline.svg +1 -0
  166. package/icons/undo.svg +1 -0
  167. package/icons/unfilled-circle.svg +1 -0
  168. package/icons/upload.svg +1 -0
  169. package/icons/visibility-off-bold.svg +1 -0
  170. package/icons/visibility-off.svg +1 -0
  171. package/icons/visibility-on-bold.svg +1 -0
  172. package/icons/visibility-on.svg +1 -0
  173. package/icons/warning.svg +1 -0
  174. package/index.css +32 -15
  175. package/index.css.map +1 -1
  176. package/package.json +2 -2
  177. package/src/AdaptableInterfaces/IAdaptable.d.ts +10 -5
  178. package/src/AdaptableOptions/ColumnOptions.d.ts +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 +25 -5
  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 +85 -5
  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 +10 -10
  261. package/src/Redux/ActionsReducers/StyledColumnRedux.d.ts +7 -0
  262. package/src/Redux/ActionsReducers/StyledColumnRedux.js +15 -1
  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 +2 -1
  317. package/src/Utilities/Extensions/ArrayExtensions.d.ts +15 -2
  318. package/src/Utilities/Extensions/ArrayExtensions.js +68 -15
  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 +28 -19
  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 +18 -6
  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 +5 -5
  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 +2 -2
  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 +65 -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 +53 -0
  378. package/src/agGrid/AgGridFloatingFilterAdapter.d.ts +2 -0
  379. package/src/agGrid/{FloatingFilterWrapper.js → AgGridFloatingFilterAdapter.js} +26 -37
  380. package/src/agGrid/AgGridModulesAdapter.d.ts +15 -0
  381. package/src/agGrid/AgGridModulesAdapter.js +70 -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 +4 -4
  388. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +1 -1
  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 +114 -22
  394. package/src/components/icons/DefaultIcon.d.ts +0 -1
  395. package/src/components/icons/DefaultIcon.js +0 -8
  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 +28 -0
  409. package/src/types.d.ts +7 -8
  410. package/tsconfig.cjs.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 -136
  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 -18
  417. package/src/agGrid/getAgGridFilterNotifyModelFn.d.ts +0 -2
  418. package/src/agGrid/getAgGridFilterNotifyModelFn.js +0 -21
  419. /package/src/AdaptableState/Common/{ExtendedLayoutInfo.js → ExtendedLayout.js} +0 -0
@@ -4,7 +4,8 @@ exports.GridInternalApi = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const Enums_1 = require("../../AdaptableState/Common/Enums");
6
6
  const InternalRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/InternalRedux"));
7
- const ArrayExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/ArrayExtensions"));
7
+ const ArrayExtensions_1 = require("../../Utilities/Extensions/ArrayExtensions");
8
+ const infinite_react_1 = require("@infinite-table/infinite-react");
8
9
  const StyleHelper_1 = require("../../Utilities/Helpers/StyleHelper");
9
10
  const UIHelper_1 = tslib_1.__importDefault(require("../../View/UIHelper"));
10
11
  const ApiBase_1 = require("../Implementation/ApiBase");
@@ -40,20 +41,13 @@ class GridInternalApi extends ApiBase_1.ApiBase {
40
41
  if (abColumn == undefined) {
41
42
  return [];
42
43
  }
43
- let gridCells = await this._adaptable.getDistinctFilterValuesForColumn({
44
+ const inFilterValues = await this._adaptable.getDistinctFilterValuesForColumn({
44
45
  column: abColumn,
45
46
  get currentSearchValue() {
46
47
  return options.currentSearchValue;
47
48
  },
48
49
  });
49
- gridCells = gridCells || [];
50
- const valueOptions = gridCells.map((cv) => {
51
- return {
52
- label: cv.displayValue,
53
- value: cv.normalisedValue,
54
- };
55
- });
56
- return valueOptions;
50
+ return inFilterValues || [];
57
51
  }
58
52
  async getDistinctValuesForColumn(columnId) {
59
53
  const abColumn = this.getColumnApi().getColumnWithColumnId(columnId);
@@ -63,31 +57,19 @@ class GridInternalApi extends ApiBase_1.ApiBase {
63
57
  const gridCells = await this._adaptable.getDistinctValuesForColumn(abColumn);
64
58
  return gridCells;
65
59
  }
66
- async getDistinctDisplayValuesForColumn(columnId) {
67
- const distinctValues = await this.getDistinctValuesForColumn(columnId);
68
- return distinctValues.map((gc) => {
69
- return gc.displayValue;
70
- });
71
- }
72
60
  async getDistinctEditDisplayValuesForColumn(options) {
73
61
  const abColumn = this.getColumnApi().getColumnWithColumnId(options.columnId);
74
62
  if (!abColumn) {
75
63
  return undefined;
76
64
  }
77
- let gridCells = await this._adaptable.getDistinctEditValuesForColumn({
65
+ const valueOptions = await this._adaptable.getDistinctEditValuesForColumn({
78
66
  column: abColumn,
79
67
  gridCell: options.gridCell,
80
68
  get currentSearchValue() {
81
69
  return options.currentSearchValue;
82
70
  },
83
71
  });
84
- gridCells = gridCells || [];
85
- return gridCells.map((gc) => {
86
- return {
87
- label: gc.displayValue,
88
- value: gc.normalisedValue,
89
- };
90
- });
72
+ return valueOptions || [];
91
73
  }
92
74
  /**
93
75
  * Gets all distinct raw values in Column. Values are sorted.
@@ -113,6 +95,58 @@ class GridInternalApi extends ApiBase_1.ApiBase {
113
95
  }
114
96
  return this._adaptable.getDistinctGridCellsForColumn(abColumn);
115
97
  }
98
+ getSortedRowNodesWithCurrentLayoutSortOrder(rowNodes) {
99
+ const currentLayout = this.getLayoutApi().getCurrentLayout();
100
+ const columnSorts = currentLayout.ColumnSorts || [];
101
+ const columnApi = this.getColumnApi();
102
+ const rowNodesMapToCells = new Map();
103
+ const allRowNodes = [];
104
+ // for each row node,let's create an object
105
+ // with only those gridcells that are needed - meaning
106
+ // for those column that are in the current sort
107
+ const rowNodeCallback = (node) => {
108
+ allRowNodes.push(node);
109
+ const rowNodeCells = {};
110
+ rowNodesMapToCells.set(node, rowNodeCells);
111
+ columnSorts.forEach((columnSort, i) => {
112
+ const { ColumnId } = columnSort;
113
+ const gridCell = this._adaptable.getGridCellFromRowNode(node, ColumnId);
114
+ rowNodeCells[ColumnId] = gridCell;
115
+ });
116
+ };
117
+ if (rowNodes) {
118
+ rowNodes.forEach(rowNodeCallback);
119
+ }
120
+ else {
121
+ this.getAgGridApi().forEachNode(rowNodeCallback);
122
+ }
123
+ if (!columnSorts.length) {
124
+ return allRowNodes;
125
+ }
126
+ const sortInfo = columnSorts.map((columnSort) => {
127
+ const { ColumnId } = columnSort;
128
+ // NOTE: the comparator we pass to multisort should always sort in ascending order
129
+ // that's why we pass SortOrder.Asc to the comparators
130
+ const comparator = columnApi.hasNumberDataType(ColumnId)
131
+ ? (0, ArrayExtensions_1.getNumericComparatorForGridCell)(Enums_1.SortOrder.Asc)
132
+ : columnApi.hasDateDataType(ColumnId)
133
+ ? (0, ArrayExtensions_1.getDateComparatorForGridCell)(Enums_1.SortOrder.Asc)
134
+ : (0, ArrayExtensions_1.getGenericComparatorForGridCell)(Enums_1.SortOrder.Asc);
135
+ return {
136
+ // but here we pass the actual direction of the column sort
137
+ dir: columnSort.SortOrder === 'Asc' ? 1 : -1,
138
+ fn: (rowNodeA, rowNodeB) => {
139
+ const gridCellA = rowNodesMapToCells.get(rowNodeA)?.[ColumnId];
140
+ const gridCellB = rowNodesMapToCells.get(rowNodeB)?.[ColumnId];
141
+ if (!gridCellA || !gridCellB) {
142
+ return 0;
143
+ }
144
+ return comparator(gridCellA, gridCellB);
145
+ },
146
+ };
147
+ });
148
+ return (0, infinite_react_1.multisort)(sortInfo, allRowNodes);
149
+ }
116
150
  sortDistinctValues(returnValues, column) {
117
151
  // this does NOT into account Custom Sort - far too hard for now...
118
152
  let sortOrder = undefined;
@@ -127,13 +161,13 @@ class GridInternalApi extends ApiBase_1.ApiBase {
127
161
  }
128
162
  if (sortOrder) {
129
163
  if (this.getColumnApi().hasNumberDataType(column?.columnId)) {
130
- returnValues = ArrayExtensions_1.default.sortCellValueArrayNumeric(returnValues, sortOrder);
164
+ returnValues = (0, ArrayExtensions_1.sortCellValueArrayNumeric)(returnValues, sortOrder);
131
165
  }
132
166
  else if (this.getColumnApi().hasDateDataType(column?.columnId)) {
133
- returnValues = ArrayExtensions_1.default.sortCellValueArrayDates(returnValues, sortOrder);
167
+ returnValues = (0, ArrayExtensions_1.sortCellValueArrayDates)(returnValues, sortOrder);
134
168
  }
135
169
  else {
136
- returnValues = ArrayExtensions_1.default.sortCellValueArray(returnValues, sortOrder);
170
+ returnValues = (0, ArrayExtensions_1.sortCellValueArray)(returnValues, sortOrder);
137
171
  }
138
172
  }
139
173
  return returnValues;
@@ -226,5 +260,20 @@ class GridInternalApi extends ApiBase_1.ApiBase {
226
260
  }
227
261
  return undefined;
228
262
  }
263
+ isRowFilterable(rowNode) {
264
+ // first assess if the Row is filterable - if not, then return true so it appears in Grid
265
+ const isRowFilterable = this.getOptionsApi().getFilterOptions().isRowFilterable;
266
+ if (typeof isRowFilterable === 'function') {
267
+ const rowFilterableContext = {
268
+ ...this.getAdaptableApi().internalApi.buildBaseContext(),
269
+ rowNode,
270
+ data: rowNode.data,
271
+ };
272
+ if (!isRowFilterable(rowFilterableContext)) {
273
+ return false;
274
+ }
275
+ }
276
+ return true;
277
+ }
229
278
  }
230
279
  exports.GridInternalApi = GridInternalApi;
@@ -1,8 +1,7 @@
1
- import { LayoutAssociatedObject } from '../../AdaptableOptions/LayoutOptions';
2
- import { AdaptableModule } from '../../AdaptableState/Common/Types';
3
- import { Layout, PivotLayout, TableLayout } from '../../AdaptableState/LayoutState';
1
+ import { Layout, LayoutBase, PivotLayout, TableLayout } from '../../AdaptableState/LayoutState';
4
2
  import { ApiBase } from '../Implementation/ApiBase';
5
3
  import { ColDef, ColGroupDef } from 'ag-grid-enterprise';
4
+ import { LayoutExtensionObject, LayoutExtensionModule } from '../../types';
6
5
  export declare class LayoutInternalApi extends ApiBase {
7
6
  getNormalizedLayout(layout: TableLayout | PivotLayout): TableLayout | PivotLayout;
8
7
  sortColumnDefsByPivotAggregationOrder(columnDefs: (ColDef | ColGroupDef)[], pivotAggregationColumns: PivotLayout['PivotAggregationColumns']): (ColDef | ColGroupDef)[];
@@ -27,9 +26,15 @@ export declare class LayoutInternalApi extends ApiBase {
27
26
  RowSummaries: boolean;
28
27
  };
29
28
  hasLayoutSpecificObjects(): boolean;
30
- isObjectAvailableInLayout(object: LayoutAssociatedObject, module: AdaptableModule, layout: Layout): boolean;
31
- showLayoutNotAssociatedObjects(): boolean;
29
+ isObjectExtendedInLayout(object: LayoutExtensionObject, module: LayoutExtensionModule, layout: Layout): boolean;
30
+ showLayoutNonExtendedObjects(): boolean;
32
31
  isLayoutGrouped(layout?: Layout): boolean;
33
32
  setupRowSummaries(): void;
34
33
  refreshLayout(): void;
34
+ getChangedColumnSorts(oldSorts: LayoutBase['ColumnSorts'], newSorts: LayoutBase['ColumnSorts']): string[];
35
+ buildInitialLayout(providedLayout: Partial<Layout> & {
36
+ Name: string;
37
+ }, type?: 'table' | 'pivot'): Layout;
38
+ private getDefaultLayoutProperties;
39
+ cloneLayout(layoutToClone: Layout): Omit<Layout, 'Name'>;
35
40
  }
@@ -6,6 +6,9 @@ const ModuleConstants_1 = require("../../Utilities/Constants/ModuleConstants");
6
6
  const ArrayExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/ArrayExtensions"));
7
7
  const ApiBase_1 = require("../Implementation/ApiBase");
8
8
  const LayoutHelpers_1 = require("../Implementation/LayoutHelpers");
9
+ const ObjectFactory_1 = tslib_1.__importDefault(require("../../Utilities/ObjectFactory"));
10
+ const Helper_1 = tslib_1.__importDefault(require("../../Utilities/Helpers/Helper"));
11
+ const AdaptableHelper_1 = tslib_1.__importDefault(require("../../Utilities/Helpers/AdaptableHelper"));
9
12
  class LayoutInternalApi extends ApiBase_1.ApiBase {
10
13
  getNormalizedLayout(layout) {
11
14
  return (0, LayoutHelpers_1.normalizeLayout)(layout);
@@ -124,12 +127,12 @@ class LayoutInternalApi extends ApiBase_1.ApiBase {
124
127
  return false;
125
128
  }
126
129
  if (layoutTagOptions.autoCheckTagsForLayouts == true ||
127
- typeof layoutTagOptions?.isObjectAvailableInLayout === 'function') {
130
+ typeof layoutTagOptions?.isObjectExtendedInLayout === 'function') {
128
131
  return true;
129
132
  }
130
133
  return false;
131
134
  }
132
- isObjectAvailableInLayout(object, module, layout) {
135
+ isObjectExtendedInLayout(object, module, layout) {
133
136
  if (!this.hasLayoutSpecificObjects()) {
134
137
  return true;
135
138
  }
@@ -143,10 +146,10 @@ class LayoutInternalApi extends ApiBase_1.ApiBase {
143
146
  layout,
144
147
  ...this.getAdaptableInternalApi().buildBaseContext(),
145
148
  };
146
- return layoutTagOptions?.isObjectAvailableInLayout(context);
149
+ return layoutTagOptions?.isObjectExtendedInLayout(context);
147
150
  }
148
- showLayoutNotAssociatedObjects() {
149
- return this.getAdaptableState().Internal.Layout.ShowLayoutNotAssociatedObjects;
151
+ showLayoutNonExtendedObjects() {
152
+ return this.getAdaptableState().Internal.Layout.showLayoutNonExtendedObjects;
150
153
  }
151
154
  isLayoutGrouped(layout) {
152
155
  if (!layout) {
@@ -155,6 +158,10 @@ class LayoutInternalApi extends ApiBase_1.ApiBase {
155
158
  return (layout?.RowGroupedColumns?.length || layout?.PivotGroupedColumns?.length) > 0;
156
159
  }
157
160
  setupRowSummaries() {
161
+ if (!this._adaptable.agGridModulesAdapter.isAgGridModuleRegistered('PinnedRowModule')) {
162
+ this.getAdaptableApi().consoleError(`Can NOT set Layout Row Summaries - missing required AG Grid module 'PinnedRowModule'`);
163
+ return;
164
+ }
158
165
  const rowSummaries = this.getAdaptableState().Internal?.RowSummary?.rowSummaries ?? [];
159
166
  const { top, bottom } = rowSummaries.reduce((acc, summaryRow) => {
160
167
  const row = summaryRow.RowData;
@@ -173,5 +180,78 @@ class LayoutInternalApi extends ApiBase_1.ApiBase {
173
180
  refreshLayout() {
174
181
  this._adaptable.refreshLayout();
175
182
  }
183
+ getChangedColumnSorts(oldSorts, newSorts) {
184
+ if (ArrayExtensions_1.default.IsNullOrEmpty(oldSorts) && ArrayExtensions_1.default.IsNullOrEmpty(newSorts)) {
185
+ return [];
186
+ }
187
+ // If either one is empty but not both, all columns in the non-empty array have changed
188
+ if (ArrayExtensions_1.default.IsNullOrEmpty(oldSorts)) {
189
+ return newSorts.map((sort) => sort.ColumnId);
190
+ }
191
+ if (ArrayExtensions_1.default.IsNullOrEmpty(newSorts)) {
192
+ return oldSorts.map((sort) => sort.ColumnId);
193
+ }
194
+ const changedColumnIds = [];
195
+ // Create maps for quick lookup
196
+ const oldSortsMap = new Map();
197
+ oldSorts.forEach((sort) => {
198
+ oldSortsMap.set(sort.ColumnId, sort.SortOrder);
199
+ });
200
+ // Check columns in new sorts that changed from old sorts
201
+ newSorts.forEach((newSort) => {
202
+ const oldSortOrder = oldSortsMap.get(newSort.ColumnId);
203
+ // If column wasn't sorted before or sort order changed
204
+ if (oldSortOrder === undefined || oldSortOrder !== newSort.SortOrder) {
205
+ changedColumnIds.push(newSort.ColumnId);
206
+ }
207
+ // Remove processed columns from the map
208
+ oldSortsMap.delete(newSort.ColumnId);
209
+ });
210
+ // Add remaining columns from old sorts (these were removed in new sorts)
211
+ oldSortsMap.forEach((_, columnId) => {
212
+ changedColumnIds.push(columnId);
213
+ });
214
+ return changedColumnIds;
215
+ }
216
+ buildInitialLayout(providedLayout, type) {
217
+ const layoutType = type || ((0, LayoutHelpers_1.isPivotLayout)(providedLayout) ? 'pivot' : 'table');
218
+ const providedTableLayout = providedLayout;
219
+ const providedPivotLayout = providedLayout;
220
+ const initialEmptyLayout = layoutType === 'pivot'
221
+ ? ObjectFactory_1.default.CreateEmptyPivotLayout({ ...providedPivotLayout })
222
+ : ObjectFactory_1.default.CreateEmptyTableLayout({ ...providedTableLayout });
223
+ const defaultLayoutProperties = this.getDefaultLayoutProperties(layoutType);
224
+ const initialLayout = {
225
+ ...initialEmptyLayout,
226
+ ...defaultLayoutProperties,
227
+ };
228
+ return initialLayout;
229
+ }
230
+ getDefaultLayoutProperties(layoutType) {
231
+ const defaultLayoutPropertiesOption = this.getLayoutOptions().defaultLayoutProperties;
232
+ if (typeof defaultLayoutPropertiesOption === 'object') {
233
+ const initialProps = layoutType === 'table'
234
+ ? defaultLayoutPropertiesOption.tableLayout
235
+ : defaultLayoutPropertiesOption.pivotLayout;
236
+ return initialProps;
237
+ }
238
+ if (typeof defaultLayoutPropertiesOption === 'function') {
239
+ const context = {
240
+ layoutType,
241
+ ...this.getAdaptableInternalApi().buildBaseContext(),
242
+ };
243
+ return defaultLayoutPropertiesOption(context);
244
+ }
245
+ return {};
246
+ }
247
+ cloneLayout(layoutToClone) {
248
+ let clonedLayout = Helper_1.default.cloneObject(layoutToClone);
249
+ let result = {
250
+ ...this.buildInitialLayout(clonedLayout),
251
+ };
252
+ result = AdaptableHelper_1.default.removeAdaptableObjectPrimitivesInlineDeep(result);
253
+ delete result.Name;
254
+ return result;
255
+ }
176
256
  }
177
257
  exports.LayoutInternalApi = LayoutInternalApi;
@@ -4,12 +4,8 @@ import { SystemFilterPredicateId } from '../../AdaptableState/Common/ColumnFilte
4
4
  import { AdaptableColumnDataType } from '../../AdaptableState/Common/AdaptableColumn';
5
5
  import { ColumnScope } from '../../types';
6
6
  export declare class PredicateInternalApi extends ApiBase {
7
- /**
8
- * Returns true if the predicate has a dropdown.
9
- *
10
- * @param predicate
11
- */
12
- hasPredicateValues(predicate: AdaptablePredicate): boolean;
7
+ IsInOrNotInPredicate(predicate: AdaptablePredicate): boolean;
8
+ IsInorNotInPredicateDef(predicateDef: AdaptablePredicateDef): boolean;
13
9
  /**
14
10
  * Get all Filter Predicate Definitions - System and Custom
15
11
  */
@@ -3,14 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PredicateInternalApi = void 0;
4
4
  const ApiBase_1 = require("../Implementation/ApiBase");
5
5
  class PredicateInternalApi extends ApiBase_1.ApiBase {
6
- /**
7
- * Returns true if the predicate has a dropdown.
8
- *
9
- * @param predicate
10
- */
11
- hasPredicateValues(predicate) {
6
+ IsInOrNotInPredicate(predicate) {
12
7
  return predicate?.PredicateId === 'In' || predicate?.PredicateId === 'NotIn';
13
8
  }
9
+ IsInorNotInPredicateDef(predicateDef) {
10
+ return predicateDef && ['In', 'NotIn'].includes(predicateDef.id);
11
+ }
14
12
  /**
15
13
  * Get all Filter Predicate Definitions - System and Custom
16
14
  */
@@ -2,5 +2,6 @@ import { AdaptableColumn, AdaptableIcon } from '../../types';
2
2
  import { ApiBase } from '../Implementation/ApiBase';
3
3
  export declare class UserInterfaceInternalApi extends ApiBase {
4
4
  prepareAdaptableIconDef(icon: AdaptableIcon): AdaptableIcon;
5
+ getCustomIconDefinition(iconName: string): AdaptableIcon | import("../../types").CustomIcon;
5
6
  shouldShowSelectCellEditor(column: AdaptableColumn): boolean;
6
7
  }
@@ -5,15 +5,22 @@ const ApiBase_1 = require("../Implementation/ApiBase");
5
5
  class UserInterfaceInternalApi extends ApiBase_1.ApiBase {
6
6
  prepareAdaptableIconDef(icon) {
7
7
  if (icon && 'name' in icon) {
8
- let customIcon = icon && 'name' in icon
9
- ? this.getUserInterfaceApi().getCustomIconDefinition(icon.name)
10
- : null;
8
+ let customIcon = icon && 'name' in icon ? this.getCustomIconDefinition(icon.name) : null;
11
9
  if (customIcon) {
12
10
  icon = customIcon;
13
11
  }
14
12
  }
15
13
  return icon;
16
14
  }
15
+ getCustomIconDefinition(iconName) {
16
+ let customIcon = undefined;
17
+ const customIcons = this.getUserInterfaceApi().getCustomIcons();
18
+ customIcon = customIcons.find((icon) => icon.name === iconName);
19
+ if (customIcon) {
20
+ return customIcon.icon;
21
+ }
22
+ return customIcon;
23
+ }
17
24
  shouldShowSelectCellEditor(column) {
18
25
  const showSelectCellEditor = this.getEditOptions().showSelectCellEditor;
19
26
  if (showSelectCellEditor) {
@@ -1,5 +1,5 @@
1
1
  import { AdaptableColumn, ColumnSort, PivotLayout, TableLayout } from '../../types';
2
- import { ExtendedLayoutInfo } from '../AdaptableState/Common/ExtendedLayoutInfo';
2
+ import { ExtendedLayout } from '../AdaptableState/Common/ExtendedLayout';
3
3
  import { LayoutState, Layout } from '../AdaptableState/LayoutState';
4
4
  /**
5
5
  * Provides run-time access to the Layout Module and associated state
@@ -61,7 +61,12 @@ export interface LayoutApi {
61
61
  * @param layoutName Layout to retrieve
62
62
  * @returns layout
63
63
  */
64
- getExtendedLayoutByName(layoutName: string): ExtendedLayoutInfo | undefined;
64
+ getExtendedLayoutByName(layoutName: string): ExtendedLayout | undefined;
65
+ /**
66
+ * Creates (or Updates) an Extended Layout
67
+ * @param extendedLayoutInfo extendedLayout to Create
68
+ */
69
+ createOrUpdateExtendedLayout(extendedLayoutInfo: ExtendedLayout): void;
65
70
  /**
66
71
  * Retrieves all Layouts in Adaptable State
67
72
  * @returns layouts
@@ -1,5 +1,6 @@
1
1
  import { PlusMinusState, PlusMinusNudge } from '../AdaptableState/PlusMinusState';
2
2
  import { CellUpdateRequest, GridCell } from '../AdaptableState/Selection/GridCell';
3
+ import { LayoutExtendedConfig } from '../types';
3
4
  /**
4
5
  * Provides run-time access to the Plus / Minus Module and associated state
5
6
  */
@@ -10,27 +11,25 @@ export interface PlusMinusApi {
10
11
  getPlusMinusState(): PlusMinusState;
11
12
  /**
12
13
  * Retrieves all Plus Minus Rules in Adaptable State with those with expressions first
13
- * @returns plus minus rule
14
+ * @returns all plus minus rules
14
15
  */
15
- getAllPlusMinus(config?: {
16
- includeLayoutNotAssociatedObjects?: boolean;
17
- }): PlusMinusNudge[];
16
+ getAllPlusMinus(config?: LayoutExtendedConfig): PlusMinusNudge[];
18
17
  /**
19
18
  * Retrieves Plus Minus Rule by the technical ID (from `PlusMinusState`)
20
19
  * @param id Plus Minus id
21
20
  * @returns plus minus rule
22
21
  */
23
- getPlusMinusById(id: PlusMinusNudge['Uuid']): PlusMinusNudge;
22
+ getPlusMinusById(id: PlusMinusNudge['Uuid'], config?: LayoutExtendedConfig): PlusMinusNudge;
24
23
  /**
25
24
  * Retrieves all active (not-suspended) Plus Minus Rules in Adaptable State with those with expressions first
26
25
  * @returns plus minus rules
27
26
  */
28
- getAllActivePlusMinus(): PlusMinusNudge[];
27
+ getAllActivePlusMinus(config?: LayoutExtendedConfig): PlusMinusNudge[];
29
28
  /**
30
29
  * Retrieves all suspended Plus Minus Rules in Adaptable State with those with expressions first
31
30
  * @returns plus minus rules
32
31
  */
33
- getAllSuspendedPlusMinus(): PlusMinusNudge[];
32
+ getAllSuspendedPlusMinus(config?: LayoutExtendedConfig): PlusMinusNudge[];
34
33
  /**
35
34
  * Applies a Plus Minus Rule to given cells
36
35
  * @param plusMinusNudge Plus Minus Rule to apply
@@ -53,6 +52,11 @@ export interface PlusMinusApi {
53
52
  * @returns plus minus rule
54
53
  */
55
54
  editPlusMinusNudge(plusMinusNudge: PlusMinusNudge): PlusMinusNudge;
55
+ /**
56
+ * Deletes a plus minus rule
57
+ * @param plusMinusNudge Plus Minus Rule to delete
58
+ */
59
+ deletePlusMinusNudge(plusMinusNudge: PlusMinusNudge): void;
56
60
  /**
57
61
  * Adds new Plus Minus Rule to State
58
62
  * @param plusMinusNudge Plus Minus Rule to add
@@ -3,6 +3,7 @@ import { ReportSchedule } from '../AdaptableState/ExportState';
3
3
  import { IPushPullSchedule } from '../AdaptableState/IPushPullState';
4
4
  import { OpenFinSchedule } from '../AdaptableState/OpenFinState';
5
5
  import { ReminderSchedule, ScheduleState } from '../AdaptableState/ScheduleState';
6
+ import { LayoutExtendedConfig } from '../types';
6
7
  /**
7
8
  * Provides run-time access to the Schedule Module and associated state
8
9
  */
@@ -15,30 +16,28 @@ export interface ScheduleApi {
15
16
  * Retrieves the Schedule section from Adaptable State
16
17
  * @returns schedules
17
18
  */
18
- getSchedules(): BaseSchedule[];
19
+ getSchedules(config?: LayoutExtendedConfig): BaseSchedule[];
19
20
  /**
20
21
  * Retrieves Schedule by id
21
22
  * @param id Schedule id
22
23
  * @returns schedule
23
24
  */
24
- getScheduleById(id: BaseSchedule['Uuid']): BaseSchedule;
25
+ getScheduleById(id: BaseSchedule['Uuid'], config?: LayoutExtendedConfig): BaseSchedule;
25
26
  /**
26
27
  * Retrieves all Reminder-based Schedules from Schedule State
27
28
  * @returns reminder schedules
28
29
  */
29
- getReminderSchedules(config?: {
30
- includeLayoutNotAssociatedObjects?: boolean;
31
- }): ReminderSchedule[];
30
+ getReminderSchedules(config?: LayoutExtendedConfig): ReminderSchedule[];
32
31
  /**
33
32
  * Retrieves all active (not-suspended) Reminder-based Schedules from Schedule State
34
33
  * @returns reminder schedules
35
34
  */
36
- getActiveReminderSchedules(): ReminderSchedule[];
35
+ getActiveReminderSchedules(config?: LayoutExtendedConfig): ReminderSchedule[];
37
36
  /**
38
37
  * Retrieves all suspended Reminder-based Schedules from Schedule State
39
38
  * @returns reminder schedules
40
39
  */
41
- getSuspendedReminderSchedules(): ReminderSchedule[];
40
+ getSuspendedReminderSchedules(config?: LayoutExtendedConfig): ReminderSchedule[];
42
41
  /**
43
42
  * Adds Reminder-based Schedule
44
43
  * @param ReminderSchedule Reminder Schedule to add
@@ -72,9 +71,7 @@ export interface ScheduleApi {
72
71
  * Retrieves all Report / Export Schedules from Schedule State
73
72
  * @returns report schedules
74
73
  */
75
- getReportSchedules(config?: {
76
- includeLayoutNotAssociatedObjects?: boolean;
77
- }): ReportSchedule[];
74
+ getReportSchedules(config?: LayoutExtendedConfig): ReportSchedule[];
78
75
  /**
79
76
  * Retrieves all active (not-suspended) Report / Export Schedules from Schedule State
80
77
  * @returns report schedules
@@ -118,9 +115,7 @@ export interface ScheduleApi {
118
115
  * Retrieves all ipushpull-based Schedules from Schedule State
119
116
  * @returns IPushPull schedules
120
117
  */
121
- getIPushPullSchedules(config?: {
122
- includeLayoutNotAssociatedObjects?: boolean;
123
- }): IPushPullSchedule[];
118
+ getIPushPullSchedules(config?: LayoutExtendedConfig): IPushPullSchedule[];
124
119
  /**
125
120
  * Retrieves all active (not-suspended) ipushpull-based Schedules from Schedule State
126
121
  * @returns IPushPull schedules
@@ -164,9 +159,7 @@ export interface ScheduleApi {
164
159
  * Retrieves all OpenFin-based Schedules from Schedule State
165
160
  * @returns OpenFin schedules
166
161
  */
167
- getOpenFinSchedules(config?: {
168
- includeLayoutNotAssociatedObjects?: boolean;
169
- }): OpenFinSchedule[];
162
+ getOpenFinSchedules(config?: LayoutExtendedConfig): OpenFinSchedule[];
170
163
  /**
171
164
  * Retrieves all active (not-suspended) OpenFin-based Schedules from Schedule State
172
165
  * @returns OpenFin schedules
@@ -1,4 +1,5 @@
1
1
  import { ShortcutState, Shortcut } from '../AdaptableState/ShortcutState';
2
+ import { LayoutExtendedConfig } from '../types';
2
3
  /**
3
4
  * Provides run-time access to Shortcut Module and associated state
4
5
  */
@@ -11,25 +12,23 @@ export interface ShortcutApi {
11
12
  * Gets all Shortcuts in Adaptable State
12
13
  * @returns shortcuts
13
14
  */
14
- getShortcuts(config?: {
15
- includeLayoutNotAssociatedObjects?: boolean;
16
- }): Shortcut[];
15
+ getShortcuts(config?: LayoutExtendedConfig): Shortcut[];
17
16
  /**
18
17
  * Retrieves Shortcut by Id
19
18
  * @param id Shortcut id
20
19
  * @returns shortcut
21
20
  */
22
- getShortcutById(id: Shortcut['Uuid']): Shortcut;
21
+ getShortcutById(id: Shortcut['Uuid'], config?: LayoutExtendedConfig): Shortcut;
23
22
  /**
24
23
  * Gets all active (not-suspended) Shortcuts in Adaptable State
25
24
  * @returns shortcuts
26
25
  */
27
- getActiveShortcuts(): Shortcut[];
26
+ getActiveShortcuts(config?: LayoutExtendedConfig): Shortcut[];
28
27
  /**
29
28
  * Gets all suspended Shortcuts in Adaptable State
30
29
  * @returns shortcuts
31
30
  */
32
- getSuspendedShortcuts(): Shortcut[];
31
+ getSuspendedShortcuts(config?: LayoutExtendedConfig): Shortcut[];
33
32
  /**
34
33
  * Adds new Shortcut to the state
35
34
  * @param shortcut Shortcut to add
@@ -1,5 +1,6 @@
1
1
  import { AdaptableColumn } from '../AdaptableState/Common/AdaptableColumn';
2
2
  import { StyledColumn, StyledColumnState } from '../AdaptableState/StyledColumnState';
3
+ import { LayoutExtendedConfig } from '../types';
3
4
  /**
4
5
  * Provides run-time access to Styled Column Module and associated state
5
6
  */
@@ -12,36 +13,38 @@ export interface StyledColumnApi {
12
13
  * Retrieves all Styled Columns in Adaptable State
13
14
  * @returns Styled Columns
14
15
  */
15
- getStyledColumns(config?: {
16
- includeLayoutNotAssociatedObjects?: boolean;
17
- }): StyledColumn[];
16
+ getStyledColumns(config?: LayoutExtendedConfig): StyledColumn[];
18
17
  /**
19
18
  * Retrieves Styled Column by Id
20
19
  * @param id Styled Column id
21
20
  * @returns Styled Column
22
21
  */
23
- getStyledColumnById(id: StyledColumn['Uuid']): StyledColumn;
22
+ getStyledColumnById(id: StyledColumn['Uuid'], config?: LayoutExtendedConfig): StyledColumn;
24
23
  /**
25
24
  * Retrieves Styled Column for given Column Id
26
25
  * @param columnId Styled Column id
27
26
  * @returns Styled Column
28
27
  */
29
- getStyledColumnForColumnId(columnId: StyledColumn['ColumnId']): StyledColumn;
28
+ getStyledColumnForColumnId(columnId: StyledColumn['ColumnId'], config?: LayoutExtendedConfig): StyledColumn;
30
29
  /**
31
30
  * Retrieves all active (not-suspended) Styled Columns in Adaptable State
32
31
  * @returns Styled Columns
33
32
  */
34
- getActiveStyledColumns(): StyledColumn[];
33
+ getActiveStyledColumns(config?: LayoutExtendedConfig): StyledColumn[];
35
34
  /**
36
35
  * Retrieves all suspended Styled Columns in Adaptable State
37
36
  * @returns Styled Columns
38
37
  */
39
- getSuspendedStyledColumns(): StyledColumn[];
38
+ getSuspendedStyledColumns(config?: LayoutExtendedConfig): StyledColumn[];
40
39
  /**
41
40
  * Delete a Styled column
42
41
  * @param styledColumn
43
42
  */
44
43
  deleteStyledColumn(styledColumn: StyledColumn): void;
44
+ /**
45
+ * Delete all Styled Columns in State
46
+ */
47
+ deleteAllStyledColumns(): void;
45
48
  /**
46
49
  * Create a Styled column
47
50
  * @param styledColumn
@@ -1,6 +1,6 @@
1
1
  import { AdaptableStyle } from '../AdaptableState/Common/AdaptableStyle';
2
2
  import { AdaptableObject, AdaptableObjectTag } from '../AdaptableState/Common/AdaptableObject';
3
- import { AdaptableIcon, AdaptableModule } from '../types';
3
+ import { AdaptableModule, CustomIcon } from '../types';
4
4
  import { CustomWindowConfig } from '../AdaptableState/Common/CustomWindowConfig';
5
5
  import { ProgressIndicatorConfig } from '../AdaptableState/Common/ProgressIndicatorConfig';
6
6
  /**
@@ -11,6 +11,10 @@ export interface UserInterfaceApi {
11
11
  * Retrieves Color Palette currently being used
12
12
  */
13
13
  getColorPalette(): string[];
14
+ /**
15
+ * Retrieves Custom Icons provided by users
16
+ */
17
+ getCustomIcons(): CustomIcon[];
14
18
  /**
15
19
  * Retrieves any Style Class Names from User Interface Options
16
20
  */
@@ -37,11 +41,6 @@ export interface UserInterfaceApi {
37
41
  * @param adaptableModule optional Module to check
38
42
  */
39
43
  getAdaptableObjectsWithTag(tag: AdaptableObjectTag, adaptableModule?: AdaptableModule): AdaptableObject[] | undefined;
40
- /**
41
- * Returns AdapTable Icon with given name
42
- * @param name name of Icon
43
- */
44
- getCustomIconDefinition(name: string): AdaptableIcon | undefined;
45
44
  /**
46
45
  * Displays a progress indicator
47
46
  * @param config.progressText - text to display in the progress indicator