@adaptabletools/adaptable-cjs 23.0.0-canary.5 → 23.0.0-canary.7

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 (335) hide show
  1. package/icons/sort-asc.svg +1 -1
  2. package/index.css +756 -257
  3. package/package.json +1 -1
  4. package/src/AdaptableOptions/DataSetOptions.d.ts +26 -2
  5. package/src/AdaptableOptions/DefaultAdaptableOptions.js +0 -1
  6. package/src/AdaptableOptions/SettingsPanelOptions.d.ts +42 -10
  7. package/src/AdaptableState/Common/AdaptableFormat.d.ts +7 -0
  8. package/src/AdaptableState/Common/AdaptableMessageType.d.ts +1 -1
  9. package/src/AdaptableState/Common/Enums.d.ts +1 -1
  10. package/src/AdaptableState/Common/Enums.js +1 -1
  11. package/src/AdaptableState/StyledColumnState.d.ts +2 -2
  12. package/src/Api/Internal/AlertInternalApi.js +1 -1
  13. package/src/Api/Internal/DataSetInternalApi.d.ts +3 -0
  14. package/src/Api/Internal/DataSetInternalApi.js +73 -13
  15. package/src/Redux/Store/AdaptableStore.js +6 -4
  16. package/src/Strategy/CalculatedColumnModule.js +1 -0
  17. package/src/Strategy/ColumnFilterModule.js +1 -0
  18. package/src/Strategy/FlashingCellModule.js +6 -2
  19. package/src/Strategy/FormatColumnModule.js +1 -1
  20. package/src/Strategy/FreeTextColumnModule.js +38 -28
  21. package/src/Strategy/Interface/IModule.d.ts +3 -1
  22. package/src/Strategy/LayoutModule.js +15 -66
  23. package/src/Strategy/StyledColumnModule.js +11 -28
  24. package/src/Strategy/Utilities/CustomSort/getCustomSortColumnViewItems.d.ts +1 -0
  25. package/src/Strategy/Utilities/CustomSort/getCustomSortColumnViewItems.js +1 -0
  26. package/src/Strategy/Utilities/Export/getExportColumnsViewItems.d.ts +2 -0
  27. package/src/Strategy/Utilities/Export/getExportColumnsViewItems.js +17 -1
  28. package/src/Strategy/Utilities/Export/getExportRowsViewItems.d.ts +1 -0
  29. package/src/Strategy/Utilities/Export/getExportRowsViewItems.js +5 -1
  30. package/src/Strategy/Utilities/Layout/aggregationSummaryHelpers.d.ts +11 -0
  31. package/src/Strategy/Utilities/Layout/aggregationSummaryHelpers.js +111 -0
  32. package/src/Strategy/Utilities/Layout/columnsSummaryHelpers.d.ts +48 -0
  33. package/src/Strategy/Utilities/Layout/columnsSummaryHelpers.js +177 -0
  34. package/src/Strategy/Utilities/Layout/getLayoutSortViewItems.d.ts +1 -0
  35. package/src/Strategy/Utilities/Layout/getLayoutSortViewItems.js +1 -0
  36. package/src/Strategy/Utilities/Layout/rowGroupSummaryHelpers.d.ts +26 -0
  37. package/src/Strategy/Utilities/Layout/rowGroupSummaryHelpers.js +97 -0
  38. package/src/Utilities/Defaults/DefaultSettingsPanel.d.ts +3 -5
  39. package/src/Utilities/Defaults/DefaultSettingsPanel.js +48 -42
  40. package/src/Utilities/Helpers/FormatHelper.js +3 -0
  41. package/src/Utilities/Helpers/ScheduleHelper.js +2 -0
  42. package/src/Utilities/Helpers/StyleHelper.d.ts +18 -0
  43. package/src/Utilities/Helpers/StyleHelper.js +30 -1
  44. package/src/Utilities/Helpers/StyledColumnGradientHelper.js +6 -4
  45. package/src/Utilities/Helpers/resolveSettingsPanelNavigation.d.ts +3 -0
  46. package/src/Utilities/Helpers/resolveSettingsPanelNavigation.js +19 -0
  47. package/src/Utilities/getScopeViewItems.js +2 -0
  48. package/src/Utilities/wizardSelection.d.ts +10 -0
  49. package/src/Utilities/wizardSelection.js +22 -0
  50. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.js +2 -2
  51. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsSidebarForm.js +2 -2
  52. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +3 -3
  53. package/src/View/Alert/AlertViewPanel.js +2 -2
  54. package/src/View/Alert/Utilities/getAlertButtonStyle.js +7 -4
  55. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.d.ts +0 -1
  56. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +1 -6
  57. package/src/View/Alert/Wizard/AlertButtonsEditor.js +2 -1
  58. package/src/View/Alert/Wizard/AlertMessageWizardSection.d.ts +1 -1
  59. package/src/View/Alert/Wizard/AlertMessageWizardSection.js +1 -2
  60. package/src/View/Alert/Wizard/AlertNotificationWizardSection.d.ts +1 -1
  61. package/src/View/Alert/Wizard/AlertNotificationWizardSection.js +3 -4
  62. package/src/View/Alert/Wizard/AlertScheduledWizardSection.d.ts +1 -1
  63. package/src/View/Alert/Wizard/AlertScheduledWizardSection.js +1 -2
  64. package/src/View/Alert/Wizard/AlertTypeWizardSection.d.ts +1 -1
  65. package/src/View/Alert/Wizard/AlertTypeWizardSection.js +30 -7
  66. package/src/View/Alert/Wizard/AlertWizard.js +3 -3
  67. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.d.ts +2 -1
  68. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +3 -14
  69. package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
  70. package/src/View/BulkUpdate/BulkUpdateViewPanel.js +4 -6
  71. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.d.ts +1 -1
  72. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +1 -2
  73. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +1 -1
  74. package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.js +29 -3
  75. package/src/View/CellSummary/CellSummaryViewPanel.js +4 -4
  76. package/src/View/Charting/ShowChartButton.js +8 -8
  77. package/src/View/ColumnInfo/ColumnInfo.js +21 -1
  78. package/src/View/Components/AdaptableObjectCollection/index.js +2 -3
  79. package/src/View/Components/AdaptableObjectList/AdaptableObjectCompactList.js +1 -1
  80. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +4 -4
  81. package/src/View/Components/AdaptableObjectRow/index.js +2 -2
  82. package/src/View/Components/Buttons/ButtonBase/index.js +2 -3
  83. package/src/View/Components/Buttons/ButtonNew.d.ts +2 -0
  84. package/src/View/Components/Buttons/ButtonNew.js +1 -1
  85. package/src/View/Components/Buttons/EntityListActionButtons.js +3 -3
  86. package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.js +2 -2
  87. package/src/View/Components/ColumnFilter/ColumnFilter.js +1 -2
  88. package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +0 -1
  89. package/src/View/Components/ColumnFilter/components/ColumnFilterInputList.js +3 -1
  90. package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.js +2 -2
  91. package/src/View/Components/ColumnSelector/index.d.ts +12 -0
  92. package/src/View/Components/ColumnSelector/index.js +30 -6
  93. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.js +2 -2
  94. package/src/View/Components/ModuleValueSelector/index.js +2 -1
  95. package/src/View/Components/NewScopeComponent.js +3 -8
  96. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +5 -4
  97. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +4 -4
  98. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +2 -2
  99. package/src/View/Components/Popups/AdaptablePopup/Navigation.d.ts +3 -2
  100. package/src/View/Components/Popups/AdaptablePopup/Navigation.js +38 -28
  101. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +3 -4
  102. package/src/View/Components/Popups/AdaptablePopup/TopBar.js +2 -3
  103. package/src/View/Components/Popups/AdaptablePopup/settingsPanelNavigationTypes.d.ts +11 -0
  104. package/src/View/Components/Popups/AdaptablePopup/settingsPanelNavigationTypes.js +5 -0
  105. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.d.ts +3 -1
  106. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +27 -28
  107. package/src/View/Components/PredicateEditor/PredicateEditor.js +1 -1
  108. package/src/View/Components/RangesComponent.d.ts +2 -4
  109. package/src/View/Components/RangesComponent.js +95 -66
  110. package/src/View/Components/ReorderDraggable/index.js +2 -3
  111. package/src/View/Components/Selectors/BulkUpdateValueSelector.d.ts +0 -2
  112. package/src/View/Components/Selectors/BulkUpdateValueSelector.js +3 -3
  113. package/src/View/Components/StyleComponent.js +30 -63
  114. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +9 -6
  115. package/src/View/Components/ToolPanel/ToolPanelPopup.d.ts +3 -13
  116. package/src/View/Components/ToolPanel/ToolPanelPopup.js +5 -80
  117. package/src/View/Components/ToolPanel/ToolPanelPopupSections.d.ts +17 -0
  118. package/src/View/Components/ToolPanel/ToolPanelPopupSections.js +81 -0
  119. package/src/View/Components/ValueSelector/index.d.ts +29 -0
  120. package/src/View/Components/ValueSelector/index.js +112 -29
  121. package/src/View/Components/wizardColumnListStyles.d.ts +10 -0
  122. package/src/View/Components/wizardColumnListStyles.js +13 -0
  123. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.d.ts +2 -1
  124. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +4 -6
  125. package/src/View/CustomSort/Wizard/CustomSortWizard.js +2 -2
  126. package/src/View/Dashboard/DashboardPopup.d.ts +1 -11
  127. package/src/View/Dashboard/DashboardPopup.js +3 -67
  128. package/src/View/Dashboard/DashboardPopupSections.d.ts +20 -0
  129. package/src/View/Dashboard/DashboardPopupSections.js +73 -0
  130. package/src/View/Dashboard/PinnedToolbarsSelector.js +2 -2
  131. package/src/View/DataChangeHistory/DataChangeHistoryPopup.d.ts +1 -6
  132. package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +8 -20
  133. package/src/View/DataChangeHistory/DataChangeHistoryTable.d.ts +8 -0
  134. package/src/View/DataChangeHistory/DataChangeHistoryTable.js +99 -0
  135. package/src/View/DataChangeHistory/buildActionColumnButton.d.ts +5 -3
  136. package/src/View/DataChangeHistory/buildActionColumnButton.js +33 -41
  137. package/src/View/DataChangeHistory/dataChangeHistoryHelpers.d.ts +15 -0
  138. package/src/View/DataChangeHistory/dataChangeHistoryHelpers.js +46 -0
  139. package/src/View/DataImport/DataImportWizard/DataImportWizard.js +1 -1
  140. package/src/View/DataImport/DataImportWizard/sections/ColumnsSection.js +32 -19
  141. package/src/View/DataImport/DataImportWizard/sections/DataPreview.js +1 -1
  142. package/src/View/DataSet/DataSetViewPanel.d.ts +2 -2
  143. package/src/View/Export/ExportDestinationPicker.js +4 -5
  144. package/src/View/Export/ExportViewPanel.js +2 -2
  145. package/src/View/Export/Wizard/ReportColumnsWizardSection.d.ts +2 -1
  146. package/src/View/Export/Wizard/ReportColumnsWizardSection.js +2 -7
  147. package/src/View/Export/Wizard/ReportRowsWizardSection.d.ts +2 -1
  148. package/src/View/Export/Wizard/ReportRowsWizardSection.js +2 -5
  149. package/src/View/FlashingCell/FlashingCellStyle.d.ts +4 -2
  150. package/src/View/FlashingCell/FlashingCellStyle.js +5 -3
  151. package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.d.ts +2 -1
  152. package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +5 -9
  153. package/src/View/FlashingCell/Wizard/FlashingCellScopeSummary.d.ts +9 -0
  154. package/src/View/FlashingCell/Wizard/FlashingCellScopeSummary.js +10 -0
  155. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.d.ts +1 -1
  156. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +5 -1
  157. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.d.ts +0 -5
  158. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.js +3 -8
  159. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +1 -2
  160. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +1 -1
  161. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +101 -44
  162. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.d.ts +0 -1
  163. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +1 -6
  164. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +55 -15
  165. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +1 -1
  166. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.d.ts +2 -3
  167. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +5 -9
  168. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +4 -9
  169. package/src/View/FreeTextColumn/Utilities/getFreeTextColumnSettingsTags.js +3 -2
  170. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +1 -2
  171. package/src/View/GridFilter/GridFilterPopupUI/index.js +3 -2
  172. package/src/View/GridFilter/GridFilterViewPanel.js +5 -5
  173. package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.js +2 -3
  174. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +2 -2
  175. package/src/View/Layout/LayoutViewPanel.js +2 -2
  176. package/src/View/Layout/Wizard/LayoutWizard.js +24 -28
  177. package/src/View/Layout/Wizard/sections/AggregationsSection.d.ts +13 -1
  178. package/src/View/Layout/Wizard/sections/AggregationsSection.js +77 -33
  179. package/src/View/Layout/Wizard/sections/ColumnsSection.d.ts +4 -1
  180. package/src/View/Layout/Wizard/sections/ColumnsSection.js +154 -275
  181. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.d.ts +4 -1
  182. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +146 -143
  183. package/src/View/Layout/Wizard/sections/PivotColumnsSection.d.ts +5 -2
  184. package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +22 -10
  185. package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.d.ts +4 -1
  186. package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.js +21 -10
  187. package/src/View/Layout/Wizard/sections/RowGroupingSection.d.ts +5 -2
  188. package/src/View/Layout/Wizard/sections/RowGroupingSection.js +23 -12
  189. package/src/View/Layout/Wizard/sections/RowSelectionSection.js +7 -3
  190. package/src/View/Layout/Wizard/sections/RowSummarySection.js +10 -10
  191. package/src/View/Layout/Wizard/sections/SortSection.d.ts +12 -2
  192. package/src/View/Layout/Wizard/sections/SortSection.js +43 -18
  193. package/src/View/Layout/Wizard/sections/columnLayoutCards.d.ts +20 -0
  194. package/src/View/Layout/Wizard/sections/columnLayoutCards.js +167 -0
  195. package/src/View/Layout/Wizard/sections/columnLayoutHelpers.d.ts +30 -0
  196. package/src/View/Layout/Wizard/sections/columnLayoutHelpers.js +216 -0
  197. package/src/View/Layout/Wizard/sections/layoutWizardAccordionHelpers.d.ts +8 -0
  198. package/src/View/Layout/Wizard/sections/layoutWizardAccordionHelpers.js +72 -0
  199. package/src/View/Layout/Wizard/sections/layoutWizardColumns.d.ts +11 -0
  200. package/src/View/Layout/Wizard/sections/layoutWizardColumns.js +57 -0
  201. package/src/View/License/LicenseWatermark.js +1 -1
  202. package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.d.ts +1 -1
  203. package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.js +1 -2
  204. package/src/View/Note/NoteEditor.js +2 -2
  205. package/src/View/QuickSearch/QuickSearchPopup.js +2 -3
  206. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +1 -1
  207. package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +1 -1
  208. package/src/View/SmartEdit/SmartEditPopup.js +2 -2
  209. package/src/View/SmartEdit/SmartEditViewPanel.js +2 -2
  210. package/src/View/StateManagement/StateManagementPopup.js +1 -1
  211. package/src/View/StateManagement/components/ExportDropdown.d.ts +2 -2
  212. package/src/View/StateManagement/components/ExportDropdown.js +12 -13
  213. package/src/View/StatusBar/StatusBarPanel.js +2 -2
  214. package/src/View/StatusBar/StatusBarPopup.js +33 -5
  215. package/src/View/StatusBar/statusBarPanelHelpers.d.ts +2 -0
  216. package/src/View/StatusBar/statusBarPanelHelpers.js +11 -0
  217. package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.d.ts +2 -0
  218. package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.js +13 -10
  219. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.d.ts +2 -2
  220. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +137 -119
  221. package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.js +7 -13
  222. package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +2 -1
  223. package/src/View/StyledColumn/Wizard/StyledColumnTypeThumbnail.d.ts +5 -0
  224. package/src/View/StyledColumn/Wizard/StyledColumnTypeThumbnail.js +54 -0
  225. package/src/View/StyledColumn/Wizard/StyledColumnWizard.d.ts +2 -0
  226. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +28 -6
  227. package/src/View/StyledColumn/Wizard/StyledColumnWizardBulletSection.js +8 -17
  228. package/src/View/StyledColumn/Wizard/StyledColumnWizardGradientSection.js +2 -1
  229. package/src/View/StyledColumn/Wizard/StyledColumnWizardIconSection.js +46 -28
  230. package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.js +97 -42
  231. package/src/View/StyledColumn/Wizard/StyledColumnWizardRatingSection.js +2 -1
  232. package/src/View/StyledColumn/Wizard/StyledColumnWizardScopeSection.d.ts +1 -1
  233. package/src/View/StyledColumn/Wizard/StyledColumnWizardScopeSection.js +31 -45
  234. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +10 -5
  235. package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +93 -6
  236. package/src/View/UIHelper.d.ts +0 -2
  237. package/src/View/UIHelper.js +8 -24
  238. package/src/View/Wizard/CollapsibleWizardCard.d.ts +68 -0
  239. package/src/View/Wizard/CollapsibleWizardCard.js +90 -0
  240. package/src/View/Wizard/OnePageWizards.js +6 -6
  241. package/src/View/Wizard/SummaryColorTag.d.ts +24 -0
  242. package/src/View/Wizard/SummaryColorTag.js +79 -0
  243. package/src/View/Wizard/WizardTypeSelection.d.ts +34 -0
  244. package/src/View/Wizard/WizardTypeSelection.js +40 -0
  245. package/src/View/Wizard/rowGroupSummaryTags.d.ts +18 -0
  246. package/src/View/Wizard/rowGroupSummaryTags.js +21 -0
  247. package/src/View/Wizard/scopeSummaryTags.d.ts +6 -0
  248. package/src/View/Wizard/scopeSummaryTags.js +38 -0
  249. package/src/agGrid/AdaptableAgGrid.js +1 -1
  250. package/src/agGrid/AgGridAdapter.js +0 -5
  251. package/src/agGrid/AgGridColumnAdapter.js +1 -1
  252. package/src/agGrid/cellRenderers/ActionColumnRenderer.js +4 -7
  253. package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +1 -1
  254. package/src/components/Card/index.js +5 -7
  255. package/src/components/CheckBox/index.js +2 -3
  256. package/src/components/CodeBlock/index.js +2 -3
  257. package/src/components/ColorPicker/ColorPicker.d.ts +1 -0
  258. package/src/components/ColorPicker/ColorPicker.js +8 -6
  259. package/src/components/ColorPicker/OptionalColorPicker.d.ts +12 -0
  260. package/src/components/ColorPicker/OptionalColorPicker.js +31 -0
  261. package/src/components/ColorPicker/index.d.ts +1 -0
  262. package/src/components/ColorPicker/index.js +1 -0
  263. package/src/components/Combobox/comboboxUtils.d.ts +1 -0
  264. package/src/components/Combobox/index.js +19 -18
  265. package/src/components/Dashboard/DashboardManager.js +2 -4
  266. package/src/components/Dialog/index.js +4 -4
  267. package/src/components/DragAndDropContext/DragAndDropContext.d.ts +5 -0
  268. package/src/components/DragAndDropContext/DragAndDropContext.js +4 -1
  269. package/src/components/DragAndDropContext/ModuleManager.d.ts +15 -3
  270. package/src/components/DragAndDropContext/ModuleManager.js +43 -4
  271. package/src/components/DragAndDropContext/TabList.d.ts +11 -4
  272. package/src/components/DragAndDropContext/TabList.js +52 -38
  273. package/src/components/DragAndDropContext/UnusedPanel.d.ts +4 -3
  274. package/src/components/DragAndDropContext/UnusedPanel.js +13 -9
  275. package/src/components/DragAndDropContext/dragScope.d.ts +6 -0
  276. package/src/components/DragAndDropContext/dragScope.js +34 -0
  277. package/src/components/DragAndDropContext/types.d.ts +7 -0
  278. package/src/components/DropdownButton/index.d.ts +33 -25
  279. package/src/components/DropdownButton/index.js +24 -158
  280. package/src/components/EmptyContent/index.js +2 -3
  281. package/src/components/ErrorBox/index.js +2 -3
  282. package/src/components/ExpressionEditor/BaseEditorInput.js +3 -3
  283. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +3 -3
  284. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +9 -9
  285. package/src/components/FieldWrap/index.js +2 -3
  286. package/src/components/Flex.js +2 -2
  287. package/src/components/FormLayout/index.d.ts +1 -1
  288. package/src/components/HelpBlock/index.js +3 -4
  289. package/src/components/IconSelector/IconSelector.d.ts +8 -0
  290. package/src/components/IconSelector/IconSelector.js +13 -8
  291. package/src/components/IconSelector/index.d.ts +1 -0
  292. package/src/components/IconSelector/index.js +3 -0
  293. package/src/components/Modal/index.js +2 -2
  294. package/src/components/NewSelect/index.js +11 -1
  295. package/src/components/Panel/index.js +7 -7
  296. package/src/components/Radio/index.d.ts +1 -1
  297. package/src/components/Radio/index.js +8 -6
  298. package/src/components/SimpleButton/index.js +7 -7
  299. package/src/components/StylePreview.js +2 -3
  300. package/src/components/Tabs/index.js +4 -4
  301. package/src/components/Tag/Tag.d.ts +16 -0
  302. package/src/components/Tag/Tag.js +16 -5
  303. package/src/components/Tag/columnScopeTagHelpers.d.ts +8 -0
  304. package/src/components/Tag/columnScopeTagHelpers.js +12 -0
  305. package/src/components/Tag/index.d.ts +1 -1
  306. package/src/components/Tag/index.js +3 -1
  307. package/src/components/Textarea/index.js +2 -3
  308. package/src/components/Toggle/Toggle.d.ts +2 -0
  309. package/src/components/Toggle/Toggle.js +14 -7
  310. package/src/components/Toggle/ToggleGroup.js +2 -2
  311. package/src/components/ToggleButton/index.js +4 -5
  312. package/src/components/Tree/TreeDropdown/index.js +3 -5
  313. package/src/components/WarningBox/index.js +2 -3
  314. package/src/components/icons/sort-asc.js +1 -1
  315. package/src/components/ui/button.d.ts +2 -2
  316. package/src/components/ui/combobox.d.ts +3 -1
  317. package/src/components/ui/combobox.js +2 -2
  318. package/src/components/ui/input-group.d.ts +1 -1
  319. package/src/components/ui/select.js +3 -2
  320. package/src/components/ui/textarea.js +1 -1
  321. package/src/env.js +2 -2
  322. package/src/layout-manager/src/index.js +7 -3
  323. package/src/metamodel/adaptable.metamodel.js +1 -1
  324. package/src/types.d.ts +1 -1
  325. package/tsconfig.cjs.tsbuildinfo +1 -1
  326. package/src/View/DataChangeHistory/DataChangeHistoryGrid.d.ts +0 -17
  327. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +0 -295
  328. package/src/components/DropdownButton/DropdownButtonItem.d.ts +0 -12
  329. package/src/components/DropdownButton/DropdownButtonItem.js +0 -2
  330. package/src/components/DropdownButton/renderItem.d.ts +0 -14
  331. package/src/components/DropdownButton/renderItem.js +0 -14
  332. package/src/components/DropdownButton/useExpanded.d.ts +0 -24
  333. package/src/components/DropdownButton/useExpanded.js +0 -59
  334. package/src/components/NewDropdownButton/index.d.ts +0 -27
  335. package/src/components/NewDropdownButton/index.js +0 -28
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adaptabletools/adaptable-cjs",
3
- "version": "23.0.0-canary.5",
3
+ "version": "23.0.0-canary.7",
4
4
  "description": "Powerful AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements",
