diff --git a/packages/main/src/components/AnalyticalTable/hooks/useColumnsDeps.ts b/packages/main/src/components/AnalyticalTable/hooks/useColumnsDeps.ts index 69900b128aa..fbd549ead1c 100644 --- a/packages/main/src/components/AnalyticalTable/hooks/useColumnsDeps.ts +++ b/packages/main/src/components/AnalyticalTable/hooks/useColumnsDeps.ts @@ -28,3 +28,4 @@ export const useColumnsDeps = (hooks: ReactTableHooks) => { hooks.columnsDeps.push(columnsDeps); hooks.visibleColumnsDeps.push(visibleColumnsDeps); }; +useColumnsDeps.pluginName = 'useColumnsDeps'; diff --git a/packages/main/src/components/AnalyticalTable/hooks/useDragAndDrop.ts b/packages/main/src/components/AnalyticalTable/hooks/useDragAndDrop.ts index c770715fbcd..c12fd1cee1d 100644 --- a/packages/main/src/components/AnalyticalTable/hooks/useDragAndDrop.ts +++ b/packages/main/src/components/AnalyticalTable/hooks/useDragAndDrop.ts @@ -84,3 +84,4 @@ function getHeaderProps( export function useColumnDragAndDrop(hooks: ReactTableHooks) { hooks.getHeaderProps.push(getHeaderProps); } +useColumnDragAndDrop.pluginName = 'useColumnDragAndDrop'; diff --git a/packages/main/src/components/AnalyticalTable/hooks/useDynamicColumnWidths.ts b/packages/main/src/components/AnalyticalTable/hooks/useDynamicColumnWidths.ts index ac8d294bc96..d396dfdc5c9 100644 --- a/packages/main/src/components/AnalyticalTable/hooks/useDynamicColumnWidths.ts +++ b/packages/main/src/components/AnalyticalTable/hooks/useDynamicColumnWidths.ts @@ -1,3 +1,4 @@ +import { ensurePluginOrder } from 'react-table'; import { AnalyticalTableScaleWidthMode } from '../../../enums/AnalyticalTableScaleWidthMode.js'; import type { AnalyticalTableColumnDefinition, @@ -483,7 +484,10 @@ function captureRawColumnWidths(columns: AnalyticalTableColumnDefinition[], { in * This function follows `react-table`'s own `useResizeColumns` pattern: mutate `header.width` directly, to prevent cascading updates and rerenders. */ const adjustColumnWidths = (instance: TableInstance) => { - const { flatHeaders, state, rows, data, webComponentsReactProperties } = instance; + const { flatHeaders, state, rows, data, webComponentsReactProperties, plugins } = instance; + + ensurePluginOrder(plugins, ['useColumnResizing'], 'useDynamicColumnWidths'); + const { scaleWidthMode, loading, fontsReady } = webComponentsReactProperties; const { hiddenColumns, tableClientWidth: totalWidth, tableColResized, columnResizing } = state; @@ -605,3 +609,4 @@ export const useDynamicColumnWidths = (hooks: ReactTableHooks) => { hooks.columns.push(captureRawColumnWidths); hooks.useInstanceBeforeDimensions.push(adjustColumnWidths); }; +useDynamicColumnWidths.pluginName = 'useDynamicColumnWidths'; diff --git a/packages/main/src/components/AnalyticalTable/hooks/useKeyboardNavigation.ts b/packages/main/src/components/AnalyticalTable/hooks/useKeyboardNavigation.ts index 37ea1bd54a3..8938743469e 100644 --- a/packages/main/src/components/AnalyticalTable/hooks/useKeyboardNavigation.ts +++ b/packages/main/src/components/AnalyticalTable/hooks/useKeyboardNavigation.ts @@ -394,3 +394,4 @@ export const useKeyboardNavigation = (hooks: ReactTableHooks) => { hooks.getTableProps.push(useGetTableProps); hooks.getHeaderProps.push(setHeaderProps); }; +useKeyboardNavigation.pluginName = 'useKeyboardNavigation'; diff --git a/packages/main/src/components/AnalyticalTable/hooks/useRowNavigationIndicator.tsx b/packages/main/src/components/AnalyticalTable/hooks/useRowNavigationIndicator.tsx index ed5e9730f15..bbad882e2db 100644 --- a/packages/main/src/components/AnalyticalTable/hooks/useRowNavigationIndicator.tsx +++ b/packages/main/src/components/AnalyticalTable/hooks/useRowNavigationIndicator.tsx @@ -67,3 +67,4 @@ export const useRowNavigationIndicators = (hooks: ReactTableHooks) => { hooks.columns.push(columns); hooks.visibleColumns.push(visibleColumns); }; +useRowNavigationIndicators.pluginName = 'useRowNavigationIndicators'; diff --git a/packages/main/src/components/AnalyticalTable/hooks/useSelectionChangeCallback.ts b/packages/main/src/components/AnalyticalTable/hooks/useSelectionChangeCallback.ts index b441ee71130..ddd82e9bef7 100644 --- a/packages/main/src/components/AnalyticalTable/hooks/useSelectionChangeCallback.ts +++ b/packages/main/src/components/AnalyticalTable/hooks/useSelectionChangeCallback.ts @@ -1,5 +1,6 @@ import { enrichEventWithDetails } from '@ui5/webcomponents-react-base/internal/utils'; import { useEffect, useRef } from 'react'; +import { ensurePluginOrder } from 'react-table'; import { AnalyticalTableSelectionMode } from '../../../enums/AnalyticalTableSelectionMode.js'; import type { AnalyticalTablePropTypes, ReactTableHooks, TableInstance } from '../types/index.js'; @@ -7,10 +8,12 @@ type OnRowSelectEvent = Parameters { - const { webComponentsReactProperties, rowsById, preFilteredRowsById, state } = instance; + const { webComponentsReactProperties, rowsById, preFilteredRowsById, state, plugins } = instance; const { selectedRowIds, filters, globalFilter } = state; const { onRowSelect, selectionMode } = webComponentsReactProperties; + ensurePluginOrder(plugins, ['useRowSelect'], 'useSelectionChangeCallback'); + const prevSelectedRowIdsRef = useRef(selectedRowIds); useEffect(() => {