@adaptabletools/adaptable 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 +2 -2
  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 +12 -29
  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 +14 -0
  28. package/src/Strategy/Utilities/Export/getExportRowsViewItems.d.ts +1 -0
  29. package/src/Strategy/Utilities/Export/getExportRowsViewItems.js +3 -0
  30. package/src/Strategy/Utilities/Layout/aggregationSummaryHelpers.d.ts +11 -0
  31. package/src/Strategy/Utilities/Layout/aggregationSummaryHelpers.js +105 -0
  32. package/src/Strategy/Utilities/Layout/columnsSummaryHelpers.d.ts +48 -0
  33. package/src/Strategy/Utilities/Layout/columnsSummaryHelpers.js +166 -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 +85 -0
  38. package/src/Utilities/Defaults/DefaultSettingsPanel.d.ts +3 -5
  39. package/src/Utilities/Defaults/DefaultSettingsPanel.js +46 -41
  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 +27 -0
  44. package/src/Utilities/Helpers/StyledColumnGradientHelper.js +7 -5
  45. package/src/Utilities/Helpers/resolveSettingsPanelNavigation.d.ts +3 -0
  46. package/src/Utilities/Helpers/resolveSettingsPanelNavigation.js +15 -0
  47. package/src/Utilities/getScopeViewItems.js +2 -0
  48. package/src/Utilities/wizardSelection.d.ts +10 -0
  49. package/src/Utilities/wizardSelection.js +15 -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 +0 -4
  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 +31 -7
  66. package/src/View/Alert/Wizard/AlertWizard.js +4 -4
  67. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.d.ts +2 -1
  68. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +4 -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 +30 -4
  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 -2
  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 +2 -3
  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 +4 -9
  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 +1 -1
  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 -3
  102. package/src/View/Components/Popups/AdaptablePopup/TopBar.js +2 -2
  103. package/src/View/Components/Popups/AdaptablePopup/settingsPanelNavigationTypes.d.ts +11 -0
  104. package/src/View/Components/Popups/AdaptablePopup/settingsPanelNavigationTypes.js +1 -0
  105. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.d.ts +3 -1
  106. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +25 -27
  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 -2
  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 +32 -65
  114. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +10 -7
  115. package/src/View/Components/ToolPanel/ToolPanelPopup.d.ts +3 -13
  116. package/src/View/Components/ToolPanel/ToolPanelPopup.js +5 -81
  117. package/src/View/Components/ToolPanel/ToolPanelPopupSections.d.ts +17 -0
  118. package/src/View/Components/ToolPanel/ToolPanelPopupSections.js +76 -0
  119. package/src/View/Components/ValueSelector/index.d.ts +29 -0
  120. package/src/View/Components/ValueSelector/index.js +113 -30
  121. package/src/View/Components/wizardColumnListStyles.d.ts +10 -0
  122. package/src/View/Components/wizardColumnListStyles.js +10 -0
  123. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.d.ts +2 -1
  124. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +5 -7
  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 +68 -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 +94 -0
  135. package/src/View/DataChangeHistory/buildActionColumnButton.d.ts +5 -3
  136. package/src/View/DataChangeHistory/buildActionColumnButton.js +30 -39
  137. package/src/View/DataChangeHistory/dataChangeHistoryHelpers.d.ts +15 -0
  138. package/src/View/DataChangeHistory/dataChangeHistoryHelpers.js +37 -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 +3 -3
  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 +4 -9
  147. package/src/View/Export/Wizard/ReportRowsWizardSection.d.ts +2 -1
  148. package/src/View/Export/Wizard/ReportRowsWizardSection.js +3 -6
  149. package/src/View/FlashingCell/FlashingCellStyle.d.ts +4 -2
  150. package/src/View/FlashingCell/FlashingCellStyle.js +4 -2
  151. package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.d.ts +2 -1
  152. package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +7 -11
  153. package/src/View/FlashingCell/Wizard/FlashingCellScopeSummary.d.ts +9 -0
  154. package/src/View/FlashingCell/Wizard/FlashingCellScopeSummary.js +5 -0
  155. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.d.ts +1 -1
  156. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +1 -0
  157. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.d.ts +0 -5
  158. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.js +1 -5
  159. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +2 -3
  160. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +1 -1
  161. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +99 -42
  162. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.d.ts +0 -1
  163. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +0 -4
  164. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +56 -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 -8
  168. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +8 -13
  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 -2
  174. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +2 -2
  175. package/src/View/Layout/LayoutViewPanel.js +1 -1
  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 +73 -33
  179. package/src/View/Layout/Wizard/sections/ColumnsSection.d.ts +4 -1
  180. package/src/View/Layout/Wizard/sections/ColumnsSection.js +155 -276
  181. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.d.ts +4 -1
  182. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +148 -145
  183. package/src/View/Layout/Wizard/sections/PivotColumnsSection.d.ts +5 -2
  184. package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +24 -12
  185. package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.d.ts +4 -1
  186. package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.js +23 -12
  187. package/src/View/Layout/Wizard/sections/RowGroupingSection.d.ts +5 -2
  188. package/src/View/Layout/Wizard/sections/RowGroupingSection.js +19 -12
  189. package/src/View/Layout/Wizard/sections/RowSelectionSection.js +8 -4
  190. package/src/View/Layout/Wizard/sections/RowSummarySection.js +11 -11
  191. package/src/View/Layout/Wizard/sections/SortSection.d.ts +12 -2
  192. package/src/View/Layout/Wizard/sections/SortSection.js +41 -17
  193. package/src/View/Layout/Wizard/sections/columnLayoutCards.d.ts +20 -0
  194. package/src/View/Layout/Wizard/sections/columnLayoutCards.js +159 -0
  195. package/src/View/Layout/Wizard/sections/columnLayoutHelpers.d.ts +30 -0
  196. package/src/View/Layout/Wizard/sections/columnLayoutHelpers.js +201 -0
  197. package/src/View/Layout/Wizard/sections/layoutWizardAccordionHelpers.d.ts +8 -0
  198. package/src/View/Layout/Wizard/sections/layoutWizardAccordionHelpers.js +63 -0
  199. package/src/View/Layout/Wizard/sections/layoutWizardColumns.d.ts +11 -0
  200. package/src/View/Layout/Wizard/sections/layoutWizardColumns.js +52 -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 -12
  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 +7 -0
  217. package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.d.ts +2 -0
  218. package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.js +14 -11
  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 +8 -14
  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 +50 -0
  225. package/src/View/StyledColumn/Wizard/StyledColumnWizard.d.ts +2 -0
  226. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +26 -5
  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 +98 -43
  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 +32 -46
  234. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +11 -6
  235. package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +94 -7
  236. package/src/View/UIHelper.d.ts +0 -2
  237. package/src/View/UIHelper.js +8 -23
  238. package/src/View/Wizard/CollapsibleWizardCard.d.ts +68 -0
  239. package/src/View/Wizard/CollapsibleWizardCard.js +81 -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 +67 -0
  243. package/src/View/Wizard/WizardTypeSelection.d.ts +34 -0
  244. package/src/View/Wizard/WizardTypeSelection.js +31 -0
  245. package/src/View/Wizard/rowGroupSummaryTags.d.ts +18 -0
  246. package/src/View/Wizard/rowGroupSummaryTags.js +14 -0
  247. package/src/View/Wizard/scopeSummaryTags.d.ts +6 -0
  248. package/src/View/Wizard/scopeSummaryTags.js +33 -0
  249. package/src/agGrid/AdaptableAgGrid.js +1 -1
  250. package/src/agGrid/AgGridAdapter.js +0 -5
  251. package/src/agGrid/AgGridColumnAdapter.js +2 -2
  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 -6
  255. package/src/components/CheckBox/index.js +2 -3
  256. package/src/components/CodeBlock/index.js +2 -2
  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 +26 -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 +3 -0
  269. package/src/components/DragAndDropContext/ModuleManager.d.ts +15 -3
  270. package/src/components/DragAndDropContext/ModuleManager.js +47 -8
  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 +15 -11
  275. package/src/components/DragAndDropContext/dragScope.d.ts +6 -0
  276. package/src/components/DragAndDropContext/dragScope.js +26 -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 -2
  281. package/src/components/ErrorBox/index.js +2 -2
  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 +6 -6
  285. package/src/components/FieldWrap/index.js +2 -2
  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 -3
  289. package/src/components/IconSelector/IconSelector.d.ts +8 -0
  290. package/src/components/IconSelector/IconSelector.js +11 -7
  291. package/src/components/IconSelector/index.d.ts +1 -0
  292. package/src/components/IconSelector/index.js +1 -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 -2
  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 +14 -4
  303. package/src/components/Tag/columnScopeTagHelpers.d.ts +8 -0
  304. package/src/components/Tag/columnScopeTagHelpers.js +6 -0
  305. package/src/components/Tag/index.d.ts +1 -1
  306. package/src/components/Tag/index.js +1 -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 -4
  312. package/src/components/Tree/TreeDropdown/index.js +3 -4
  313. package/src/components/WarningBox/index.js +2 -2
  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.esm.tsbuildinfo +1 -1
  326. package/src/View/DataChangeHistory/DataChangeHistoryGrid.d.ts +0 -17
  327. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +0 -290
  328. package/src/components/DropdownButton/DropdownButtonItem.d.ts +0 -12
  329. package/src/components/DropdownButton/DropdownButtonItem.js +0 -1
  330. package/src/components/DropdownButton/renderItem.d.ts +0 -14
  331. package/src/components/DropdownButton/renderItem.js +0 -11
  332. package/src/components/DropdownButton/useExpanded.d.ts +0 -24
  333. package/src/components/DropdownButton/useExpanded.js +0 -56
  334. package/src/components/NewDropdownButton/index.d.ts +0 -27
  335. package/src/components/NewDropdownButton/index.js +0 -24
