From c692a2f37c882cd0ddec5a015a33f898f8fe4d7f Mon Sep 17 00:00:00 2001 From: Lukas Harbarth Date: Wed, 14 Jan 2026 11:28:18 +0100 Subject: [PATCH 1/2] docs(AnalyticalTable): update UXC limitations --- packages/main/src/components/AnalyticalTable/index.tsx | 3 ++- .../pluginHooks/useIndeterminateRowSelection.tsx | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/main/src/components/AnalyticalTable/index.tsx b/packages/main/src/components/AnalyticalTable/index.tsx index f0b504018c2..7e3d4adec2c 100644 --- a/packages/main/src/components/AnalyticalTable/index.tsx +++ b/packages/main/src/components/AnalyticalTable/index.tsx @@ -128,7 +128,8 @@ const measureElement = (el: HTMLElement) => { *| `visibleRowCountMode: "Auto"` | `"AutoWithEmptyRows"` is preferred. `"Auto"` mode can lead to inconsistent table heights depending on the container. | *| `alwaysShowBusyIndicator` | Should generally be `true`, only if loading times are over 1 second, the default skeleton loading indicator is sufficient: [Fiori Skeleton Loading](https://www.sap.com/design-system/fiori-design-ios/ui-elements/patterns/skeleton-loading/?external). | *| `scaleWidthMode` | Only the default mode is available out of the box for the `sap.m.Table`; similar behavior to the `"Grow"` mode can be achieved in `sap.ui.table` using `autoResizeColumn`. | - *| `renderRowSubComponent` | There is no design concept regarding this functionality. | + *| `renderRowSubComponent` | There is no design/UX concept for this functionality. | + *| `useIndeterminateRowSelection` | There is no design/UX concept for this functionality. | *| `useRowDisableSelection` (deprecated) | Table rows should not be disabled. | */ const AnalyticalTable = forwardRef((props, ref) => { diff --git a/packages/main/src/components/AnalyticalTable/pluginHooks/useIndeterminateRowSelection.tsx b/packages/main/src/components/AnalyticalTable/pluginHooks/useIndeterminateRowSelection.tsx index 78126679ae6..12c657b3c40 100644 --- a/packages/main/src/components/AnalyticalTable/pluginHooks/useIndeterminateRowSelection.tsx +++ b/packages/main/src/components/AnalyticalTable/pluginHooks/useIndeterminateRowSelection.tsx @@ -71,9 +71,10 @@ const getIndeterminate = (rows, rowsById, state) => { * A plugin hook that marks parent rows as indeterminate if a child row is selected in `Multiple` mode. * When using this hook, it is recommended to also select all sub-rows when selecting a row. (`reactTableOptions={{ selectSubRows: true }}`) * - * __Note:__ The `indeterminate` state has a higher priority than the `selected` state. Therefore, a row can be selected and indeterminate at the same time. This can for example happen, if `selectSubRows: true` is set and a row with sub-rows is selected and then a sub-row is unselected. - * - * __Note:__ This hook has to traverse the whole data tree on each selection, which can lead to performance degradation with large datasets. Please use with caution! + * __Note:__ + * - This functionality is not covered by SAP UXC design guidelines and should be avoided if UXC compliance is required. + * - The `indeterminate` state has a higher priority than the `selected` state. Therefore, a row can be selected and indeterminate at the same time. This can for example happen, if `selectSubRows: true` is set and a row with sub-rows is selected and then a sub-row is unselected. + * - This hook has to traverse the whole data tree on each selection, which can lead to performance degradation with large datasets. Please use with caution! * * @param {event} onIndeterminateChange Fired when the indeterminate state of rows is changed. */ From 2705f72c9805ef7e844ee6d38b5ec8e19f2ff290 Mon Sep 17 00:00:00 2001 From: Lukas Harbarth Date: Wed, 14 Jan 2026 11:29:38 +0100 Subject: [PATCH 2/2] Update useIndeterminateRowSelection.tsx --- .../pluginHooks/useIndeterminateRowSelection.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/main/src/components/AnalyticalTable/pluginHooks/useIndeterminateRowSelection.tsx b/packages/main/src/components/AnalyticalTable/pluginHooks/useIndeterminateRowSelection.tsx index 12c657b3c40..da9cd2e6cd5 100644 --- a/packages/main/src/components/AnalyticalTable/pluginHooks/useIndeterminateRowSelection.tsx +++ b/packages/main/src/components/AnalyticalTable/pluginHooks/useIndeterminateRowSelection.tsx @@ -72,7 +72,7 @@ const getIndeterminate = (rows, rowsById, state) => { * When using this hook, it is recommended to also select all sub-rows when selecting a row. (`reactTableOptions={{ selectSubRows: true }}`) * * __Note:__ - * - This functionality is not covered by SAP UXC design guidelines and should be avoided if UXC compliance is required. + * - This functionality is not covered by SAP UXC design guidelines and should be avoided if UXC is required. * - The `indeterminate` state has a higher priority than the `selected` state. Therefore, a row can be selected and indeterminate at the same time. This can for example happen, if `selectSubRows: true` is set and a row with sub-rows is selected and then a sub-row is unselected. * - This hook has to traverse the whole data tree on each selection, which can lead to performance degradation with large datasets. Please use with caution! *