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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (427) hide show
  1. package/agGrid.d.ts +2 -1
  2. package/agGrid.js +3 -1
  3. package/base.css +36 -15
  4. package/base.css.map +1 -1
  5. package/icons/add-circle.svg +1 -0
  6. package/icons/add.svg +1 -0
  7. package/icons/alert.svg +1 -0
  8. package/icons/align-center.svg +1 -0
  9. package/icons/align-justify.svg +1 -0
  10. package/icons/align-left.svg +1 -0
  11. package/icons/align-right.svg +1 -0
  12. package/icons/arrow-down-long.svg +1 -0
  13. package/icons/arrow-down.svg +1 -0
  14. package/icons/arrow-expand.svg +1 -0
  15. package/icons/arrow-left.svg +1 -0
  16. package/icons/arrow-right.svg +1 -0
  17. package/icons/arrow-up-long.svg +1 -0
  18. package/icons/arrow-up.svg +1 -0
  19. package/icons/assignment.svg +1 -0
  20. package/icons/badge.svg +1 -0
  21. package/icons/bold.svg +1 -0
  22. package/icons/boolean-list.svg +1 -0
  23. package/icons/brain.svg +1 -0
  24. package/icons/broadcast.svg +1 -0
  25. package/icons/brush.svg +1 -0
  26. package/icons/building.svg +1 -0
  27. package/icons/calculated-column.svg +1 -0
  28. package/icons/calendar.svg +1 -0
  29. package/icons/call.svg +1 -0
  30. package/icons/case-lower.svg +1 -0
  31. package/icons/case-sentence.svg +1 -0
  32. package/icons/case-upper.svg +1 -0
  33. package/icons/cells.svg +1 -0
  34. package/icons/chart.svg +1 -0
  35. package/icons/chat.svg +1 -0
  36. package/icons/check-circle.svg +1 -0
  37. package/icons/check.svg +1 -0
  38. package/icons/checked.svg +1 -0
  39. package/icons/clipboard.svg +1 -0
  40. package/icons/clone.svg +1 -0
  41. package/icons/close.svg +1 -0
  42. package/icons/cloud-upload.svg +1 -0
  43. package/icons/collapse-all.svg +1 -0
  44. package/icons/collapse.svg +1 -0
  45. package/icons/color-palette.svg +1 -0
  46. package/icons/column-add.svg +1 -0
  47. package/icons/column-outline.svg +1 -0
  48. package/icons/columns.svg +1 -0
  49. package/icons/comment.svg +1 -0
  50. package/icons/comments.svg +1 -0
  51. package/icons/contact.svg +1 -0
  52. package/icons/contains.svg +1 -0
  53. package/icons/copy.svg +1 -0
  54. package/icons/csv.svg +1 -0
  55. package/icons/dashboard.svg +1 -0
  56. package/icons/data-set.svg +1 -0
  57. package/icons/date-range.svg +1 -0
  58. package/icons/delete.svg +1 -0
  59. package/icons/division.svg +1 -0
  60. package/icons/dock.svg +1 -0
  61. package/icons/dollar.svg +1 -0
  62. package/icons/download.svg +1 -0
  63. package/icons/downloaded.svg +1 -0
  64. package/icons/drag.svg +1 -0
  65. package/icons/edit-table.svg +1 -0
  66. package/icons/edit.svg +1 -0
  67. package/icons/ends-with.svg +1 -0
  68. package/icons/equals.svg +1 -0
  69. package/icons/equation.svg +1 -0
  70. package/icons/error.svg +1 -0
  71. package/icons/excel.svg +1 -0
  72. package/icons/expand-all.svg +1 -0
  73. package/icons/expand.svg +1 -0
  74. package/icons/exponent.svg +1 -0
  75. package/icons/export-data.svg +1 -0
  76. package/icons/export.svg +1 -0
  77. package/icons/fast-backward.svg +1 -0
  78. package/icons/fast-forward.svg +1 -0
  79. package/icons/fdc3.svg +1 -0
  80. package/icons/filled-circle.svg +1 -0
  81. package/icons/filter-list.svg +1 -0
  82. package/icons/filter-off.svg +1 -0
  83. package/icons/filter.svg +1 -0
  84. package/icons/flag.svg +1 -0
  85. package/icons/folder-open.svg +1 -0
  86. package/icons/folder-shared.svg +1 -0
  87. package/icons/folder.svg +1 -0
  88. package/icons/function.svg +1 -0
  89. package/icons/gradient.svg +1 -0
  90. package/icons/greater-than-or-equal.svg +1 -0
  91. package/icons/greater-than.svg +1 -0
  92. package/icons/grid-filter.svg +1 -0
  93. package/icons/grid-info.svg +1 -0
  94. package/icons/grid.svg +1 -0
  95. package/icons/history.svg +1 -0
  96. package/icons/home.svg +1 -0
  97. package/icons/horizontal-lines.svg +1 -0
  98. package/icons/import-export.svg +1 -0
  99. package/icons/import.svg +1 -0
  100. package/icons/info.svg +1 -0
  101. package/icons/interactions.svg +1 -0
  102. package/icons/italic.svg +1 -0
  103. package/icons/json.svg +1 -0
  104. package/icons/laptop.svg +1 -0
  105. package/icons/less-than-or-equal.svg +1 -0
  106. package/icons/less-than.svg +1 -0
  107. package/icons/lightning.svg +1 -0
  108. package/icons/link.svg +1 -0
  109. package/icons/list.svg +1 -0
  110. package/icons/logout.svg +1 -0
  111. package/icons/mail.svg +1 -0
  112. package/icons/menu.svg +1 -0
  113. package/icons/minus.svg +1 -0
  114. package/icons/money.svg +1 -0
  115. package/icons/multiplication.svg +1 -0
  116. package/icons/newpage.svg +1 -0
  117. package/icons/news.svg +1 -0
  118. package/icons/not-contains.svg +1 -0
  119. package/icons/not-equal.svg +1 -0
  120. package/icons/note.svg +1 -0
  121. package/icons/open-in-new.svg +1 -0
  122. package/icons/order.svg +1 -0
  123. package/icons/organisation.svg +1 -0
  124. package/icons/overline.svg +1 -0
  125. package/icons/paperclip.svg +1 -0
  126. package/icons/pause.svg +1 -0
  127. package/icons/percent-tag.svg +1 -0
  128. package/icons/percent.svg +1 -0
  129. package/icons/person.svg +1 -0
  130. package/icons/pie-chart.svg +1 -0
  131. package/icons/play.svg +1 -0
  132. package/icons/plus.svg +1 -0
  133. package/icons/quote.svg +1 -0
  134. package/icons/refresh.svg +1 -0
  135. package/icons/regex.svg +1 -0
  136. package/icons/reminder.svg +1 -0
  137. package/icons/resume.svg +1 -0
  138. package/icons/rows.svg +1 -0
  139. package/icons/save.svg +1 -0
  140. package/icons/schedule.svg +1 -0
  141. package/icons/science.svg +1 -0
  142. package/icons/search-table.svg +1 -0
  143. package/icons/search.svg +1 -0
  144. package/icons/select-all.svg +1 -0
  145. package/icons/select-fwd.svg +1 -0
  146. package/icons/select-off.svg +1 -0
  147. package/icons/settings.svg +1 -0
  148. package/icons/sort-asc.svg +1 -0
  149. package/icons/sort-desc.svg +1 -0
  150. package/icons/spanner.svg +1 -0
  151. package/icons/spark-line.svg +1 -0
  152. package/icons/starts-with.svg +1 -0
  153. package/icons/statusbar.svg +1 -0
  154. package/icons/stop.svg +1 -0
  155. package/icons/strikethrough.svg +1 -0
  156. package/icons/styled-grid.svg +1 -0
  157. package/icons/sync.svg +1 -0
  158. package/icons/tab-unselected.svg +1 -0
  159. package/icons/target.svg +1 -0
  160. package/icons/theme.svg +1 -0
  161. package/icons/traffic-lights.svg +1 -0
  162. package/icons/triangle-down.svg +1 -0
  163. package/icons/triangle-up.svg +1 -0
  164. package/icons/unchecked.svg +1 -0
  165. package/icons/underline.svg +1 -0
  166. package/icons/undo.svg +1 -0
  167. package/icons/unfilled-circle.svg +1 -0
  168. package/icons/upload.svg +1 -0
  169. package/icons/visibility-off-bold.svg +1 -0
  170. package/icons/visibility-off.svg +1 -0
  171. package/icons/visibility-on-bold.svg +1 -0
  172. package/icons/visibility-on.svg +1 -0
  173. package/icons/warning.svg +1 -0
  174. package/index.css +32 -15
  175. package/index.css.map +1 -1
  176. package/package.json +2 -2
  177. package/src/AdaptableInterfaces/IAdaptable.d.ts +10 -5
  178. package/src/AdaptableOptions/ColumnOptions.d.ts +71 -187
  179. package/src/AdaptableOptions/DefaultAdaptableOptions.js +3 -2
  180. package/src/AdaptableOptions/EditOptions.d.ts +4 -7
  181. package/src/AdaptableOptions/FilterOptions.d.ts +50 -15
  182. package/src/AdaptableOptions/LayoutOptions.d.ts +8 -21
  183. package/src/AdaptableOptions/PredicateOptions.d.ts +1 -1
  184. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +1 -1
  185. package/src/AdaptableState/Common/AdaptableColumn.d.ts +7 -0
  186. package/src/AdaptableState/Common/AdaptablePredicate.js +2 -2
  187. package/src/AdaptableState/Common/CustomWindowConfig.d.ts +11 -11
  188. package/src/AdaptableState/Common/ExtendedLayout.d.ts +50 -0
  189. package/src/AdaptableState/Common/ProgressIndicatorConfig.d.ts +1 -4
  190. package/src/AdaptableState/Common/RowScope.d.ts +1 -1
  191. package/src/AdaptableState/FormatColumnState.d.ts +16 -9
  192. package/src/AdaptableState/InternalState.d.ts +1 -1
  193. package/src/AdaptableState/LayoutState.d.ts +26 -6
  194. package/src/AdaptableState/Selection/GridCell.d.ts +32 -0
  195. package/src/AdaptableState/StyledColumnState.d.ts +2 -2
  196. package/src/Api/AlertApi.d.ts +5 -11
  197. package/src/Api/ColumnApi.d.ts +17 -1
  198. package/src/Api/ColumnFilterApi.d.ts +32 -2
  199. package/src/Api/CustomSortApi.d.ts +5 -10
  200. package/src/Api/FlashingCellApi.d.ts +10 -6
  201. package/src/Api/FormatColumnApi.d.ts +8 -18
  202. package/src/Api/Implementation/AlertApiImpl.d.ts +6 -9
  203. package/src/Api/Implementation/AlertApiImpl.js +7 -6
  204. package/src/Api/Implementation/ApiBase.d.ts +2 -12
  205. package/src/Api/Implementation/ApiBase.js +5 -5
  206. package/src/Api/Implementation/ColumnApiImpl.d.ts +5 -2
  207. package/src/Api/Implementation/ColumnApiImpl.js +59 -23
  208. package/src/Api/Implementation/ColumnFilterApiImpl.d.ts +7 -1
  209. package/src/Api/Implementation/ColumnFilterApiImpl.js +76 -3
  210. package/src/Api/Implementation/ColumnScopeApiImpl.js +10 -2
  211. package/src/Api/Implementation/CustomSortApiImpl.d.ts +5 -10
  212. package/src/Api/Implementation/CustomSortApiImpl.js +6 -4
  213. package/src/Api/Implementation/FlashingCellApiImpl.d.ts +7 -6
  214. package/src/Api/Implementation/FlashingCellApiImpl.js +11 -8
  215. package/src/Api/Implementation/FormatColumnApiImpl.d.ts +8 -18
  216. package/src/Api/Implementation/FormatColumnApiImpl.js +10 -9
  217. package/src/Api/Implementation/LayoutApiImpl.d.ts +3 -2
  218. package/src/Api/Implementation/LayoutApiImpl.js +101 -7
  219. package/src/Api/Implementation/LayoutHelpers.d.ts +1 -0
  220. package/src/Api/Implementation/LayoutHelpers.js +25 -5
  221. package/src/Api/Implementation/PlusMinusApiImpl.d.ts +7 -5
  222. package/src/Api/Implementation/PlusMinusApiImpl.js +10 -7
  223. package/src/Api/Implementation/ScheduleApiImpl.d.ts +9 -16
  224. package/src/Api/Implementation/ScheduleApiImpl.js +15 -17
  225. package/src/Api/Implementation/ShortcutApiImpl.d.ts +5 -6
  226. package/src/Api/Implementation/ShortcutApiImpl.js +7 -8
  227. package/src/Api/Implementation/StyledColumnApiImpl.d.ts +7 -8
  228. package/src/Api/Implementation/StyledColumnApiImpl.js +12 -9
  229. package/src/Api/Implementation/TeamSharingApiImpl.js +1 -4
  230. package/src/Api/Implementation/UserInterfaceApiImpl.d.ts +2 -1
  231. package/src/Api/Implementation/UserInterfaceApiImpl.js +10 -9
  232. package/src/Api/Internal/AdaptableInternalApi.d.ts +2 -0
  233. package/src/Api/Internal/AdaptableInternalApi.js +3 -0
  234. package/src/Api/Internal/AlertInternalApi.d.ts +6 -6
  235. package/src/Api/Internal/AlertInternalApi.js +10 -10
  236. package/src/Api/Internal/ColumnFilterInternalApi.d.ts +13 -0
  237. package/src/Api/Internal/ColumnFilterInternalApi.js +93 -1
  238. package/src/Api/Internal/ColumnInternalApi.d.ts +2 -1
  239. package/src/Api/Internal/ColumnInternalApi.js +6 -2
  240. package/src/Api/Internal/DashboardInternalApi.js +1 -1
  241. package/src/Api/Internal/EntitlementInternalApi.d.ts +1 -0
  242. package/src/Api/Internal/EntitlementInternalApi.js +8 -0
  243. package/src/Api/Internal/ExportInternalApi.js +1 -1
  244. package/src/Api/Internal/FlashingCellInternalApi.js +1 -1
  245. package/src/Api/Internal/FormatColumnInternalApi.d.ts +12 -13
  246. package/src/Api/Internal/FormatColumnInternalApi.js +45 -16
  247. package/src/Api/Internal/GridInternalApi.d.ts +7 -10
  248. package/src/Api/Internal/GridInternalApi.js +76 -27
  249. package/src/Api/Internal/LayoutInternalApi.d.ts +5 -5
  250. package/src/Api/Internal/LayoutInternalApi.js +42 -5
  251. package/src/Api/Internal/PredicateInternalApi.d.ts +2 -6
  252. package/src/Api/Internal/PredicateInternalApi.js +4 -6
  253. package/src/Api/Internal/UserInterfaceInternalApi.d.ts +1 -0
  254. package/src/Api/Internal/UserInterfaceInternalApi.js +10 -3
  255. package/src/Api/LayoutApi.d.ts +7 -2
  256. package/src/Api/PlusMinusApi.d.ts +11 -7
  257. package/src/Api/ScheduleApi.d.ts +9 -16
  258. package/src/Api/ShortcutApi.d.ts +5 -6
  259. package/src/Api/StyledColumnApi.d.ts +10 -7
  260. package/src/Api/UserInterfaceApi.d.ts +5 -6
  261. package/src/Redux/ActionsReducers/InternalRedux.d.ts +4 -4
  262. package/src/Redux/ActionsReducers/InternalRedux.js +10 -10
  263. package/src/Redux/ActionsReducers/StyledColumnRedux.d.ts +7 -0
  264. package/src/Redux/ActionsReducers/StyledColumnRedux.js +15 -1
  265. package/src/Redux/Store/AdaptableStore.js +10 -10
  266. package/src/Strategy/AdaptableModuleBase.d.ts +14 -4
  267. package/src/Strategy/AdaptableModuleBase.js +46 -9
  268. package/src/Strategy/AlertModule.d.ts +3 -4
  269. package/src/Strategy/AlertModule.js +7 -4
  270. package/src/Strategy/CalculatedColumnModule.js +2 -2
  271. package/src/Strategy/CellSummaryModule.js +2 -2
  272. package/src/Strategy/ChartingModule.d.ts +3 -1
  273. package/src/Strategy/ChartingModule.js +9 -3
  274. package/src/Strategy/ColumnFilterModule.d.ts +1 -1
  275. package/src/Strategy/ColumnFilterModule.js +31 -15
  276. package/src/Strategy/ColumnInfoModule.js +2 -2
  277. package/src/Strategy/CommentModule.d.ts +1 -1
  278. package/src/Strategy/CommentModule.js +3 -3
  279. package/src/Strategy/CustomSortModule.d.ts +3 -4
  280. package/src/Strategy/CustomSortModule.js +2 -2
  281. package/src/Strategy/DashboardModule.js +1 -1
  282. package/src/Strategy/DataChangeHistoryModule.d.ts +2 -1
  283. package/src/Strategy/DataChangeHistoryModule.js +3 -10
  284. package/src/Strategy/DataImportModule.js +3 -3
  285. package/src/Strategy/ExportModule.js +1 -1
  286. package/src/Strategy/Fdc3Module.js +1 -1
  287. package/src/Strategy/FlashingCellModule.d.ts +3 -5
  288. package/src/Strategy/FlashingCellModule.js +3 -3
  289. package/src/Strategy/FormatColumnModule.d.ts +3 -4
  290. package/src/Strategy/FormatColumnModule.js +4 -2
  291. package/src/Strategy/FreeTextColumnModule.d.ts +1 -1
  292. package/src/Strategy/FreeTextColumnModule.js +2 -2
  293. package/src/Strategy/GridInfoModule.js +2 -2
  294. package/src/Strategy/Interface/IModule.d.ts +7 -3
  295. package/src/Strategy/LayoutModule.js +11 -11
  296. package/src/Strategy/NoteModule.d.ts +1 -1
  297. package/src/Strategy/NoteModule.js +3 -3
  298. package/src/Strategy/PlusMinusModule.d.ts +3 -4
  299. package/src/Strategy/PlusMinusModule.js +2 -2
  300. package/src/Strategy/QuickSearchModule.d.ts +2 -0
  301. package/src/Strategy/QuickSearchModule.js +9 -0
  302. package/src/Strategy/ScheduleModule.d.ts +3 -4
  303. package/src/Strategy/ScheduleModule.js +2 -2
  304. package/src/Strategy/SettingsPanelModule.js +1 -1
  305. package/src/Strategy/ShortcutModule.d.ts +3 -4
  306. package/src/Strategy/ShortcutModule.js +2 -2
  307. package/src/Strategy/StatusBarModule.d.ts +3 -2
  308. package/src/Strategy/StatusBarModule.js +6 -3
  309. package/src/Strategy/StyledColumnModule.d.ts +3 -4
  310. package/src/Strategy/StyledColumnModule.js +2 -2
  311. package/src/Strategy/SystemStatusModule.js +2 -2
  312. package/src/Strategy/TeamSharingModule.d.ts +1 -1
  313. package/src/Strategy/TeamSharingModule.js +5 -2
  314. package/src/Strategy/ToolPanelModule.d.ts +1 -1
  315. package/src/Strategy/ToolPanelModule.js +1 -4
  316. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsTargetItems.d.ts +5 -0
  317. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsTargetItems.js +16 -0
  318. package/src/Strategy/Utilities/Layout/getLayoutFilterViewItems.js +1 -1
  319. package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +1 -0
  320. package/src/Utilities/Constants/DocumentationLinkConstants.js +2 -1
  321. package/src/Utilities/Extensions/ArrayExtensions.d.ts +15 -2
  322. package/src/Utilities/Extensions/ArrayExtensions.js +68 -15
  323. package/src/Utilities/ObjectFactory.js +3 -2
  324. package/src/Utilities/Services/AnnotationsService.js +1 -1
  325. package/src/Utilities/Services/Interface/IModuleService.d.ts +2 -1
  326. package/src/Utilities/Services/ModuleService.d.ts +3 -3
  327. package/src/Utilities/Services/ModuleService.js +18 -6
  328. package/src/Utilities/getScopeViewItems.js +6 -2
  329. package/src/View/AdaptableView.js +3 -1
  330. package/src/View/ColumnInfo/ColumnInfo.js +9 -3
  331. package/src/View/Components/AdaptableIconSelector/index.js +2 -3
  332. package/src/View/Components/ColumnFilter/AdaptableColumnFilter.d.ts +0 -1
  333. package/src/View/Components/ColumnFilter/AdaptableColumnFilter.js +2 -3
  334. package/src/View/Components/ColumnFilter/AdaptableFloatingFilter.d.ts +0 -2
  335. package/src/View/Components/ColumnFilter/AdaptableFloatingFilter.js +4 -7
  336. package/src/View/Components/ColumnFilter/ColumnFilter.js +11 -4
  337. package/src/View/Components/ColumnFilter/ColumnFilterWindow.js +1 -1
  338. package/src/View/Components/ColumnFilter/FloatingFilter.js +1 -2
  339. package/src/View/Components/ColumnFilter/LayoutColumnFilter.js +1 -1
  340. package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +2 -2
  341. package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +2 -2
  342. package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.d.ts +1 -1
  343. package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.js +2 -2
  344. package/src/View/Components/ColumnFilter/utils.d.ts +2 -2
  345. package/src/View/Components/ColumnFilter/utils.js +6 -1
  346. package/src/View/Components/EntityRulesEditor/index.js +1 -2
  347. package/src/View/Components/FilterForm/ListBoxFilterForm.js +1 -1
  348. package/src/View/Components/NewScopeComponent.js +5 -1
  349. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +5 -5
  350. package/src/View/Components/PredicateEditor/PredicateEditor.js +1 -2
  351. package/src/View/Components/Selectors/BulkUpdateValueSelector.js +1 -1
  352. package/src/View/Components/Selectors/ColumnSelector.js +1 -1
  353. package/src/View/Components/Selectors/FieldSelector.js +1 -1
  354. package/src/View/Components/Selectors/PermittedValuesSelector.d.ts +1 -0
  355. package/src/View/Components/Selectors/PermittedValuesSelector.js +2 -2
  356. package/src/View/Dashboard/Dashboard.js +2 -2
  357. package/src/View/Dashboard/DashboardPopup.js +3 -1
  358. package/src/View/Dashboard/PinnedDashboard.js +1 -1
  359. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +9 -21
  360. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +59 -22
  361. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +4 -0
  362. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +0 -39
  363. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +13 -12
  364. package/src/View/FormatColumn/Wizard/FormatColumnTargetWizardSection.d.ts +8 -0
  365. package/src/View/FormatColumn/Wizard/FormatColumnTargetWizardSection.js +37 -0
  366. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +18 -4
  367. package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.js +1 -1
  368. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +2 -2
  369. package/src/View/Layout/TransposedPopup.js +2 -2
  370. package/src/View/Layout/Wizard/sections/ColumnsSection.js +64 -9
  371. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +5 -5
  372. package/src/View/StatusBar/AdaptableStatusBar.js +1 -4
  373. package/src/View/StatusBar/StatusBarPopup.js +1 -1
  374. package/src/View/Theme/ThemeSelector.js +1 -1
  375. package/src/agGrid/AdaptableAgGrid.d.ts +11 -7
  376. package/src/agGrid/AdaptableAgGrid.js +256 -218
  377. package/src/agGrid/AdaptableFilterHandler.d.ts +18 -0
  378. package/src/agGrid/AdaptableFilterHandler.js +65 -0
  379. package/src/agGrid/AgGridAdapter.d.ts +3 -7
  380. package/src/agGrid/AgGridAdapter.js +13 -46
  381. package/src/agGrid/AgGridColumnAdapter.d.ts +3 -3
  382. package/src/agGrid/AgGridColumnAdapter.js +86 -40
  383. package/src/agGrid/AgGridExportAdapter.js +1 -1
  384. package/src/agGrid/AgGridFilterAdapter.d.ts +2 -0
  385. package/src/agGrid/AgGridFilterAdapter.js +53 -0
  386. package/src/agGrid/AgGridFloatingFilterAdapter.d.ts +2 -0
  387. package/src/agGrid/{FloatingFilterWrapper.js → AgGridFloatingFilterAdapter.js} +26 -37
  388. package/src/agGrid/AgGridModulesAdapter.d.ts +15 -0
  389. package/src/agGrid/AgGridModulesAdapter.js +70 -0
  390. package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.js +1 -1
  391. package/src/agGrid/editors/AdaptablePercentageEditor/InternalAdaptablePercentageEditor.js +1 -1
  392. package/src/components/Dialog/index.js +1 -1
  393. package/src/components/Dropdown/Arrows.js +2 -2
  394. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.d.ts +1 -1
  395. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +4 -4
  396. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +1 -1
  397. package/src/components/FileDroppable/index.js +1 -1
  398. package/src/components/IconSelector/IconSelector.d.ts +2 -2
  399. package/src/components/OverlayTrigger/index.js +1 -1
  400. package/src/components/Select/Select.d.ts +1 -1
  401. package/src/components/Select/Select.js +114 -22
  402. package/src/components/icons/DefaultIcon.d.ts +0 -1
  403. package/src/components/icons/DefaultIcon.js +0 -8
  404. package/src/env.js +2 -2
  405. package/src/layout-manager/src/LayoutManagerModel.d.ts +6 -10
  406. package/src/layout-manager/src/index.d.ts +11 -3
  407. package/src/layout-manager/src/index.js +302 -87
  408. package/src/layout-manager/src/normalizeLayoutModel.js +7 -4
  409. package/src/layout-manager/src/simplifyLayoutModel.js +4 -4
  410. package/src/metamodel/adaptable.metamodel.d.ts +172 -20
  411. package/src/metamodel/adaptable.metamodel.js +1 -1
  412. package/src/migration/AdaptableUpgradeHelper.js +2 -0
  413. package/src/migration/VersionUpgrade17.js +1 -1
  414. package/src/migration/VersionUpgrade20.js +1 -0
  415. package/src/migration/VersionUpgrade21.d.ts +6 -0
  416. package/src/migration/VersionUpgrade21.js +28 -0
  417. package/src/types.d.ts +8 -9
  418. package/tsconfig.cjs.tsbuildinfo +1 -1
  419. package/src/AdaptableState/Common/ExtendedLayoutInfo.d.ts +0 -27
  420. package/src/agGrid/FilterWrapper.d.ts +0 -2
  421. package/src/agGrid/FilterWrapper.js +0 -136
  422. package/src/agGrid/FloatingFilterWrapper.d.ts +0 -2
  423. package/src/agGrid/agGridModules.d.ts +0 -3
  424. package/src/agGrid/agGridModules.js +0 -18
  425. package/src/agGrid/getAgGridFilterNotifyModelFn.d.ts +0 -2
  426. package/src/agGrid/getAgGridFilterNotifyModelFn.js +0 -21
  427. /package/src/AdaptableState/Common/{ExtendedLayoutInfo.js → ExtendedLayout.js} +0 -0