@@ -1,7 +1,8 @@
1
1
  import { AdaptableModuleBase } from './AdaptableModuleBase';
2
2
  import * as ModuleConstants from '../Utilities/Constants/ModuleConstants';
3
3
  import * as StyledColumnRedux from '../Redux/ActionsReducers/StyledColumnRedux';
4
- import { StyledColumnWizard } from '../View/StyledColumn/Wizard/StyledColumnWizard';
4
+ import { StyledColumnWizard, getStyledColumnEditDefaultSectionName } from '../View/StyledColumn/Wizard/StyledColumnWizard';
5
+ import { summaryStringsToTagContents } from '../View/Wizard/SummaryColorTag';
5
6
  import { renderStyledColumnRangesSummary, getStyledColumnPercentBarStyleViewValues, } from '../View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection';
6
7
  import { getStyledColumnGradientStyleViewValues } from '../View/StyledColumn/Wizard/StyledColumnWizardGradientSection';
7
8
  import { getStyledColumnBulletStyleViewValues, StyledColumnBulletRangesView, } from '../View/StyledColumn/Wizard/StyledColumnWizardBulletSection';
@@ -80,26 +81,7 @@ export class StyledColumnModule extends AdaptableModuleBase {
80
81
  // Edit is common
81
82
  if (styledColumn) {
82
83
  if (!styledColumn.IsReadOnly) {
83
- let defaultCurrentSectionName = undefined;
84
- if (styledColumn.BadgeStyle) {
85
- defaultCurrentSectionName = 'Badges';
86
- }
87
- else if (styledColumn.GradientStyle || styledColumn.PercentBarStyle) {
88
- // Gradient + Percent Bar wizards now lead with the Ranges step.
89
- defaultCurrentSectionName = 'Ranges';
90
- }
91
- else if (styledColumn.BulletChartStyle) {
92
- defaultCurrentSectionName = 'Ranges';
93
- }
94
- else if (styledColumn.RangeBarStyle) {
95
- defaultCurrentSectionName = 'Style';
96
- }
97
- else if (styledColumn.IconStyle) {
98
- defaultCurrentSectionName = 'Mappings';
99
- }
100
- else {
101
- defaultCurrentSectionName = 'Style';
102
- }
84
+ const defaultCurrentSectionName = getStyledColumnEditDefaultSectionName(styledColumn);
103
85
  const popupParam = {
104
86
  action: 'Edit',
105
87
  source: 'ColumnMenu',
@@ -291,7 +273,7 @@ export class StyledColumnModule extends AdaptableModuleBase {
291
273
  if (styledColumn.PercentBarStyle) {
292
274
  specificTypeItems.push({
293
275
  name: 'Style',
294
- values: getStyledColumnPercentBarStyleViewValues(styledColumn),
276
+ values: summaryStringsToTagContents(getStyledColumnPercentBarStyleViewValues(styledColumn)),
295
277
  });
296
278
  specificTypeItems.push({
297
279
  name: 'Preview',
@@ -301,7 +283,7 @@ export class StyledColumnModule extends AdaptableModuleBase {
301
283
  if (styledColumn.GradientStyle) {
302
284
  specificTypeItems.push({
303
285
  name: 'Style',
304
- values: getStyledColumnGradientStyleViewValues(styledColumn),
286
+ values: summaryStringsToTagContents(getStyledColumnGradientStyleViewValues(styledColumn)),
305
287
  });
306
288
  specificTypeItems.push({
307
289
  name: 'Preview',
@@ -316,7 +298,7 @@ export class StyledColumnModule extends AdaptableModuleBase {
316
298
  });
317
299
  specificTypeItems.push({
318
300
  name: 'Style',
319
- values: getStyledColumnBulletStyleViewValues(styledColumn),
301
+ values: summaryStringsToTagContents(getStyledColumnBulletStyleViewValues(styledColumn)),
320
302
  });
321
303
  specificTypeItems.push({
322
304
  name: 'Preview',
@@ -326,7 +308,7 @@ export class StyledColumnModule extends AdaptableModuleBase {
326
308
  if (styledColumn.RatingStyle) {
327
309
  specificTypeItems.push({
328
310
  name: 'Style',
329
- values: getStyledColumnRatingStyleViewValues(styledColumn),
311
+ values: summaryStringsToTagContents(getStyledColumnRatingStyleViewValues(styledColumn)),
330
312
  });
331
313
  specificTypeItems.push({
332
314
  name: 'Preview',
@@ -340,7 +322,7 @@ export class StyledColumnModule extends AdaptableModuleBase {
340
322
  });
341
323
  specificTypeItems.push({
342
324
  name: 'Display',
343
- values: getStyledColumnRangeBarDisplayViewValues(styledColumn),
325
+ values: summaryStringsToTagContents(getStyledColumnRangeBarDisplayViewValues(styledColumn)),
344
326
  });
345
327
  specificTypeItems.push({
346
328
  name: 'Preview',
@@ -354,7 +336,7 @@ export class StyledColumnModule extends AdaptableModuleBase {
354
336
  });
355
337
  specificTypeItems.push({
356
338
  name: 'Style',
357
- values: getStyledColumnIconStyleViewValues(styledColumn),
339
+ values: summaryStringsToTagContents(getStyledColumnIconStyleViewValues(styledColumn)),
358
340
  });
359
341
  specificTypeItems.push({
360
342
  name: 'Preview',
@@ -368,7 +350,7 @@ export class StyledColumnModule extends AdaptableModuleBase {
368
350
  });
369
351
  specificTypeItems.push({
370
352
  name: 'Style',
371
- values: getStyledColumnBadgeStyleViewValues(styledColumn, this.api),
353
+ values: summaryStringsToTagContents(getStyledColumnBadgeStyleViewValues(styledColumn, this.api)),
372
354
  });
373
355
  specificTypeItems.push({
374
356
  name: 'Preview',
@@ -378,7 +360,7 @@ export class StyledColumnModule extends AdaptableModuleBase {
378
360
  if (styledColumn.SparklineStyle) {
379
361
  specificTypeItems.push({
380
362
  name: 'Style',
381
- values: getStyledColumnSparklineStyleViewValues(styledColumn),
363
+ values: summaryStringsToTagContents(getStyledColumnSparklineStyleViewValues(styledColumn)),
382
364
  });
383
365
  specificTypeItems.push({
384
366
  name: 'Preview',
@@ -400,6 +382,7 @@ export class StyledColumnModule extends AdaptableModuleBase {
400
382
  {
401
383
  name: 'Column',
402
384
  values: [this.api.columnApi.getFriendlyNameForColumnId(styledColumn.ColumnId)],
385
+ tagVariant: 'column',
403
386
  },
404
387
  {
405
388
  name: 'Rows',
@@ -2,4 +2,5 @@ import { AdaptableApi, CustomSort } from '../../../../types';
2
2
  export declare const getCustomSortColumnViewItems: (customSort: CustomSort, api: AdaptableApi) => {
3
3
  name: string;
4
4
  values: string[];
5
+ tagVariant: "column";
5
6
  };
@@ -2,5 +2,6 @@ export const getCustomSortColumnViewItems = (customSort, api) => {
2
2
  return {
3
3
  name: 'Column',
4
4
  values: [api.columnApi.getFriendlyNameForColumnId(customSort.ColumnId)],
5
+ tagVariant: 'column',
5
6
  };
6
7
  };
@@ -1,3 +1,5 @@
1
+ import * as React from 'react';
1
2
  import { AdaptableObjectItemView } from '../../Interface/IModule';
2
3
  import { AdaptableApi, Report } from '../../../../types';
3
4
  export declare const getExportColumnsViewItems: (report: Report, api: AdaptableApi) => AdaptableObjectItemView;
5
+ export declare const renderExportColumnsView: (report: Report, api: AdaptableApi) => React.ReactNode;
@@ -1,6 +1,20 @@
1
+ import * as React from 'react';
2
+ import { TagList } from '../../../components/Tag/Tag';
3
+ import { reportColumnTagsUseColumnVariant } from '../../../components/Tag/columnScopeTagHelpers';
1
4
  export const getExportColumnsViewItems = (report, api) => {
2
5
  return {
3
6
  name: 'Columns',
4
7
  values: [...api.exportApi.internalApi.getReportColumnScopeShortDescription(report)],
8
+ tagVariant: reportColumnTagsUseColumnVariant(report) ? 'column' : undefined,
5
9
  };
6
10
  };
11
+ export const renderExportColumnsView = (report, api) => {
12
+ const { values } = getExportColumnsViewItems(report, api);
13
+ if (!values?.length) {
14
+ return null;
15
+ }
16
+ return React.createElement(TagList, {
17
+ tags: values,
18
+ variant: reportColumnTagsUseColumnVariant(report) ? 'column' : undefined,
19
+ });
20
+ };
@@ -4,3 +4,4 @@ export declare const getExportRowsViewItems: (report: Report, api: AdaptableApi)
4
4
  name: string;
5
5
  view: React.JSX.Element;
6
6
  };
7
+ export declare const renderExportRowsView: (report: Report, api: AdaptableApi) => React.ReactNode;
@@ -14,3 +14,6 @@ export const getExportRowsViewItems = (report, api) => {
14
14
  view: _jsx(Tag, { children: element }),
15
15
  };
16
16
  };
17
+ export const renderExportRowsView = (report, api) => {
18
+ return getExportRowsViewItems(report, api).view;
19
+ };
@@ -0,0 +1,11 @@
1
+ import { AdaptableApi, PivotLayout, TableLayout } from '../../../types';
2
+ export declare function getTableAggregationSummaryValues(layout: TableLayout, api: AdaptableApi): string[];
3
+ export declare function getPivotAggregationSummaryValues(layout: PivotLayout, api: AdaptableApi): string[];
4
+ export declare function getLayoutTableAggregationViewItems(layout: TableLayout, api: AdaptableApi): {
5
+ name: string;
6
+ values: string[];
7
+ }[];
8
+ export declare function getLayoutPivotAggregationViewItems(layout: PivotLayout, api: AdaptableApi): {
9
+ name: string;
10
+ values: string[];
11
+ }[];
@@ -0,0 +1,105 @@
1
+ import { WEIGHTED_AVERAGE_AGG_FN_NAME } from '../../../AdaptableState/Common/AggregationColumns';
2
+ const IGNORED_AGG_COLUMN_IDS = new Set(['Source', 'Uuid', 'AdaptableVersion']);
3
+ const GRAND_TOTAL_ROW_LABELS = {
4
+ off: 'None',
5
+ top: 'Top',
6
+ bottom: 'Bottom',
7
+ pinnedTop: 'Pinned Top',
8
+ pinnedBottom: 'Pinned Bottom',
9
+ };
10
+ const PIVOT_LAYOUT_TOTAL_LABELS = {
11
+ off: 'None',
12
+ before: 'Before',
13
+ after: 'After',
14
+ };
15
+ function getGrandTotalRowKey(layout) {
16
+ const value = layout.GrandTotalRow;
17
+ if (value == null || value === false) {
18
+ return 'off';
19
+ }
20
+ return value;
21
+ }
22
+ function getGrandTotalRowLabel(layout) {
23
+ return GRAND_TOTAL_ROW_LABELS[getGrandTotalRowKey(layout)];
24
+ }
25
+ function getPivotLayoutTotalKey(value) {
26
+ if (value == null || value === false) {
27
+ return 'off';
28
+ }
29
+ if (value === 'before') {
30
+ return 'before';
31
+ }
32
+ if (value === 'after') {
33
+ return 'after';
34
+ }
35
+ return 'off';
36
+ }
37
+ function getPivotLayoutTotalLabel(value) {
38
+ return PIVOT_LAYOUT_TOTAL_LABELS[getPivotLayoutTotalKey(value)];
39
+ }
40
+ function formatAggregationTag(columnId, aggFn, columnIdToFriendlyName) {
41
+ if (IGNORED_AGG_COLUMN_IDS.has(columnId)) {
42
+ return null;
43
+ }
44
+ let aggFnName = '';
45
+ if (typeof aggFn === 'string') {
46
+ aggFnName = aggFn;
47
+ }
48
+ else if (typeof aggFn === 'object' && aggFn?.type === 'weightedAverage') {
49
+ aggFnName = WEIGHTED_AVERAGE_AGG_FN_NAME;
50
+ }
51
+ if (!aggFnName) {
52
+ return null;
53
+ }
54
+ return `${aggFnName}(${columnIdToFriendlyName(columnId)})`;
55
+ }
56
+ export function getTableAggregationSummaryValues(layout, api) {
57
+ const columnIdToFriendlyName = (columnId) => api.columnApi.getFriendlyNameForColumnId(columnId);
58
+ const values = (layout.TableAggregationColumns || [])
59
+ .map(({ ColumnId, AggFunc }) => formatAggregationTag(ColumnId, AggFunc, columnIdToFriendlyName))
60
+ .filter((value) => Boolean(value));
61
+ if (getGrandTotalRowKey(layout) !== 'off') {
62
+ values.push(`Grand Total Row: ${getGrandTotalRowLabel(layout)}`);
63
+ }
64
+ return values;
65
+ }
66
+ export function getPivotAggregationSummaryValues(layout, api) {
67
+ const columnIdToFriendlyName = (columnId) => api.columnApi.getFriendlyNameForColumnId(columnId);
68
+ const values = (layout.PivotAggregationColumns || [])
69
+ .map(({ ColumnId, AggFunc }) => formatAggregationTag(ColumnId, AggFunc, columnIdToFriendlyName))
70
+ .filter((value) => Boolean(value));
71
+ if (getGrandTotalRowKey(layout) !== 'off') {
72
+ values.push(`Grand Total Row: ${getGrandTotalRowLabel(layout)}`);
73
+ }
74
+ if (getPivotLayoutTotalKey(layout.PivotGrandTotal) !== 'off') {
75
+ values.push(`Pivot Grand Total: ${getPivotLayoutTotalLabel(layout.PivotGrandTotal)}`);
76
+ }
77
+ if (getPivotLayoutTotalKey(layout.PivotColumnTotal) !== 'off') {
78
+ values.push(`Pivot Column Total: ${getPivotLayoutTotalLabel(layout.PivotColumnTotal)}`);
79
+ }
80
+ return values;
81
+ }
82
+ export function getLayoutTableAggregationViewItems(layout, api) {
83
+ const values = getTableAggregationSummaryValues(layout, api);
84
+ if (!values.length) {
85
+ return [];
86
+ }
87
+ return [
88
+ {
89
+ name: 'Aggregations',
90
+ values,
91
+ },
92
+ ];
93
+ }
94
+ export function getLayoutPivotAggregationViewItems(layout, api) {
95
+ const values = getPivotAggregationSummaryValues(layout, api);
96
+ if (!values.length) {
97
+ return [];
98
+ }
99
+ return [
100
+ {
101
+ name: 'Aggregations',
102
+ values,
103
+ },
104
+ ];
105
+ }
@@ -0,0 +1,48 @@
1
+ import { AdaptableApi, Layout, TableLayout } from '../../../types';
2
+ export declare const TABLE_COLUMNS_SETTINGS_PANEL_LABELS: {
3
+ visibility: string;
4
+ pinning: string;
5
+ sizing: string;
6
+ sorting: string;
7
+ };
8
+ export declare const TABLE_COLUMNS_WIZARD_SUBSECTION_LABELS: {
9
+ visibility: string;
10
+ pinning: string;
11
+ sizing: string;
12
+ sorting: string;
13
+ };
14
+ export type TableColumnsSummaryLabels = {
15
+ readonly visibility: string;
16
+ readonly pinning: string;
17
+ readonly sizing: string;
18
+ readonly sorting: string;
19
+ };
20
+ export type TableColumnsSummaryGroup = {
21
+ label: string;
22
+ values: string[];
23
+ emptyLabel: string;
24
+ };
25
+ export declare function getTableColumnsVisibilitySummaryValues(layout: TableLayout, api: AdaptableApi): string[];
26
+ export declare function getTableColumnsPinningSummaryValues(layout: Layout, api: AdaptableApi): string[];
27
+ export declare function getTableColumnsSizingSummaryValues(layout: Layout, api: AdaptableApi): string[];
28
+ export declare function getTableColumnsSortingSummaryValues(layout: Layout, api: AdaptableApi): string[];
29
+ /** Matches legacy Layout settings panel behaviour (`layoutViewOptions.maxColumnsToDisplay`). */
30
+ export declare const DEFAULT_LAYOUT_VIEW_MAX_COLUMNS = 10;
31
+ /**
32
+ * Collapse a long column list for compact views (e.g. Layout settings panel).
33
+ * Keeps all items when the overflow is only 1 column; otherwise shows `+N more`.
34
+ */
35
+ export declare function truncateColumnSummaryValues(values: string[], maxToDisplay?: number): string[];
36
+ export declare function getTableColumnsSummaryGroups(layout: TableLayout, api: AdaptableApi, labels?: TableColumnsSummaryLabels): TableColumnsSummaryGroup[];
37
+ export declare function getLayoutTableColumnsViewItems(layout: Layout, api: AdaptableApi, options?: {
38
+ maxColumnsToDisplay?: number;
39
+ }): {
40
+ name: string;
41
+ values: string[];
42
+ tagVariant: "column";
43
+ }[];
44
+ export declare function getLayoutPivotSortingViewItem(layout: Layout, api: AdaptableApi): {
45
+ name: string;
46
+ values: string[];
47
+ tagVariant: "column";
48
+ };
@@ -0,0 +1,166 @@
1
+ export const TABLE_COLUMNS_SETTINGS_PANEL_LABELS = {
2
+ visibility: 'Columns',
3
+ pinning: 'Pinning',
4
+ sizing: 'Sizing',
5
+ sorting: 'Sorting',
6
+ };
7
+ export const TABLE_COLUMNS_WIZARD_SUBSECTION_LABELS = {
8
+ visibility: 'Visibility and Order',
9
+ pinning: 'Pinning',
10
+ sizing: 'Sizing',
11
+ sorting: 'Sorting',
12
+ };
13
+ function resolveDefaultColumnWidth(api) {
14
+ return (columnId) => api.internalApi.getAdaptableInstance().getDefaultColumnWidthForCol(columnId);
15
+ }
16
+ function hasExplicitLayoutSizing(columnId, sizing, resolveDefaultWidth) {
17
+ if (!sizing) {
18
+ return false;
19
+ }
20
+ if (sizing.Flex != null) {
21
+ return true;
22
+ }
23
+ if (sizing.MinWidth != null || sizing.MaxWidth != null) {
24
+ return true;
25
+ }
26
+ if (sizing.Width != null) {
27
+ return sizing.Width !== resolveDefaultWidth(columnId);
28
+ }
29
+ return false;
30
+ }
31
+ function getLayoutExplicitSizedColumnIds(layout, resolveDefaultWidth) {
32
+ const sizing = layout.ColumnSizing ?? {};
33
+ return Object.keys(sizing).filter((columnId) => hasExplicitLayoutSizing(columnId, sizing[columnId], resolveDefaultWidth));
34
+ }
35
+ function formatExplicitColumnSizingBrief(columnId, sizing, resolveDefaultWidth) {
36
+ if (!hasExplicitLayoutSizing(columnId, sizing, resolveDefaultWidth)) {
37
+ return '';
38
+ }
39
+ const parts = [];
40
+ if (sizing?.Flex != null) {
41
+ parts.push(`flex ${sizing.Flex}`);
42
+ }
43
+ else if (sizing?.Width != null && sizing.Width !== resolveDefaultWidth(columnId)) {
44
+ parts.push(String(sizing.Width));
45
+ }
46
+ if (sizing?.MinWidth != null) {
47
+ parts.push(`min ${sizing.MinWidth}`);
48
+ }
49
+ if (sizing?.MaxWidth != null) {
50
+ parts.push(`max ${sizing.MaxWidth}`);
51
+ }
52
+ return parts.join(', ');
53
+ }
54
+ function getLayoutTableColumnIds(layout, api) {
55
+ return (layout.TableColumns ?? [])
56
+ .filter((columnId) => !api.columnApi.isAutoRowGroupColumn(columnId))
57
+ .filter((columnId) => !api.columnApi.isPivotResultColumn(columnId))
58
+ .filter((columnId) => !api.columnApi.isSelectionColumn(columnId));
59
+ }
60
+ function getLayoutPinnedColumnIds(layout, side) {
61
+ const pinning = layout.ColumnPinning ?? {};
62
+ return Object.entries(pinning)
63
+ .filter(([, pin]) => pin === side)
64
+ .map(([columnId]) => columnId);
65
+ }
66
+ export function getTableColumnsVisibilitySummaryValues(layout, api) {
67
+ return getLayoutTableColumnIds(layout, api).map((columnId) => {
68
+ const name = api.columnApi.getFriendlyNameForColumnId(columnId, layout);
69
+ const customHeader = layout.ColumnHeaders?.[columnId]?.trim();
70
+ if (customHeader) {
71
+ return `${name} (header: ${customHeader})`;
72
+ }
73
+ return name;
74
+ });
75
+ }
76
+ export function getTableColumnsPinningSummaryValues(layout, api) {
77
+ const leftPinned = getLayoutPinnedColumnIds(layout, 'left');
78
+ const rightPinned = getLayoutPinnedColumnIds(layout, 'right');
79
+ return [
80
+ ...leftPinned.map((columnId) => `${api.columnApi.getFriendlyNameForColumnId(columnId, layout)} (left)`),
81
+ ...rightPinned.map((columnId) => `${api.columnApi.getFriendlyNameForColumnId(columnId, layout)} (right)`),
82
+ ];
83
+ }
84
+ export function getTableColumnsSizingSummaryValues(layout, api) {
85
+ const resolveDefaultWidth = resolveDefaultColumnWidth(api);
86
+ return getLayoutExplicitSizedColumnIds(layout, resolveDefaultWidth).map((columnId) => {
87
+ const name = api.columnApi.getFriendlyNameForColumnId(columnId, layout);
88
+ const sizingBrief = formatExplicitColumnSizingBrief(columnId, layout.ColumnSizing?.[columnId], resolveDefaultWidth);
89
+ return `${name} (${sizingBrief})`;
90
+ });
91
+ }
92
+ export function getTableColumnsSortingSummaryValues(layout, api) {
93
+ return (layout.ColumnSorts ?? []).map((sort) => `[${api.columnApi.getFriendlyNameForColumnId(sort.ColumnId, layout)}: ${sort.SortOrder}]`);
94
+ }
95
+ /** Matches legacy Layout settings panel behaviour (`layoutViewOptions.maxColumnsToDisplay`). */
96
+ export const DEFAULT_LAYOUT_VIEW_MAX_COLUMNS = 10;
97
+ /**
98
+ * Collapse a long column list for compact views (e.g. Layout settings panel).
99
+ * Keeps all items when the overflow is only 1 column; otherwise shows `+N more`.
100
+ */
101
+ export function truncateColumnSummaryValues(values, maxToDisplay = DEFAULT_LAYOUT_VIEW_MAX_COLUMNS) {
102
+ if (maxToDisplay <= 0 || values.length <= maxToDisplay + 1) {
103
+ return values;
104
+ }
105
+ const extra = values.length - maxToDisplay;
106
+ return [...values.slice(0, maxToDisplay), `+${extra} more`];
107
+ }
108
+ export function getTableColumnsSummaryGroups(layout, api, labels = TABLE_COLUMNS_SETTINGS_PANEL_LABELS) {
109
+ return [
110
+ {
111
+ label: labels.visibility,
112
+ values: getTableColumnsVisibilitySummaryValues(layout, api),
113
+ emptyLabel: 'No columns in this Layout',
114
+ },
115
+ {
116
+ label: labels.pinning,
117
+ values: getTableColumnsPinningSummaryValues(layout, api),
118
+ emptyLabel: 'No columns pinned in this Layout',
119
+ },
120
+ {
121
+ label: labels.sizing,
122
+ values: getTableColumnsSizingSummaryValues(layout, api),
123
+ emptyLabel: 'All columns use default sizing in this Layout',
124
+ },
125
+ {
126
+ label: labels.sorting,
127
+ values: getTableColumnsSortingSummaryValues(layout, api),
128
+ emptyLabel: 'No column sorts in this Layout',
129
+ },
130
+ ];
131
+ }
132
+ export function getLayoutTableColumnsViewItems(layout, api, options) {
133
+ const maxColumnsToDisplay = options?.maxColumnsToDisplay ?? DEFAULT_LAYOUT_VIEW_MAX_COLUMNS;
134
+ const optionalRowLabels = new Set([
135
+ TABLE_COLUMNS_SETTINGS_PANEL_LABELS.pinning,
136
+ TABLE_COLUMNS_SETTINGS_PANEL_LABELS.sizing,
137
+ TABLE_COLUMNS_SETTINGS_PANEL_LABELS.sorting,
138
+ ]);
139
+ return getTableColumnsSummaryGroups(layout, api).flatMap(({ label, values, emptyLabel }) => {
140
+ if (optionalRowLabels.has(label) && !values.length) {
141
+ return [];
142
+ }
143
+ const resolvedValues = values.length ? values : [emptyLabel];
144
+ const displayValues = label === TABLE_COLUMNS_SETTINGS_PANEL_LABELS.visibility
145
+ ? truncateColumnSummaryValues(resolvedValues, maxColumnsToDisplay)
146
+ : resolvedValues;
147
+ return [
148
+ {
149
+ name: label,
150
+ values: displayValues,
151
+ tagVariant: 'column',
152
+ },
153
+ ];
154
+ });
155
+ }
156
+ export function getLayoutPivotSortingViewItem(layout, api) {
157
+ const values = getTableColumnsSortingSummaryValues(layout, api);
158
+ if (!values.length) {
159
+ return null;
160
+ }
161
+ return {
162
+ name: 'Sorting',
163
+ values,
164
+ tagVariant: 'column',
165
+ };
166
+ }
@@ -2,4 +2,5 @@ import { AdaptableApi, Layout } from '../../../types';
2
2
  export declare const getLayoutSortViewItems: (layout: Layout, api: AdaptableApi) => {
3
3
  name: string;
4
4
  values: string[];
5
+ tagVariant: "column";
5
6
  };
@@ -5,5 +5,6 @@ export const getLayoutSortViewItems = (layout, api) => {
5
5
  return {
6
6
  name: 'Sort',
7
7
  values: (layout.ColumnSorts ?? []).map((customSort) => `[${columnIdToFriendlyName(customSort.ColumnId)}: ${customSort.SortOrder}]`),
8
+ tagVariant: 'column',
8
9
  };
9
10
  };
@@ -0,0 +1,26 @@
1
+ import * as React from 'react';
2
+ import { AdaptableApi, Layout, TableLayout } from '../../../types';
3
+ export declare const ROW_GROUP_DISPLAY_TYPE_LABELS: Record<NonNullable<TableLayout['RowGroupDisplayType']>, string>;
4
+ export declare const ROW_GROUP_DISPLAY_TYPE_DESCRIPTIONS: Record<NonNullable<TableLayout['RowGroupDisplayType']>, string>;
5
+ export declare const ROW_GROUP_BEHAVIOR_LABELS: Record<TableLayout['RowGroupValues']['RowGroupDefaultBehavior'], string>;
6
+ export declare const ROW_GROUP_BEHAVIOR_DESCRIPTIONS: Record<TableLayout['RowGroupValues']['RowGroupDefaultBehavior'], string>;
7
+ export declare function getRowGroupDisplayTypeLabel(layout: Layout): string;
8
+ export declare function getRowGroupDisplayTypeDescription(layout: Layout): string;
9
+ export declare function getRowGroupBehaviorLabel(layout: Layout): string;
10
+ export declare function getRowGroupBehaviorDescription(layout: Layout): string;
11
+ export declare function getTableRowGroupSummaryValues(layout: Layout, api: AdaptableApi): string[];
12
+ export declare function getLayoutTableRowGroupViewItems(layout: Layout, api: AdaptableApi): {
13
+ name: string;
14
+ view: () => React.FunctionComponentElement<{
15
+ layout: Layout;
16
+ api: AdaptableApi;
17
+ }>;
18
+ }[];
19
+ export declare function getPivotRowGroupSummaryValues(layout: Layout, api: AdaptableApi): string[];
20
+ export declare function getLayoutPivotRowGroupViewItems(layout: Layout, api: AdaptableApi): {
21
+ name: string;
22
+ view: () => React.FunctionComponentElement<{
23
+ layout: Layout;
24
+ api: AdaptableApi;
25
+ }>;
26
+ }[];
@@ -0,0 +1,85 @@
1
+ import * as React from 'react';
2
+ import { PivotRowGroupSummaryView, TableRowGroupSummaryView, } from '../../../View/Wizard/rowGroupSummaryTags';
3
+ export const ROW_GROUP_DISPLAY_TYPE_LABELS = {
4
+ single: 'Single Column',
5
+ multi: 'Multiple Columns',
6
+ groupRows: 'Full Width Group Rows',
7
+ };
8
+ export const ROW_GROUP_DISPLAY_TYPE_DESCRIPTIONS = {
9
+ single: 'All Row Grouped Columns display in one hierarchical Column',
10
+ multi: 'Each Row Grouped Column displays in its own, separate, Column',
11
+ groupRows: 'Row groups display as full-width rows (no group column and no aggregations)',
12
+ };
13
+ export const ROW_GROUP_BEHAVIOR_LABELS = {
14
+ 'always-collapsed': 'All Collapsed',
15
+ 'always-expanded': 'All Expanded',
16
+ expanded: 'Mostly Expanded',
17
+ collapsed: 'Mostly Collapsed',
18
+ };
19
+ export const ROW_GROUP_BEHAVIOR_DESCRIPTIONS = {
20
+ 'always-collapsed': 'All Grouped Rows are always collapsed',
21
+ 'always-expanded': 'All Grouped Rows are always expanded',
22
+ expanded: 'All Grouped Rows expanded, other than those collapsed when Layout last displayed',
23
+ collapsed: 'All Grouped Rows collapsed, other than those expanded when Layout last displayed',
24
+ };
25
+ export function getRowGroupDisplayTypeLabel(layout) {
26
+ const displayType = layout.RowGroupDisplayType ?? 'single';
27
+ return ROW_GROUP_DISPLAY_TYPE_LABELS[displayType];
28
+ }
29
+ export function getRowGroupDisplayTypeDescription(layout) {
30
+ const displayType = layout.RowGroupDisplayType ?? 'single';
31
+ return ROW_GROUP_DISPLAY_TYPE_DESCRIPTIONS[displayType];
32
+ }
33
+ export function getRowGroupBehaviorLabel(layout) {
34
+ const behavior = layout.RowGroupValues?.RowGroupDefaultBehavior ?? 'always-collapsed';
35
+ return ROW_GROUP_BEHAVIOR_LABELS[behavior];
36
+ }
37
+ export function getRowGroupBehaviorDescription(layout) {
38
+ const behavior = layout.RowGroupValues?.RowGroupDefaultBehavior ?? 'always-collapsed';
39
+ return ROW_GROUP_BEHAVIOR_DESCRIPTIONS[behavior];
40
+ }
41
+ export function getTableRowGroupSummaryValues(layout, api) {
42
+ const columnIdToFriendlyName = (columnId) => api.columnApi.getFriendlyNameForColumnId(columnId);
43
+ const values = [];
44
+ if (!layout.RowGroupedColumns?.length) {
45
+ values.push('No Row Grouped Columns');
46
+ }
47
+ else {
48
+ layout.RowGroupedColumns.forEach((colId) => {
49
+ values.push(columnIdToFriendlyName(colId));
50
+ });
51
+ }
52
+ values.push(`Display Type: ${getRowGroupDisplayTypeLabel(layout)}`);
53
+ values.push(`Behaviour: ${getRowGroupBehaviorLabel(layout)}`);
54
+ return values;
55
+ }
56
+ export function getLayoutTableRowGroupViewItems(layout, api) {
57
+ return [
58
+ {
59
+ name: 'Row Groups',
60
+ view: () => React.createElement(TableRowGroupSummaryView, { layout, api }),
61
+ },
62
+ ];
63
+ }
64
+ export function getPivotRowGroupSummaryValues(layout, api) {
65
+ const columnIdToFriendlyName = (columnId) => api.columnApi.getFriendlyNameForColumnId(columnId);
66
+ const values = [];
67
+ if (!layout.PivotGroupedColumns?.length) {
68
+ values.push('No Row Grouped Columns');
69
+ }
70
+ else {
71
+ layout.PivotGroupedColumns.forEach((colId) => {
72
+ values.push(columnIdToFriendlyName(colId));
73
+ });
74
+ }
75
+ values.push(`Behaviour: ${getRowGroupBehaviorLabel(layout)}`);
76
+ return values;
77
+ }
78
+ export function getLayoutPivotRowGroupViewItems(layout, api) {
79
+ return [
80
+ {
81
+ name: 'Row Groups',
82
+ view: () => React.createElement(PivotRowGroupSummaryView, { layout, api }),
83
+ },
84
+ ];
85
+ }
@@ -1,5 +1,3 @@
1
- import { AdaptableSettingsPanel } from '../../AdaptableState/Common/Types';
2
- /**
3
- * This constant determines the items, and order, which appear in Settings Panel
4
- */
5
- export declare const DEFAULT_SETTINGS_PANEL_NAVIGATION_ITEMS: (AdaptableSettingsPanel | '-')[];
1
+ import { SettingsPanelNavigation, SettingsPanelNavigationGroup } from '../../AdaptableOptions/SettingsPanelOptions';
2
+ export declare const DEFAULT_SETTINGS_PANEL_NAVIGATION_GROUPS: SettingsPanelNavigationGroup[];
3
+ export declare const buildDefaultSettingsPanelNavigation: (customPanelNames?: string[]) => SettingsPanelNavigation;