5
5
  "keywords": [
6
6
  "web-components",
@@ -1,5 +1,6 @@
1
1
  import { AdaptableForm, AdaptableObject } from '../../types';
2
2
  import { FormContext } from '../AdaptableState/Common/FormContext';
3
+ import { DataSetSelectedInfo } from '../Api/Events/DataSetSelected';
3
4
  /**
4
5
  * Options to provide Data Sets
5
6
  */
@@ -9,12 +10,12 @@ export interface DataSetOptions<TData = any> {
9
10
  *
10
11
  * @defaultValue []
11
12
  */
12
- dataSets?: DataSet[];
13
+ dataSets?: DataSet<TData>[];
13
14
  }
14
15
  /**
15
16
  * Defines a Data Set object that can provide data to AdapTable
16
17
  */
17
- export interface DataSet extends AdaptableObject {
18
+ export interface DataSet<TData = any> extends AdaptableObject {
18
19
  /**
19
20
  * Name of Data Set
20
21
  */
@@ -31,6 +32,29 @@ export interface DataSet extends AdaptableObject {
31
32
  * Additional info for Data Set
32
33
  */
33
34
  info?: Record<string, string | number | boolean | Date>;
35
+ /**
36
+ * Invoked when this Data Set is selected and it does not define a `form`.
37
+ *
38
+ * Use for custom loading logic (e.g. server requests). The `DataSetSelected`
39
+ * event is still fired for backward compatibility.
40
+ *
41
+ * @defaultValue undefined
42
+ */
43
+ onSelect?: (info: DataSetSelectedInfo) => void | Promise<void>;
44
+ /**
45
+ * Optional shortcut that loads row data into the Grid when this Data Set is
46
+ * selected (only when no `form` is defined). Runs before `onSelect`.
47
+ *
48
+ * @defaultValue undefined
49
+ */
50
+ loadData?: (info: DataSetSelectedInfo) => TData[] | Promise<TData[]>;
51
+ /**
52
+ * Invoked when the user submits the Data Set form (Enter key or form button).
53
+ * When no form `buttons` are defined, an OK button is added automatically.
54
+ *
55
+ * @defaultValue undefined
56
+ */
57
+ onFormSubmit?: (context: DataSetFormContext) => void | Promise<void>;
34
58
  }
35
59
  /**
36
60
  * Used when a DataSet displays a Form
@@ -273,7 +273,6 @@ const DefaultAdaptableOptions = {
273
273
  popupType: 'modal',
274
274
  title: ModuleConstants.SettingsPanelFriendlyName,
275
275
  icon: 'ConfigurationIcon',
276
- navigation: {},
277
276
  alwaysShowInDashboard: false,
278
277
  alwaysShowInToolPanel: false,
279
278
  showModuleIcons: true,
@@ -1,5 +1,6 @@
1
1
  import { AdaptableFrameworkComponent, AdaptableIcon } from '../../types';
2
2
  import { AdaptableSettingsPanel } from '../AdaptableState/Common/Types';
3
+ import { BaseContext } from '../AdaptableState/Common/BaseContext';
3
4
  import { CustomRenderContext } from '../agGrid/AdaptableFrameworkComponent';
4
5
  /**
5
6
  * Options for managing the AdapTable Settings Panel
@@ -34,13 +35,15 @@ export interface SettingsPanelOptions {
34
35
  */
35
36
  alwaysShowInToolPanel?: boolean;
36
37
  /**
37
- * Ordered items to display at side of Settings Panel
38
+ * Configure grouped navigation for the Settings Panel.
38
39
  *
39
- * @defaultValue all available AdapTable modules
40
+ * Receives the default grouped navigation and AdapTable context; return an amended copy.
41
+ * Groups with no visible modules (e.g. due to entitlements) are omitted automatically.
42
+ * Group headings are omitted when every module in the group is hidden.
43
+ *
44
+ * @defaultValue all available AdapTable modules in the default grouped order
40
45
  */
41
- navigation?: {
42
- items?: (AdaptableSettingsPanel | string | '-')[];
43
- };
46
+ navigation?: SettingsPanelNavigationConfigurer;
44
47
  /**
45
48
  * Initial position of Settings Panel window
46
49
  *
@@ -70,18 +73,47 @@ export interface SettingsPanelOptions {
70
73
  */
71
74
  customSettingsPanels?: CustomSettingsPanel[];
72
75
  /**
73
- * Which Tabs can be used to display Grid Info: 'Grid Options', 'Grid Summary' or 'Grid State'
74
- *
75
- * @defaultValue ['Grid Options', 'Grid Summary', 'Grid State']
76
- */
76
+ * Which Tabs can be used to display Grid Info: 'Grid Options', 'Grid Summary' or 'Grid State'
77
+ *
78
+ * @defaultValue ['Grid Options', 'Grid Summary', 'Grid State']
79
+ */
77
80
  gridInfoTabs?: GridInfoTabs;
78
81
  }
82
+ /**
83
+ * A labelled group of Settings Panel navigation entries.
84
+ */
85
+ export interface SettingsPanelNavigationGroup {
86
+ /**
87
+ * Section heading shown above the group. Use an empty string to show items without a heading.
88
+ */
89
+ label: string;
90
+ /**
91
+ * Module names or custom panel names in display order.
92
+ */
93
+ items: (AdaptableSettingsPanel | string)[];
94
+ }
95
+ /**
96
+ * Grouped Settings Panel navigation structure.
97
+ */
98
+ export interface SettingsPanelNavigation {
99
+ groups: SettingsPanelNavigationGroup[];
100
+ }
101
+ /**
102
+ * Context passed to `SettingsPanelOptions.navigation`.
103
+ */
104
+ export interface SettingsPanelNavigationContext extends BaseContext {
105
+ }
106
+ /**
107
+ * Function used to customise Settings Panel navigation.
108
+ */
109
+ export type SettingsPanelNavigationConfigurer = (context: SettingsPanelNavigationContext, defaultNavigation: SettingsPanelNavigation) => SettingsPanelNavigation;
79
110
  /**
80
111
  * Definition of a Custom Panel to add to the Adaptable Settings Panel
81
112
  */
82
113
  export interface CustomSettingsPanel {
83
114
  /**
84
- * Appears in Settings Panel Navigation and must be included in settingsPanelOptions.navigation for it to be displayed (by default added to the end)
115
+ * Appears in Settings Panel Navigation. Include in `navigation` to choose placement
116
+ * (by default added to a `Custom Panels` group at the end).
85
117
  */
86
118
  name: string;
87
119
  /**
@@ -50,6 +50,13 @@ export interface NumberFormatterOptions extends BaseFormatterOptions {
50
50
  * Multiplier to use on cell value
51
51
  */
52
52
  Multiplier?: number;
53
+ /**
54
+ * When the numeric value is zero (after multiplier and rounding):
55
+ * - omitted / undefined, or `'0'` — use normal formatting (e.g. `0`, `0.00`)
56
+ * - `''` — show a blank cell (user cleared the default `0` in the wizard)
57
+ * - any other string — show that text (e.g. `-`, `—`)
58
+ */
59
+ ZeroDisplay?: string;
53
60
  /**
54
61
  * Shows negative numbers in parentheses
55
62
  */
@@ -15,6 +15,6 @@ export type AdaptableMessageType =
15
15
  */
16
16
  | 'Warning'
17
17
  /**
18
- * Error Message - displays '-ab-color-error' variable (defaults to red)
18
+ * Error Message - displays '-ab-color-destructive' variable (defaults to red)
19
19
  */
20
20
  | 'Error';
@@ -31,7 +31,7 @@ export declare enum FontSize {
31
31
  XLarge = "XLarge"
32
32
  }
33
33
  export declare enum StatusColour {
34
- Error = "var(--ab-color-error)",
34
+ Error = "var(--ab-color-destructive)",
35
35
  Warn = "var(--ab-color-warn)",
36
36
  Success = "var(--ab-color-success)",
37
37
  Info = "var(--ab-color-info)"
@@ -45,7 +45,7 @@ var FontSize;
45
45
  })(FontSize || (exports.FontSize = FontSize = {}));
46
46
  var StatusColour;
47
47
  (function (StatusColour) {
48
- StatusColour["Error"] = "var(--ab-color-error)";
48
+ StatusColour["Error"] = "var(--ab-color-destructive)";
49
49
  StatusColour["Warn"] = "var(--ab-color-warn)";
50
50
  StatusColour["Success"] = "var(--ab-color-success)";
51
51
  StatusColour["Info"] = "var(--ab-color-info)";
@@ -200,11 +200,11 @@ export interface CellColorRange {
200
200
  */
201
201
  export interface ColumnComparison {
202
202
  /**
203
- * Start value - either numeric value or Column name
203
+ * Start value - either numeric value or Column ID
204
204
  */
205
205
  MinValue: number | string;
206
206
  /**
207
- * End value - either numeric value or Column name
207
+ * End value - either numeric value or Column ID
208
208
  */
209
209
  MaxValue: number | string;
210
210
  /**
@@ -126,7 +126,7 @@ class AlertInternalApi extends ApiBase_1.ApiBase {
126
126
  let backgroundColor = '';
127
127
  switch (highlightType) {
128
128
  case 'Error':
129
- backgroundColor = 'var(--ab-color-error)';
129
+ backgroundColor = 'var(--ab-color-destructive)';
130
130
  break;
131
131
  case 'Info':
132
132
  backgroundColor = 'var(--ab-color-info)';
@@ -1,5 +1,8 @@
1
1
  import { ApiBase } from '../Implementation/ApiBase';
2
2
  import { DataSet } from '../../AdaptableOptions/DataSetOptions';
3
3
  export declare class DataSetInternalApi extends ApiBase {
4
+ handleDataSetSelected(dataSet: DataSet): void;
4
5
  showDataSetForm(dataSet: DataSet): void;
6
+ private buildDataSetForm;
7
+ private runDataSetHandler;
5
8
  }
@@ -3,21 +3,81 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DataSetInternalApi = void 0;
4
4
  const ApiBase_1 = require("../Implementation/ApiBase");
5
5
  class DataSetInternalApi extends ApiBase_1.ApiBase {
6
+ handleDataSetSelected(dataSet) {
7
+ if (!dataSet.form) {
8
+ this.getEventApi().internalApi.fireDataSetSelectedEvent(dataSet);
9
+ const dataSetSelectedInfo = {
10
+ ...this.getAdaptableInternalApi().buildBaseContext(),
11
+ dataSet,
12
+ };
13
+ this.runDataSetHandler(async () => {
14
+ if (dataSet.loadData) {
15
+ const rowData = await dataSet.loadData(dataSetSelectedInfo);
16
+ if (rowData != null) {
17
+ this.getGridApi().loadGridData(rowData);
18
+ }
19
+ }
20
+ if (dataSet.onSelect) {
21
+ await dataSet.onSelect(dataSetSelectedInfo);
22
+ }
23
+ }, 'selection', dataSet.name);
24
+ }
25
+ }
6
26
  showDataSetForm(dataSet) {
7
- if (dataSet.form) {
8
- this.getAdaptableInternalApi().showPopupForm({
9
- Id: 'data-set-form',
10
- Form: dataSet.form,
11
- prepareContext: (context) => {
12
- return new Promise((resolve) => {
13
- const preparedContext = {
14
- ...context,
15
- dataSet,
16
- };
17
- resolve(preparedContext);
18
- });
27
+ if (!dataSet.form) {
28
+ return;
29
+ }
30
+ this.getAdaptableInternalApi().showPopupForm({
31
+ Id: 'data-set-form',
32
+ Form: this.buildDataSetForm(dataSet),
33
+ prepareContext: (context) => {
34
+ return new Promise((resolve) => {
35
+ const preparedContext = {
36
+ ...context,
37
+ dataSet,
38
+ };
39
+ resolve(preparedContext);
40
+ });
41
+ },
42
+ });
43
+ }
44
+ buildDataSetForm(dataSet) {
45
+ const sourceForm = dataSet.form;
46
+ if (!dataSet.onFormSubmit) {
47
+ return sourceForm;
48
+ }
49
+ const invokeOnFormSubmit = (context) => {
50
+ this.runDataSetHandler(() => dataSet.onFormSubmit(context), 'onFormSubmit', dataSet.name);
51
+ };
52
+ const onSubmit = (formData, context) => {
53
+ sourceForm.onSubmit?.(formData, context);
54
+ invokeOnFormSubmit({ ...context, formData, dataSet });
55
+ };
56
+ const buttons = sourceForm.buttons?.length > 0
57
+ ? sourceForm.buttons
58
+ : [
59
+ {
60
+ label: 'OK',
61
+ onClick: (_, context) => invokeOnFormSubmit({ ...context, dataSet }),
19
62
  },
20
- });
63
+ ];
64
+ return {
65
+ ...sourceForm,
66
+ onSubmit,
67
+ buttons,
68
+ };
69
+ }
70
+ runDataSetHandler(handler, handlerName, dataSetName) {
71
+ try {
72
+ const result = handler();
73
+ if (result != null && typeof result.then === 'function') {
74
+ result.catch((error) => {
75
+ this.logError(`DataSet '${dataSetName}' ${handlerName} handler failed`, error);
76
+ });
77
+ }
78
+ }
79
+ catch (error) {
80
+ this.logError(`DataSet '${dataSetName}' ${handlerName} handler failed`, error);
21
81
  }
22
82
  }
23
83
  }
@@ -913,10 +913,12 @@ const adaptableMiddleware = (adaptable) => (function(middlewareAPI) {
913
913
  case InternalRedux.DATA_SET_SELECT: {
914
914
  let returnAction = next(action);
915
915
  const dataSet = adaptable.api.dataSetApi.getCurrentDataSet();
916
- adaptable.api.eventApi.internalApi.fireDataSetSelectedEvent(dataSet);
917
- requestAnimationFrame(() => {
918
- adaptable.api.dataSetApi.internalApi.showDataSetForm(dataSet);
919
- });
916
+ if (dataSet) {
917
+ adaptable.api.dataSetApi.internalApi.handleDataSetSelected(dataSet);
918
+ requestAnimationFrame(() => {
919
+ adaptable.api.dataSetApi.internalApi.showDataSetForm(dataSet);
920
+ });
921
+ }
920
922
  return returnAction;
921
923
  }
922
924
  /*******************
@@ -119,6 +119,7 @@ class CalculatedColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
119
119
  name: 'Settings',
120
120
  label: 'Column Id',
121
121
  values: [calculateColumn.ColumnId],
122
+ tagVariant: 'column',
122
123
  },
123
124
  calculateColumn.FriendlyName && {
124
125
  name: 'Settings',
@@ -157,6 +157,7 @@ class ColumnFilterModule extends AdaptableModuleBase_1.AdaptableModuleBase {
157
157
  {
158
158
  name: 'Column',
159
159
  values: [this.api.columnApi.getFriendlyNameForColumnId(filter.ColumnId)],
160
+ tagVariant: 'column',
160
161
  },
161
162
  {
162
163
  name: 'Filter',
@@ -11,8 +11,8 @@ const getFlashingTargetViewItems_1 = require("./Utilities/FlashingCell/getFlashi
11
11
  const getFlashingCellStyleViewItems_1 = require("./Utilities/FlashingCell/getFlashingCellStyleViewItems");
12
12
  const getObjectTagsViewItems_1 = require("../Utilities/getObjectTagsViewItems");
13
13
  const getRuleViewItems_1 = require("../Utilities/getRuleViewItems");
14
- const getScopeViewItems_1 = require("../Utilities/getScopeViewItems");
15
14
  const FlashingCellWizard_1 = require("../View/FlashingCell/Wizard/FlashingCellWizard");
15
+ const FlashingCellScopeWizardSection_1 = require("../View/FlashingCell/Wizard/FlashingCellScopeWizardSection");
16
16
  const getFlashingCellDurationViewItems_1 = require("./Utilities/FlashingCell/getFlashingCellDurationViewItems");
17
17
  const AdaptableLogger_1 = require("../agGrid/AdaptableLogger");
18
18
  class FlashingCellModule extends AdaptableModuleBase_1.AdaptableModuleBase {
@@ -257,7 +257,11 @@ class FlashingCellModule extends AdaptableModuleBase_1.AdaptableModuleBase {
257
257
  name: 'Name',
258
258
  values: [flashingCell.Name],
259
259
  },
260
- { ...(0, getScopeViewItems_1.getScopeViewItems)(flashingCell.Scope, this.api), label: 'Trigger' },
260
+ {
261
+ label: 'Columns',
262
+ name: 'Columns',
263
+ view: FlashingCellScopeWizardSection_1.FlashingCellScopeSummaryView,
264
+ },
261
265
  {
262
266
  ...(0, getRuleViewItems_1.getRuleViewItems)(flashingCell.Rule, this.api),
263
267
  label: 'Rule',
@@ -103,7 +103,7 @@ class FormatColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
103
103
  },
104
104
  (0, FormatColumnFormatWizardSection_1.hasFormatColumnDisplayFormat)(formatColumn) && {
105
105
  name: 'Display Format',
106
- values: [(0, FormatColumnFormatWizardSection_1.getFormatColumnFormatSummaryValue)(formatColumn)],
106
+ values: (0, FormatColumnFormatWizardSection_1.getFormatColumnFormatSummaryTagValues)(formatColumn),
107
107
  },
108
108
  (0, getObjectTagsViewItems_1.getObjectTagsViewItems)(formatColumn, this.api),
109
109
  {
@@ -6,6 +6,7 @@ const AdaptableModuleBase_1 = require("./AdaptableModuleBase");
6
6
  const ModuleConstants = tslib_1.__importStar(require("../Utilities/Constants/ModuleConstants"));
7
7
  const FreeTextColumnRedux = tslib_1.__importStar(require("../Redux/ActionsReducers/FreeTextColumnRedux"));
8
8
  const FreeTextColumnWizard_1 = require("../View/FreeTextColumn/Wizard/FreeTextColumnWizard");
9
+ const getFreeTextColumnSettingsTags_1 = require("../View/FreeTextColumn/Utilities/getFreeTextColumnSettingsTags");
9
10
  const getObjectTagsViewItems_1 = require("../Utilities/getObjectTagsViewItems");
10
11
  const ArrayExtensions_1 = tslib_1.__importDefault(require("../Utilities/Extensions/ArrayExtensions"));
11
12
  class FreeTextColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
@@ -69,36 +70,45 @@ class FreeTextColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
69
70
  };
70
71
  }
71
72
  toView(freeTextColumn) {
73
+ const settingsTags = (0, getFreeTextColumnSettingsTags_1.getFreeTextColumnSettingsTags)(freeTextColumn.FreeTextColumnSettings);
74
+ const items = [
75
+ {
76
+ name: 'Settings',
77
+ label: 'Column Id',
78
+ values: [freeTextColumn.ColumnId],
79
+ tagVariant: 'column',
80
+ },
81
+ freeTextColumn.FriendlyName && {
82
+ name: 'Settings',
83
+ label: 'Column Name',
84
+ values: [freeTextColumn.FriendlyName],
85
+ },
86
+ {
87
+ name: 'Settings',
88
+ label: 'Data Type',
89
+ values: [freeTextColumn.FreeTextColumnSettings.DataType ?? 'Not specified'],
90
+ },
91
+ Boolean(freeTextColumn.DefaultValue) && {
92
+ name: 'Settings',
93
+ label: 'Default Value',
94
+ values: [freeTextColumn.DefaultValue],
95
+ },
96
+ freeTextColumn.TextEditor && {
97
+ name: 'Settings',
98
+ label: 'Editor Type',
99
+ values: [freeTextColumn.TextEditor],
100
+ },
101
+ ].filter(Boolean);
102
+ if (ArrayExtensions_1.default.IsNotNullOrEmpty(settingsTags)) {
103
+ items.push({
104
+ name: 'Settings',
105
+ values: settingsTags,
106
+ });
107
+ }
108
+ items.push((0, getObjectTagsViewItems_1.getObjectTagsViewItems)(freeTextColumn, this.api));
72
109
  return {
73
110
  abObject: freeTextColumn,
74
- items: [
75
- {
76
- name: 'Settings',
77
- label: 'Column Id',
78
- values: [freeTextColumn.ColumnId],
79
- },
80
- freeTextColumn.FriendlyName && {
81
- name: 'Settings',
82
- label: 'Column Name',
83
- values: [freeTextColumn.FriendlyName],
84
- },
85
- {
86
- name: 'Settings',
87
- label: 'Data Type',
88
- values: [freeTextColumn.FreeTextColumnSettings.DataType ?? 'Not specified'],
89
- },
90
- Boolean(freeTextColumn.DefaultValue) && {
91
- name: 'Settings',
92
- label: 'Default Value',
93
- values: [freeTextColumn.DefaultValue],
94
- },
95
- freeTextColumn.TextEditor && {
96
- name: 'Editor Type',
97
- label: 'Editor',
98
- values: [freeTextColumn.TextEditor],
99
- },
100
- (0, getObjectTagsViewItems_1.getObjectTagsViewItems)(freeTextColumn, this.api),
101
- ].filter(Boolean),
111
+ items: items.filter(Boolean),
102
112
  };
103
113
  }
104
114
  toViewAll() {
@@ -58,7 +58,9 @@ export interface AdaptableObjectItemView {
58
58
  * Values used for the component.
59
59
  * Could be later extended to include an 'onChange' prop.
60
60
  */
61
- values?: (string | number)[];
61
+ values?: (string | number | React.ReactNode)[];
62
+ /** When `'column'`, tag values render with column styling. */
63
+ tagVariant?: 'default' | 'column';
62
64
  }
63
65
  export interface AdaptableObjectView {
64
66
  /**
@@ -12,8 +12,9 @@ const EditCurrentLayoutButton_1 = require("../View/Layout/EditCurrentLayoutButto
12
12
  const LayoutCloneButton_1 = require("../View/Layout/LayoutCloneButton");
13
13
  const LayoutWizard_1 = require("../View/Layout/Wizard/LayoutWizard");
14
14
  const getLayoutFilterViewItems_1 = require("./Utilities/Layout/getLayoutFilterViewItems");
15
- const getLayoutSortViewItems_1 = require("./Utilities/Layout/getLayoutSortViewItems");
16
- const AggregationColumns_1 = require("../AdaptableState/Common/AggregationColumns");
15
+ const columnsSummaryHelpers_1 = require("./Utilities/Layout/columnsSummaryHelpers");
16
+ const rowGroupSummaryHelpers_1 = require("./Utilities/Layout/rowGroupSummaryHelpers");
17
+ const aggregationSummaryHelpers_1 = require("./Utilities/Layout/aggregationSummaryHelpers");
17
18
  const windowFactory_1 = require("../View/Components/Popups/WindowPopups/windowFactory");
18
19
  const flattenDeep_1 = tslib_1.__importDefault(require("../Utilities/utils/flattenDeep"));
19
20
  const StringExtensions_1 = tslib_1.__importDefault(require("../Utilities/Extensions/StringExtensions"));
@@ -281,25 +282,9 @@ class LayoutModule extends AdaptableModuleBase_1.AdaptableModuleBase {
281
282
  return this.getModuleAdaptableObjects().map((layout) => this.toView(layout));
282
283
  }
283
284
  toView(layout) {
284
- const maxColumnsToDisplay = this.api.optionsApi.getLayoutOptions().layoutViewOptions?.maxColumnsToDisplay ?? 10;
285
285
  const columnIdToFriendlyName = (columnId) => {
286
286
  return this.api.columnApi.getFriendlyNameForColumnId(columnId);
287
287
  };
288
- let columns = (layout.TableColumns || [])
289
- .filter((c) => !this.api.columnApi.isAutoRowGroupColumn(c))
290
- .filter((c) => !this.api.columnApi.isPivotResultColumn(c))
291
- .filter((c) => !this.api.columnApi.isSelectionColumn(c));
292
- if (columns.length >
293
- maxColumnsToDisplay + 1 /* +1 is to show tag only beginning with 2, 'other 2' */) {
294
- const extraColumns = columns.length - maxColumnsToDisplay;
295
- const firstNColumns = columns
296
- .slice(0, maxColumnsToDisplay)
297
- .map((column) => columnIdToFriendlyName(column));
298
- columns = [...firstNColumns, `and ${extraColumns} more`];
299
- }
300
- else {
301
- columns = columns.map((column) => columnIdToFriendlyName(column));
302
- }
303
288
  return {
304
289
  items: [
305
290
  {
@@ -316,59 +301,23 @@ class LayoutModule extends AdaptableModuleBase_1.AdaptableModuleBase {
316
301
  * The generated pivot columns cannot be prevented from beeing on the layout object.
317
302
  * When they are removed/not added, they no longer appear in the grid.
318
303
  */
319
- !(0, LayoutHelpers_1.isPivotLayout)(layout) && {
320
- name: 'Columns',
321
- values: columns,
322
- },
323
- layout.ColumnSorts?.length && (0, getLayoutSortViewItems_1.getLayoutSortViewItems)(layout, this.api),
304
+ ...(!(0, LayoutHelpers_1.isPivotLayout)(layout)
305
+ ? (0, columnsSummaryHelpers_1.getLayoutTableColumnsViewItems)(layout, this.api, {
306
+ maxColumnsToDisplay: this.api.optionsApi.getAdaptableOptions()?.layoutOptions?.layoutViewOptions
307
+ ?.maxColumnsToDisplay,
308
+ })
309
+ : []),
324
310
  layout?.ColumnFilters?.length && (0, getLayoutFilterViewItems_1.getLayoutFilterViewItems)(layout, this.api),
325
- layout?.RowGroupedColumns?.length && {
326
- name: 'Row Groups',
327
- values: layout.RowGroupedColumns.map((colId) => columnIdToFriendlyName(colId)),
328
- },
311
+ ...(!(0, LayoutHelpers_1.isPivotLayout)(layout) ? (0, rowGroupSummaryHelpers_1.getLayoutTableRowGroupViewItems)(layout, this.api) : []),
329
312
  layout?.PivotColumns?.length && {
330
313
  name: 'Pivot Columns',
331
314
  values: layout.PivotColumns.map((colId) => columnIdToFriendlyName(colId)),
315
+ tagVariant: 'column',
332
316
  },
333
- layout?.PivotGroupedColumns?.length && {
334
- name: 'Pivot Row Groups',
335
- values: layout.PivotGroupedColumns.map((colId) => columnIdToFriendlyName(colId)),
336
- },
337
- layout?.TableAggregationColumns &&
338
- layout.TableAggregationColumns.length && {
339
- name: 'Aggregations',
340
- values: layout.TableAggregationColumns.map(({ ColumnId, AggFunc: aggFn }) => {
341
- if (ColumnId === 'Source' || ColumnId === 'Uuid' || ColumnId === 'AdaptableVersion') {
342
- return '';
343
- }
344
- let aggFnName = '';
345
- if (typeof aggFn === 'string') {
346
- aggFnName = aggFn;
347
- }
348
- else if (typeof aggFn === 'object' && aggFn.type === 'weightedAverage') {
349
- aggFnName = AggregationColumns_1.WEIGHTED_AVERAGE_AGG_FN_NAME;
350
- }
351
- return `${aggFnName}(${columnIdToFriendlyName(ColumnId)})`;
352
- }).filter(Boolean),
353
- },
354
- (0, LayoutHelpers_1.isPivotLayout)(layout) &&
355
- layout?.PivotAggregationColumns &&
356
- layout.PivotAggregationColumns.length && {
357
- name: 'Pivot Aggregations',
358
- values: layout.PivotAggregationColumns.map(({ ColumnId, AggFunc: aggFn }) => {
359
- if (ColumnId === 'Source' || ColumnId === 'Uuid' || ColumnId === 'AdaptableVersion') {
360
- return '';
361
- }
362
- let aggFnName = '';
363
- if (typeof aggFn === 'string') {
364
- aggFnName = aggFn;
365
- }
366
- else if (typeof aggFn === 'object' && aggFn.type === 'weightedAverage') {
367
- aggFnName = AggregationColumns_1.WEIGHTED_AVERAGE_AGG_FN_NAME;
368
- }
369
- return `${aggFnName}(${columnIdToFriendlyName(ColumnId)})`;
370
- }).filter(Boolean),
371
- },
317
+ (0, LayoutHelpers_1.isPivotLayout)(layout) && (0, columnsSummaryHelpers_1.getLayoutPivotSortingViewItem)(layout, this.api),
318
+ ...((0, LayoutHelpers_1.isPivotLayout)(layout) ? (0, rowGroupSummaryHelpers_1.getLayoutPivotRowGroupViewItems)(layout, this.api) : []),
319
+ ...(!(0, LayoutHelpers_1.isPivotLayout)(layout) ? (0, aggregationSummaryHelpers_1.getLayoutTableAggregationViewItems)(layout, this.api) : []),
320
+ ...((0, LayoutHelpers_1.isPivotLayout)(layout) ? (0, aggregationSummaryHelpers_1.getLayoutPivotAggregationViewItems)(layout, this.api) : []),
372
321
  layout?.GridFilter &&
373
322
  StringExtensions_1.default.IsNotNullOrEmpty(layout.GridFilter.Expression) &&
374
323
  (0, getGridFilterPreview_1.getGridFilterViewItems)(layout),