@@ -1,6 +1,7 @@
1
1
  import { AdaptableModuleBase } from './AdaptableModuleBase';
2
2
  import { AdaptableModuleView, AdaptableObjectView } from './Interface/IModule';
3
3
  import { AdaptableApi } from '../Api/AdaptableApi';
4
+ import { LayoutExtendedConfig } from '../types';
4
5
  import { BaseSchedule } from '../AdaptableState/Common/Schedule';
5
6
  import { IScheduleModule } from './Interface/IScheduleModule';
6
7
  export declare class ScheduleModule extends AdaptableModuleBase implements IScheduleModule {
@@ -12,11 +13,9 @@ export declare class ScheduleModule extends AdaptableModuleBase implements ISche
12
13
  private addMidnightRefreshSchedule;
13
14
  private getDateFromSchedule;
14
15
  private clearAllJobs;
15
- getModuleAdaptableObjects(config?: {
16
- includeLayoutNotAssociatedObjects?: boolean;
17
- }): BaseSchedule[];
16
+ getModuleAdaptableObjects(config?: LayoutExtendedConfig): BaseSchedule[];
18
17
  toView(schedule: BaseSchedule): AdaptableObjectView;
19
18
  toViewAll(): AdaptableObjectView[];
20
19
  getViewProperties(): AdaptableModuleView;
21
- canBeAssociatedWithLayouts(): boolean;
20
+ containsLayoutExtensions(): boolean;
22
21
  }
@@ -149,7 +149,7 @@ class ScheduleModule extends AdaptableModuleBase_1.AdaptableModuleBase {
149
149
  }
150
150
  toViewAll() {
151
151
  return this.getModuleAdaptableObjects({
152
- includeLayoutNotAssociatedObjects: this.showLayoutNotAssociatedObjects(),
152
+ includeLayoutNotExtendedObjects: this.showLayoutNonExtendedObjects(),
153
153
  }).map((schedule) => this.toView(schedule));
154
154
  }
155
155
  getViewProperties() {
@@ -261,7 +261,7 @@ class ScheduleModule extends AdaptableModuleBase_1.AdaptableModuleBase {
261
261
  },
262
262
  };
263
263
  }
264
- canBeAssociatedWithLayouts() {
264
+ containsLayoutExtensions() {
265
265
  return true;
266
266
  }
267
267
  }
@@ -22,7 +22,7 @@ class SettingsPanelModule extends AdaptableModuleBase_1.AdaptableModuleBase {
22
22
  ];
23
23
  }
24
24
  createModuleMenuItem(source) {
25
- if (this.isModuleAvailable()) {
25
+ if (this.isModuleVisible()) {
26
26
  return this.createMenuItemReduxAction('settings-panel-open', 'Open ' + this.moduleInfo.FriendlyName, this.moduleInfo.Glyph, PopupRedux.PopupShowScreen());
27
27
  }
28
28
  }
@@ -5,13 +5,12 @@ import { AdaptableApi } from '../Api/AdaptableApi';
5
5
  import { AdaptableObject } from '../AdaptableState/Common/AdaptableObject';
6
6
  import { AdaptableModuleView, AdaptableObjectView } from './Interface/IModule';
7
7
  import { IKeyDownListenerModule } from './Interface/IKeyDownListenerModule';
8
+ import { LayoutExtendedConfig } from '../types';
8
9
  export declare class ShortcutModule extends AdaptableModuleBase implements IKeyDownListenerModule {
9
10
  private shouldHandleKeyDown;
10
11
  private adaptable;
11
12
  constructor(api: AdaptableApi);
12
- getModuleAdaptableObjects(config?: {
13
- includeLayoutNotAssociatedObjects?: boolean;
14
- }): AdaptableObject[];
13
+ getModuleAdaptableObjects(config?: LayoutExtendedConfig): AdaptableObject[];
15
14
  hasNamedQueryReferences(): boolean;
16
15
  getTeamSharingAction(): TeamSharingImportInfo<Shortcut>;
17
16
  onAdaptableReady(): void;
@@ -22,5 +21,5 @@ export declare class ShortcutModule extends AdaptableModuleBase implements IKeyD
22
21
  toView(shortcut: Shortcut): AdaptableObjectView;
23
22
  toViewAll(): AdaptableObjectView[];
24
23
  getViewProperties(): AdaptableModuleView;
25
- canBeAssociatedWithLayouts(): boolean;
24
+ containsLayoutExtensions(): boolean;
26
25
  }
@@ -92,7 +92,7 @@ class ShortcutModule extends AdaptableModuleBase_1.AdaptableModuleBase {
92
92
  }
93
93
  toViewAll() {
94
94
  return this.getModuleAdaptableObjects({
95
- includeLayoutNotAssociatedObjects: this.showLayoutNotAssociatedObjects(),
95
+ includeLayoutNotExtendedObjects: this.showLayoutNonExtendedObjects(),
96
96
  }).map((shortcut) => this.toView(shortcut));
97
97
  }
98
98
  getViewProperties() {
@@ -108,7 +108,7 @@ class ShortcutModule extends AdaptableModuleBase_1.AdaptableModuleBase {
108
108
  },
109
109
  };
110
110
  }
111
- canBeAssociatedWithLayouts() {
111
+ containsLayoutExtensions() {
112
112
  return true;
113
113
  }
114
114
  }
@@ -1,9 +1,10 @@
1
1
  import { AdaptableModuleBase } from './AdaptableModuleBase';
2
2
  import { IModule } from './Interface/IModule';
3
3
  import { AdaptableApi } from '../Api/AdaptableApi';
4
- import { GridOptions } from 'ag-grid-enterprise';
4
+ import { AgModuleName, GridOptions } from 'ag-grid-enterprise';
5
5
  export declare class StatusBarModule extends AdaptableModuleBase implements IModule {
6
6
  constructor(api: AdaptableApi);
7
+ protected getAgGridModuleDependencies(): AgModuleName[];
8
+ isModuleEnabled(): boolean;
7
9
  syncStateWithOptions(agGridAdaptablePanels: GridOptions['statusBar']['statusPanels']): void;
8
- isModuleAvailable(): boolean;
9
10
  }
@@ -8,6 +8,12 @@ class StatusBarModule extends AdaptableModuleBase_1.AdaptableModuleBase {
8
8
  constructor(api) {
9
9
  super(ModuleConstants.StatusBarModuleId, ModuleConstants.StatusBarFriendlyName, 'statusbar', 'StatusBarPopup', 'Configure AdapTable Status Bar', api);
10
10
  }
11
+ getAgGridModuleDependencies() {
12
+ return ['StatusBarModule'];
13
+ }
14
+ isModuleEnabled() {
15
+ return this.api.statusBarApi.getAgGridStatusPanels().length > 0;
16
+ }
11
17
  syncStateWithOptions(agGridAdaptablePanels) {
12
18
  const statusPanelsState = this.api.statusBarApi.getAdaptableStatusBars();
13
19
  /**
@@ -29,8 +35,5 @@ class StatusBarModule extends AdaptableModuleBase_1.AdaptableModuleBase {
29
35
  });
30
36
  this.api.statusBarApi.setStatusBarPanels(newStatusPanelsState);
31
37
  }
32
- isModuleAvailable() {
33
- return super.isModuleAvailable() && this.api.statusBarApi.getAgGridStatusPanels().length > 0;
34
- }
35
38
  }
36
39
  exports.StatusBarModule = StatusBarModule;
@@ -6,11 +6,10 @@ import { AdaptableModuleView, AdaptableObjectView, IModule } from './Interface/I
6
6
  import { AdaptableApi } from '../Api/AdaptableApi';
7
7
  import { AdaptableObject } from '../AdaptableState/Common/AdaptableObject';
8
8
  import { StyledColumn } from '../AdaptableState/StyledColumnState';
9
+ import { LayoutExtendedConfig } from '../types';
9
10
  export declare class StyledColumnModule extends AdaptableModuleBase implements IModule {
10
11
  constructor(api: AdaptableApi);
11
- getModuleAdaptableObjects(config?: {
12
- includeLayoutNotAssociatedObjects?: boolean;
13
- }): AdaptableObject[];
12
+ getModuleAdaptableObjects(config?: LayoutExtendedConfig): AdaptableObject[];
14
13
  getExplicitlyReferencedColumnIds(styledColumn: StyledColumn): string[];
15
14
  hasNamedQueryReferences(): boolean;
16
15
  createColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem<"separator" | "calculated-column-edit" | "cell-summary-show" | "chart-show" | "column-group" | "column-filter-group" | "column-filter-bar-hide" | "column-filter-bar-show" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "custom-sort-add" | "custom-sort-edit" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "flashing-cell-add" | "flashing-cell-delete" | "format-column-add" | "format-column-edit" | "free-text-column-edit" | "grid-group" | "grid-info-show" | "layout-column-caption-change" | "layout-column-hide" | "layout-edit" | "layout-column-select" | "layout-column-select-preserve" | "layout-column-select-reset" | "layout-grid-select" | "plus-minus-add" | "settings-panel-open" | "styling-group" | "styled-column-badge-add" | "styled-column-badge-edit" | "styled-column-gradient-add" | "styled-column-gradient-edit" | "styled-column-percent-bar-add" | "styled-column-percent-bar-edit" | "styled-column-sparkline-add" | "styled-column-sparkline-edit" | "system-status-show" | "_navbar">[];
@@ -19,7 +18,7 @@ export declare class StyledColumnModule extends AdaptableModuleBase implements I
19
18
  toView(styledColumn: StyledColumn): AdaptableObjectView;
20
19
  toViewAll(): AdaptableObjectView[];
21
20
  getViewProperties(): AdaptableModuleView;
22
- canBeAssociatedWithLayouts(): boolean;
21
+ containsLayoutExtensions(): boolean;
23
22
  private getTypeLabel;
24
23
  private getTypeName;
25
24
  }
@@ -230,7 +230,7 @@ class StyledColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
230
230
  }
231
231
  toViewAll() {
232
232
  return this.getModuleAdaptableObjects({
233
- includeLayoutNotAssociatedObjects: this.showLayoutNotAssociatedObjects(),
233
+ includeLayoutNotExtendedObjects: this.showLayoutNonExtendedObjects(),
234
234
  }).map((styledColumn) => this.toView(styledColumn));
235
235
  }
236
236
  getViewProperties() {
@@ -246,7 +246,7 @@ class StyledColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
246
246
  },
247
247
  };
248
248
  }
249
- canBeAssociatedWithLayouts() {
249
+ containsLayoutExtensions() {
250
250
  return true;
251
251
  }
252
252
  getTypeLabel(styledColumn) {
@@ -10,7 +10,7 @@ class SystemStatusModule extends AdaptableModuleBase_1.AdaptableModuleBase {
10
10
  super(ModuleConstants.SystemStatusModuleId, ModuleConstants.SystemStatusFriendlyName, 'traffic-lights', 'SystemStatusPopup', 'Provide messages about the Status of your application', api);
11
11
  }
12
12
  createColumnMenuItems(column) {
13
- if (this.isModuleAvailable()) {
13
+ if (this.isModuleVisible()) {
14
14
  return [
15
15
  this.createMenuItemShowPopup('system-status-show', 'Show System Status', this.moduleInfo.Popup, this.moduleInfo.Glyph, {
16
16
  source: 'ColumnMenu',
@@ -19,7 +19,7 @@ class SystemStatusModule extends AdaptableModuleBase_1.AdaptableModuleBase {
19
19
  }
20
20
  }
21
21
  createContextMenuItems(menuContext) {
22
- if (this.isModuleAvailable()) {
22
+ if (this.isModuleVisible()) {
23
23
  let popUpParams = {
24
24
  source: 'ContextMenu',
25
25
  };
@@ -6,7 +6,7 @@ export declare class TeamSharingModule extends AdaptableModuleBase implements IM
6
6
  private SKIP_TEAMSHARING_UPDATE_ACTIONS;
7
7
  constructor(api: AdaptableApi);
8
8
  onAdaptableReady(): void;
9
- isModuleAvailable(): boolean;
9
+ isModuleEnabled(): boolean;
10
10
  isModuleObjectsShareable(): boolean;
11
11
  getPopupMaxWidth(): number | undefined;
12
12
  private handleStateChanged;
@@ -36,8 +36,11 @@ class TeamSharingModule extends AdaptableModuleBase_1.AdaptableModuleBase {
36
36
  }
37
37
  this.api.eventApi.on('AdaptableStateChanged', (adaptableStateChangedInfo) => this.handleStateChanged(adaptableStateChangedInfo));
38
38
  }
39
- isModuleAvailable() {
40
- return super.isModuleAvailable() && this.api.teamSharingApi.isTeamSharingAvailable();
39
+ isModuleEnabled() {
40
+ const teamSharingOptions = this.api.optionsApi.getTeamSharingOptions();
41
+ return (teamSharingOptions?.enableTeamSharing &&
42
+ typeof teamSharingOptions?.loadSharedEntities === 'function' &&
43
+ typeof teamSharingOptions?.persistSharedEntities === 'function');
41
44
  }
42
45
  isModuleObjectsShareable() {
43
46
  return false;
@@ -3,5 +3,5 @@ import { IModule } from './Interface/IModule';
3
3
  import { AdaptableApi } from '../Api/AdaptableApi';
4
4
  export declare class ToolPanelModule extends AdaptableModuleBase implements IModule {
5
5
  constructor(api: AdaptableApi);
6
- isModuleAvailable(): boolean;
6
+ isModuleEnabled(): boolean;
7
7
  }
@@ -8,10 +8,7 @@ class ToolPanelModule extends AdaptableModuleBase_1.AdaptableModuleBase {
8
8
  constructor(api) {
9
9
  super(ModuleConstants.ToolPanelModuleId, ModuleConstants.ToolPanelFriendlyName, 'clipboard', 'ToolPanelPopup', 'An alternative to using the Dashboard is the AdapTable Tool Panel, the Tool Panel is the collapsible area to the right of the Grid.', api);
10
10
  }
11
- isModuleAvailable() {
12
- if (!super.isModuleAvailable()) {
13
- return false;
14
- }
11
+ isModuleEnabled() {
15
12
  return this.api.internalApi.getAdaptableInstance().hasAdaptableToolPanel;
16
13
  }
17
14
  }
@@ -0,0 +1,5 @@
1
+ import { FormatColumn } from '../../../AdaptableState/FormatColumnState';
2
+ export declare const getFormatColumnSettingsTargetItems: (formatColumn: FormatColumn) => {
3
+ name: string;
4
+ values: string[];
5
+ };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFormatColumnSettingsTargetItems = void 0;
4
+ const getFormatColumnSettingsTargetItems = (formatColumn) => {
5
+ if (!formatColumn.Target || formatColumn.Target === 'cell') {
6
+ return {
7
+ name: 'Target',
8
+ values: ['Column Cells'],
9
+ };
10
+ }
11
+ return {
12
+ name: 'Target',
13
+ values: ['Column Header'],
14
+ };
15
+ };
16
+ exports.getFormatColumnSettingsTargetItems = getFormatColumnSettingsTargetItems;
@@ -10,7 +10,7 @@ const getFilterPreview = (columnFilter, api) => {
10
10
  const columnType = api.columnApi.getColumnDataTypeForColumnId(columnFilter.ColumnId);
11
11
  const qlDataType = (0, adaptableQlUtils_1.mapColumnDataTypeToExpressionFunctionType)(columnType);
12
12
  const qlPredicateDefs = predicateDefs.map((pd) => (0, utils_1.mapAdaptablePredicateDefToQlPredicateDef)(pd, qlDataType));
13
- const qlPredicate = (0, utils_1.mapColumnFilterToQlPredicate)(columnFilter, column, qlPredicateDefs, columnFilterOptions, api);
13
+ const qlPredicate = (0, utils_1.mapColumnFilterToQlPredicate)(columnFilter, column, qlPredicateDefs, columnFilterOptions, 'FilterForm', api);
14
14
  return `[${(0, utils_1.qlPredicateToString)(qlPredicate, qlPredicateDefs)}]`;
15
15
  };
16
16
  exports.getFilterPreview = getFilterPreview;
@@ -14,3 +14,4 @@ export declare const AdaptableOptionsDocsLink = "https://docs.adaptabletools.com
14
14
  export declare const AgGridModulesDocsLink = "https://docs.adaptabletools.com/guide/dev-guide-aggrid-modules-overview";
15
15
  export declare const AlertMessageDocsLink = "https://docs.adaptabletools.com/guide/handbook-alerting-message";
16
16
  export declare const FormatColumnPlaceholderDocsLink = "https://docs.adaptabletools.com/guide/handbook-column-formatting-display-format-placeholder";
17
+ export declare const AgGridRequiredModulesDocsLink = "https://docs.adaptabletools.com/guide/dev-guide-aggrid-modules-overview#mandatory-modules";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FormatColumnPlaceholderDocsLink = exports.AlertMessageDocsLink = exports.AgGridModulesDocsLink = exports.AdaptableOptionsDocsLink = exports.LicenseDocsLink = exports.PrimaryKeyDocsLink = exports.PredicateDocsLink = exports.QuantileAggregatedScalarQueryDocsLink = exports.CumulativeAggregatedScalarQueryDocsLink = exports.AggregatedScalarQueryDocsLink = exports.AggregatedBooleanQueryDocsLink = exports.ObservableQueryDocsLink = exports.ScalarQueryDocsLink = exports.BooleanQueryDocsLink = exports.ExpressionEditorDocsLink = exports.HOST_URL_DOCS = void 0;
3
+ exports.AgGridRequiredModulesDocsLink = exports.FormatColumnPlaceholderDocsLink = exports.AlertMessageDocsLink = exports.AgGridModulesDocsLink = exports.AdaptableOptionsDocsLink = exports.LicenseDocsLink = exports.PrimaryKeyDocsLink = exports.PredicateDocsLink = exports.QuantileAggregatedScalarQueryDocsLink = exports.CumulativeAggregatedScalarQueryDocsLink = exports.AggregatedScalarQueryDocsLink = exports.AggregatedBooleanQueryDocsLink = exports.ObservableQueryDocsLink = exports.ScalarQueryDocsLink = exports.BooleanQueryDocsLink = exports.ExpressionEditorDocsLink = exports.HOST_URL_DOCS = void 0;
4
4
  exports.HOST_URL_DOCS = 'https://docs.adaptabletools.com';
5
5
  //export const HOST_URL_DOCS = 'http://localhost:3000';
6
6
  exports.ExpressionEditorDocsLink = `${exports.HOST_URL_DOCS}/guide/ui-expression-editor`;
@@ -18,3 +18,4 @@ exports.AdaptableOptionsDocsLink = `${exports.HOST_URL_DOCS}/guide/reference-opt
18
18
  exports.AgGridModulesDocsLink = `${exports.HOST_URL_DOCS}/guide/dev-guide-aggrid-modules-overview`;
19
19
  exports.AlertMessageDocsLink = `${exports.HOST_URL_DOCS}/guide/handbook-alerting-message`;
20
20
  exports.FormatColumnPlaceholderDocsLink = `${exports.HOST_URL_DOCS}/guide/handbook-column-formatting-display-format-placeholder`;
21
+ exports.AgGridRequiredModulesDocsLink = `${exports.HOST_URL_DOCS}/guide/dev-guide-aggrid-modules-overview#mandatory-modules`;
@@ -25,11 +25,23 @@ export declare function moveArray(array: any[], from: number, to: number): void;
25
25
  export declare function areArraysEqual(arr1: any[], arr2: any[]): boolean;
26
26
  export declare function areArraysNotEqual(arr1: any[], arr2: any[]): boolean;
27
27
  export declare function areArraysEqualWithOrder(arr1: any[], arr2: any[]): boolean;
28
- export declare function areArraysEqualWithOrderandProperties(value: any[], other: any[]): boolean;
28
+ /**
29
+ * Checks if two arrays contain the same elements (order-independent).
30
+ *
31
+ * @param arr1 First array to compare
32
+ * @param arr2 Second array to compare
33
+ * @param equalityFn Optional function to determine if two elements are equal
34
+ * @returns True if arrays contain the same elements, false otherwise
35
+ */
36
+ export declare function areArraysEqualWithCustomComparator<T>(arr1: T[] | null | undefined, arr2: T[] | null | undefined, equalityFn?: (a: T, b: T) => boolean): boolean;
37
+ export declare function areArraysEqualWithOrderAndProperties(value: any[], other: any[]): boolean;
29
38
  export declare function sortArrayWithProperty(sortOrder: SortOrder, values: any[], sortProperty?: string): any[];
30
39
  export declare function sortArray(values: any[], sortOrder?: SortOrder): any[];
40
+ export declare const getGenericComparatorForGridCell: (sortOrder: SortOrder) => (a: GridCell, b: GridCell) => number;
31
41
  export declare function sortCellValueArray<T extends GridCell>(cellValues: T[], sortOrder?: SortOrder): T[];
42
+ export declare const getNumericComparatorForGridCell: (sortOrder: SortOrder) => (a: GridCell, b: GridCell) => number;
32
43
  export declare function sortCellValueArrayNumeric<T extends GridCell>(cellValues: T[], sortOrder?: SortOrder): T[];
44
+ export declare const getDateComparatorForGridCell: (sortOrder: SortOrder) => (a: GridCell, b: GridCell) => number;
33
45
  export declare function sortCellValueArrayDates<T extends GridCell>(cellValues: T[], sortOrder?: SortOrder): T[];
34
46
  export declare function groupArrayBy(array: Array<any>, prop: string): Array<any>;
35
47
  export declare function createCommaSeparatedString(values: any[]): string;
@@ -72,7 +84,8 @@ export declare const ArrayExtensions: {
72
84
  areArraysEqual: typeof areArraysEqual;
73
85
  areArraysNotEqual: typeof areArraysNotEqual;
74
86
  areArraysEqualWithOrder: typeof areArraysEqualWithOrder;
75
- areArraysEqualWithOrderandProperties: typeof areArraysEqualWithOrderandProperties;
87
+ areArraysEqualWithOrderAndProperties: typeof areArraysEqualWithOrderAndProperties;
88
+ areArraysEqualWithCustomComparator: typeof areArraysEqualWithCustomComparator;
76
89
  sortArray: typeof sortArray;
77
90
  sortCellValueArray: typeof sortCellValueArray;
78
91
  sortCellValueArrayNumeric: typeof sortCellValueArrayNumeric;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ArrayExtensions = exports.sortArrayWithOrder = exports.reorderArray = exports.SumArray = exports.createCommaSeparatedString = exports.groupArrayBy = exports.sortCellValueArrayDates = exports.sortCellValueArrayNumeric = exports.sortCellValueArray = exports.sortArray = exports.sortArrayWithProperty = exports.areArraysEqualWithOrderandProperties = exports.areArraysEqualWithOrder = exports.areArraysNotEqual = exports.areArraysEqual = exports.moveArray = exports.hasItemsOfCount = exports.hasOneItem = exports.getOccurrence = exports.HasSingleEmptyValue = exports.IsNotNullOrEmptyNorContainsSingleEmptyValue = exports.IsNullOrEmptyOrContainsSingleEmptyValue = exports.IsNotNullOrEmpty = exports.IsNullOrEmpty = exports.IsNotEmpty = exports.IsEmpty = exports.IsNotNull = exports.IsNull = exports.RetrieveDistinct = exports.NotContainsItem = exports.ContainsAnyItem = exports.ContainsItem = exports.AddItem = exports.NotCorrectLength = exports.CorrectLength = exports.GetLength = void 0;
3
+ exports.ArrayExtensions = exports.sortArrayWithOrder = exports.reorderArray = exports.SumArray = exports.createCommaSeparatedString = exports.groupArrayBy = exports.sortCellValueArrayDates = exports.getDateComparatorForGridCell = exports.sortCellValueArrayNumeric = exports.getNumericComparatorForGridCell = exports.sortCellValueArray = exports.getGenericComparatorForGridCell = exports.sortArray = exports.sortArrayWithProperty = exports.areArraysEqualWithOrderAndProperties = exports.areArraysEqualWithCustomComparator = exports.areArraysEqualWithOrder = exports.areArraysNotEqual = exports.areArraysEqual = exports.moveArray = exports.hasItemsOfCount = exports.hasOneItem = exports.getOccurrence = exports.HasSingleEmptyValue = exports.IsNotNullOrEmptyNorContainsSingleEmptyValue = exports.IsNullOrEmptyOrContainsSingleEmptyValue = exports.IsNotNullOrEmpty = exports.IsNullOrEmpty = exports.IsNotEmpty = exports.IsEmpty = exports.IsNotNull = exports.IsNull = exports.RetrieveDistinct = exports.NotContainsItem = exports.ContainsAnyItem = exports.ContainsItem = exports.AddItem = exports.NotCorrectLength = exports.CorrectLength = exports.GetLength = void 0;
4
4
  const Enums_1 = require("../../AdaptableState/Common/Enums");
5
5
  function GetLength(arrayToCheck) {
6
6
  return IsNotNull(arrayToCheck) ? arrayToCheck.length : 0;
@@ -141,7 +141,43 @@ function areArraysEqualWithOrder(arr1, arr2) {
141
141
  return arr1.every((x, index) => arr2.indexOf(x) == index);
142
142
  }
143
143
  exports.areArraysEqualWithOrder = areArraysEqualWithOrder;
144
- function areArraysEqualWithOrderandProperties(value, other) {
144
+ /**
145
+ * Checks if two arrays contain the same elements (order-independent).
146
+ *
147
+ * @param arr1 First array to compare
148
+ * @param arr2 Second array to compare
149
+ * @param equalityFn Optional function to determine if two elements are equal
150
+ * @returns True if arrays contain the same elements, false otherwise
151
+ */
152
+ function areArraysEqualWithCustomComparator(arr1, arr2, equalityFn) {
153
+ // Handle null/undefined cases
154
+ if (!arr1 && !arr2) {
155
+ return true;
156
+ }
157
+ if (!arr1 || !arr2) {
158
+ return false;
159
+ }
160
+ // Check length
161
+ if (arr1.length !== arr2.length) {
162
+ return false;
163
+ }
164
+ // Use default equality comparison if no custom function provided
165
+ const compareElements = equalityFn || ((a, b) => a === b);
166
+ // For each element in arr1, find a matching element in arr2
167
+ const arr2Copy = [...arr2];
168
+ for (let i = 0; i < arr1.length; i++) {
169
+ const element = arr1[i];
170
+ const matchIndex = arr2Copy.findIndex((el) => compareElements(element, el));
171
+ if (matchIndex === -1) {
172
+ return false;
173
+ }
174
+ // Remove the matched element to prevent duplicate matches
175
+ arr2Copy.splice(matchIndex, 1);
176
+ }
177
+ return true;
178
+ }
179
+ exports.areArraysEqualWithCustomComparator = areArraysEqualWithCustomComparator;
180
+ function areArraysEqualWithOrderAndProperties(value, other) {
145
181
  const type = Object.prototype.toString.call(value);
146
182
  // If the two objects are not the same type, return false
147
183
  if (type !== Object.prototype.toString.call(other)) {
@@ -163,7 +199,7 @@ function areArraysEqualWithOrderandProperties(value, other) {
163
199
  const itemType = Object.prototype.toString.call(item1);
164
200
  // If an object or array, compare recursively
165
201
  if (['[object Array]', '[object Object]'].indexOf(itemType) >= 0) {
166
- if (!areArraysEqualWithOrderandProperties(item1, item2)) {
202
+ if (!areArraysEqualWithOrderAndProperties(item1, item2)) {
167
203
  return false;
168
204
  }
169
205
  }
@@ -207,7 +243,7 @@ function areArraysEqualWithOrderandProperties(value, other) {
207
243
  // If nothing failed, return true
208
244
  return true;
209
245
  }
210
- exports.areArraysEqualWithOrderandProperties = areArraysEqualWithOrderandProperties;
246
+ exports.areArraysEqualWithOrderAndProperties = areArraysEqualWithOrderAndProperties;
211
247
  function sortArrayWithProperty(sortOrder, values, sortProperty) {
212
248
  if (sortProperty) {
213
249
  let newValues = [].concat(values);
@@ -241,16 +277,22 @@ function sortArray(values, sortOrder = Enums_1.SortOrder.Asc) {
241
277
  return newValues.sort((a, b) => (a < b ? -1 * direction : a > b ? 1 * direction : 0));
242
278
  }
243
279
  exports.sortArray = sortArray;
280
+ const getGenericComparatorForGridCell = (sortOrder) => {
281
+ const direction = sortOrder == Enums_1.SortOrder.Asc ? 1 : -1;
282
+ return (a, b) => {
283
+ return a.rawValue < b.rawValue ? -1 * direction : a.rawValue > b.rawValue ? 1 * direction : 0;
284
+ };
285
+ };
286
+ exports.getGenericComparatorForGridCell = getGenericComparatorForGridCell;
244
287
  function sortCellValueArray(cellValues, sortOrder = Enums_1.SortOrder.Asc) {
245
288
  const newValues = [].concat(cellValues);
246
- const direction = sortOrder == Enums_1.SortOrder.Asc ? 1 : -1;
247
- return newValues.sort((a, b) => a.rawValue < b.rawValue ? -1 * direction : a.rawValue > b.rawValue ? 1 * direction : 0);
289
+ const comparator = (0, exports.getGenericComparatorForGridCell)(sortOrder);
290
+ return newValues.sort(comparator);
248
291
  }
249
292
  exports.sortCellValueArray = sortCellValueArray;
250
- function sortCellValueArrayNumeric(cellValues, sortOrder = Enums_1.SortOrder.Asc) {
293
+ const getNumericComparatorForGridCell = (sortOrder) => {
251
294
  const direction = sortOrder == Enums_1.SortOrder.Asc ? 1 : -1;
252
- const newValues = [].concat(cellValues);
253
- return newValues.sort((a, b) => {
295
+ return (a, b) => {
254
296
  const valueAAsNumber = Number(a.rawValue);
255
297
  const valueBAsNumber = Number(b.rawValue);
256
298
  if (isNaN(valueAAsNumber)) {
@@ -264,16 +306,26 @@ function sortCellValueArrayNumeric(cellValues, sortOrder = Enums_1.SortOrder.Asc
264
306
  : valueAAsNumber > valueBAsNumber
265
307
  ? 1 * direction
266
308
  : 0;
267
- });
309
+ };
310
+ };
311
+ exports.getNumericComparatorForGridCell = getNumericComparatorForGridCell;
312
+ function sortCellValueArrayNumeric(cellValues, sortOrder = Enums_1.SortOrder.Asc) {
313
+ const newValues = [].concat(cellValues);
314
+ const comparator = (0, exports.getNumericComparatorForGridCell)(sortOrder);
315
+ return newValues.sort(comparator);
268
316
  }
269
317
  exports.sortCellValueArrayNumeric = sortCellValueArrayNumeric;
270
- function sortCellValueArrayDates(cellValues, sortOrder = Enums_1.SortOrder.Asc) {
271
- cellValues.sort((a, b) => {
318
+ const getDateComparatorForGridCell = (sortOrder) => {
319
+ return (a, b) => {
272
320
  return sortOrder == Enums_1.SortOrder.Asc
273
321
  ? +new Date(a.rawValue) - +new Date(b.rawValue)
274
322
  : +new Date(b.rawValue) - +new Date(a.rawValue);
275
- });
276
- return cellValues;
323
+ };
324
+ };
325
+ exports.getDateComparatorForGridCell = getDateComparatorForGridCell;
326
+ function sortCellValueArrayDates(cellValues, sortOrder = Enums_1.SortOrder.Asc) {
327
+ const comparator = (0, exports.getDateComparatorForGridCell)(sortOrder);
328
+ return [].concat(cellValues).sort(comparator);
277
329
  }
278
330
  exports.sortCellValueArrayDates = sortCellValueArrayDates;
279
331
  function groupArrayBy(array, prop) {
@@ -384,7 +436,8 @@ exports.ArrayExtensions = {
384
436
  areArraysEqual,
385
437
  areArraysNotEqual,
386
438
  areArraysEqualWithOrder,
387
- areArraysEqualWithOrderandProperties,
439
+ areArraysEqualWithOrderAndProperties,
440
+ areArraysEqualWithCustomComparator,
388
441
  sortArray,
389
442
  sortCellValueArray,
390
443
  sortCellValueArrayNumeric,
@@ -256,6 +256,7 @@ function CreateEmptyFormatColumn() {
256
256
  DisplayFormat: undefined,
257
257
  CellAlignment: undefined,
258
258
  RowScope: undefined,
259
+ Target: 'cell',
259
260
  };
260
261
  }
261
262
  exports.CreateEmptyFormatColumn = CreateEmptyFormatColumn;
@@ -282,7 +283,7 @@ function CreateEmptyPivotLayout(layout) {
282
283
  PivotColumns: layout.PivotColumns || [],
283
284
  PivotAggregationColumns: layout.PivotAggregationColumns || [],
284
285
  PivotGroupedColumns: layout.PivotGroupedColumns || [],
285
- ColumnWidths: layout.ColumnWidths || {},
286
+ ColumnSizing: layout.ColumnSizing || {},
286
287
  };
287
288
  return result;
288
289
  }
@@ -298,7 +299,7 @@ function CreateEmptyLayout(layout, adaptableColumns) {
298
299
  TableColumns: tableLayout.TableColumns || [],
299
300
  ColumnSorts: tableLayout.ColumnSorts || [],
300
301
  ColumnFilters: tableLayout.ColumnFilters || [],
301
- ColumnWidths: tableLayout.ColumnWidths || {},
302
+ ColumnSizing: tableLayout.ColumnSizing || {},
302
303
  RowGroupedColumns: tableLayout.RowGroupedColumns ||
303
304
  (adaptableColumns ? adaptableColumns.filter((c) => c.isGrouped).map((c) => c.columnId) : []),
304
305
  };
@@ -45,7 +45,7 @@ class AnnotationsService {
45
45
  shouldListenToEvents() {
46
46
  // Listen to events if we either have Notes in state or if Comments have been set up
47
47
  return (ArrayExtensions_1.default.IsNotNullOrEmpty(this.api.noteApi.getAllNotes()) ||
48
- this.api.internalApi.getModuleService().isModuleAvailable('Comment'));
48
+ this.api.internalApi.getModuleService().isAdapTableModulePresent('Comment'));
49
49
  }
50
50
  setUpEventListeners() {
51
51
  this.adaptable._on('MouseEnter', (event) => this.handleMouseEnter(event));
@@ -4,7 +4,8 @@ import { AdaptableObject } from '../../../AdaptableState/Common/AdaptableObject'
4
4
  import { IAdaptableService } from './IAdaptableService';
5
5
  import { AdaptableModule } from '../../../AdaptableState/Common/Types';
6
6
  export interface IModuleService extends IAdaptableService {
7
- isModuleAvailable(adaptableModule: AdaptableModule): boolean;
7
+ logMissingAgGridDepsInfos(): void;
8
+ isAdapTableModulePresent(adaptableModule: AdaptableModule): boolean;
8
9
  isModuleEditable(adaptableModule: AdaptableModule): boolean;
9
10
  createModuleUIItems(): void;
10
11
  getTeamSharingAction(adaptableModule: AdaptableModule): TeamSharingImportInfo<AdaptableObject> | undefined;
@@ -1,5 +1,5 @@
1
1
  import { AdaptableModule } from '../../types';
2
- import { IModule, ModuleInfo, IModuleCollection } from '../../Strategy/Interface/IModule';
2
+ import { IModule, IModuleCollection, ModuleInfo } from '../../Strategy/Interface/IModule';
3
3
  import { TeamSharingImportInfo } from '../../AdaptableState/TeamSharingState';
4
4
  import { AdaptableObject } from '../../AdaptableState/Common/AdaptableObject';
5
5
  import { IModuleService } from './Interface/IModuleService';
@@ -7,9 +7,9 @@ import { AdaptableApi } from '../../../types';
7
7
  export declare class ModuleService implements IModuleService {
8
8
  private adaptableApi;
9
9
  constructor(adaptableApi: AdaptableApi);
10
- isModuleAvailable(adaptableModule: AdaptableModule): boolean;
11
- isModuleName(adaptableModule: string): adaptableModule is AdaptableModule;
10
+ isAdapTableModulePresent(adaptableModule: AdaptableModule): boolean;
12
11
  isModuleEditable(adaptableModule: AdaptableModule): boolean;
12
+ logMissingAgGridDepsInfos(): void;
13
13
  getModuleFriendlyName(adaptableModule: AdaptableModule): string;
14
14
  createModuleUIItems(): void;
15
15
  private createSettingsPanelItems;
@@ -4,21 +4,17 @@ exports.ModuleService = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const Helper_1 = tslib_1.__importDefault(require("../Helpers/Helper"));
6
6
  const DocumentationLinkConstants_1 = require("../Constants/DocumentationLinkConstants");
7
- const Types_1 = require("../../AdaptableState/Common/Types");
8
7
  class ModuleService {
9
8
  constructor(adaptableApi) {
10
9
  this.adaptableApi = adaptableApi;
11
10
  this.adaptableApi = adaptableApi;
12
11
  }
13
- isModuleAvailable(adaptableModule) {
12
+ isAdapTableModulePresent(adaptableModule) {
14
13
  let module = this.getModuleCollection().get(adaptableModule);
15
14
  if (!module) {
16
15
  return false;
17
16
  }
18
- return module.isModuleAvailable();
19
- }
20
- isModuleName(adaptableModule) {
21
- return Types_1.ALL_MODULES.includes(adaptableModule);
17
+ return module.isModuleVisible();
22
18
  }
23
19
  isModuleEditable(adaptableModule) {
24
20
  let module = this.getModuleCollection().get(adaptableModule);
@@ -27,6 +23,22 @@ class ModuleService {
27
23
  }
28
24
  return module.isModuleEditable();
29
25
  }
26
+ logMissingAgGridDepsInfos() {
27
+ // log missing core (required) AG Grid dependencies
28
+ const agGridModulesAdapter = this.adaptableApi.internalApi.getAgGridModulesAdapter();
29
+ const mandatoryAgGridModuleNames = agGridModulesAdapter.getMandatoryAgGridModuleNames();
30
+ const registeredAgGridModuleNames = agGridModulesAdapter.getAgGridRegisteredModuleNames();
31
+ const missingAgGridModuleNames = mandatoryAgGridModuleNames.filter((moduleName) => !registeredAgGridModuleNames.includes(moduleName));
32
+ if (missingAgGridModuleNames.length) {
33
+ this.adaptableApi.consoleError(`AdapTable requires the following AG Grid modules to be registered: ${missingAgGridModuleNames.join(', ')}.
34
+
35
+ See for more information: ${DocumentationLinkConstants_1.AgGridRequiredModulesDocsLink}`);
36
+ }
37
+ // log optional missing AG Grid dependencies for all modules
38
+ this.getModuleCollection().forEach((adaptableModule) => {
39
+ adaptableModule.logMissingAgGridDepsInfos();
40
+ });
41
+ }
30
42
  getModuleFriendlyName(adaptableModule) {
31
43
  return this.getModuleInfoByModule(adaptableModule)?.FriendlyName ?? adaptableModule;
32
44
  }
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getScopeViewItems = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const StringExtensions_1 = tslib_1.__importDefault(require("./Extensions/StringExtensions"));
4
6
  const getScopeViewItems = (scope, api) => {
5
7
  let values = [];
6
8
  if ('ColumnIds' in scope && Array.isArray(scope.ColumnIds)) {
@@ -8,7 +10,9 @@ const getScopeViewItems = (scope, api) => {
8
10
  values = scope.ColumnIds.map((columnId) => api.columnApi.getFriendlyNameForColumnId(columnId)).filter(Boolean);
9
11
  }
10
12
  if ('DataTypes' in scope) {
11
- values = scope.DataTypes;
13
+ values = scope.DataTypes.map((d) => {
14
+ return 'Data Type: ' + StringExtensions_1.default.CapitaliseFirstLetter(d);
15
+ });
12
16
  }
13
17
  if ('All' in scope) {
14
18
  values = ['All Columns'];
@@ -17,7 +21,7 @@ const getScopeViewItems = (scope, api) => {
17
21
  values = scope.ColumnTypes;
18
22
  }
19
23
  return {
20
- label: 'Scope & Target',
24
+ label: 'Scope',
21
25
  name: 'Target',
22
26
  values,
23
27
  };
@@ -24,7 +24,9 @@ class AdaptableView extends React.Component {
24
24
  return (React.createElement("div", null,
25
25
  React.createElement(GridCellPopup_1.GridCellPopup, null),
26
26
  React.createElement(FloatingQuickSearch_1.QuickSearchDrawer, null),
27
- this.props.AdaptableApi.internalApi.getModuleService().isModuleAvailable('Dashboard') && (React.createElement(Dashboard_1.Dashboard, { api: this.props.AdaptableApi })),
27
+ this.props.AdaptableApi.internalApi
28
+ .getModuleService()
29
+ .isAdapTableModulePresent('Dashboard') && React.createElement(Dashboard_1.Dashboard, { api: this.props.AdaptableApi }),
28
30
  this.props.PopupState.PromptPopup.ShowPromptPopup && (React.createElement(AdaptablePopupPrompt_1.AdaptablePopupPrompt, { message: this.props.PopupState.PromptPopup.Message, header: this.props.PopupState.PromptPopup.Header, onClose: this.props.onClosePromptPopup, onConfirm: this.props.onConfirmPromptPopup, onConfirmActionCreator: this.props.PopupState.PromptPopup.ConfirmActionCreator, defaultValue: this.props.PopupState.PromptPopup.DefaultValue })),
29
31
  Boolean(this.props.PopupState.ConfirmationPopup.ShowConfirmationPopup) && (React.createElement(AdaptablePopupConfirmation_1.AdaptablePopupConfirmation, { header: this.props.PopupState.ConfirmationPopup.Header, messsage: this.props.PopupState.ConfirmationPopup.Msg, showPopup: this.props.PopupState.ConfirmationPopup.ShowConfirmationPopup, cancelButtonText: this.props.PopupState.ConfirmationPopup.CancelButtonText, confirmButtonText: this.props.PopupState.ConfirmationPopup.ConfirmButtonText, onCancel: this.props.onCancelConfirmationPopup, onConfirm: this.props.onConfirmConfirmationPopup, showInputBox: this.props.PopupState.ConfirmationPopup.ShowInputBox, messageType: this.props.PopupState.ConfirmationPopup.MessageType, api: this.props.AdaptableApi })),
30
32
  Boolean(this.props.PopupState.ScreenPopup.ShowScreenPopup) && (React.createElement(AdaptablePopup_1.AdaptablePopup, { componentName: this.props.PopupState.ScreenPopup.ComponentName, componentModule: this.props.PopupState.ScreenPopup.ComponentModule, onHide: this.props.onCloseScreenPopup, api: this.props.AdaptableApi, onClearParams: () => this.props.onClearPopupParams(), moduleParams: this.props.PopupState.ScreenPopup.Params, moduleProps: this.props.PopupState.ScreenPopup.PopupProps })),