From 13956b4219bbc7690c5e66e290d92ce9b77ed1c7 Mon Sep 17 00:00:00 2001 From: Daniel Ramos Date: Mon, 15 Sep 2025 18:01:26 +0200 Subject: [PATCH] feat(Virtualized): propagate onItemsRendered prop --- src/types/virtualized.ts | 10 ++++++++++ src/virtualized/Virtualized.tsx | 2 ++ 2 files changed, 12 insertions(+) diff --git a/src/types/virtualized.ts b/src/types/virtualized.ts index 8957b03..cf1e1fa 100644 --- a/src/types/virtualized.ts +++ b/src/types/virtualized.ts @@ -5,6 +5,15 @@ import { TableOptions, RowOptions } from '@table-library/react-table-library/typ export type RowHeight = number | ((item: TableNode, index: number) => number); +export type ListOnRowsRenderedParams = { + overscanStartIndex: number; + overscanStopIndex: number; + visibleStartIndex: number; + visibleStopIndex: number; +} + +export type OnItemsRendered = (props: ListOnRowsRenderedParams) => any; + export type VirtualizedProps = { tableList: T[]; rowHeight: RowHeight; @@ -12,4 +21,5 @@ export type VirtualizedProps = { body: (node: T, index: number) => React.ReactNode; tableOptions?: TableOptions; rowOptions?: RowOptions; + onItemsRendered?: OnItemsRendered; }; diff --git a/src/virtualized/Virtualized.tsx b/src/virtualized/Virtualized.tsx index c79c0eb..a55d225 100644 --- a/src/virtualized/Virtualized.tsx +++ b/src/virtualized/Virtualized.tsx @@ -17,6 +17,7 @@ const Virtualized = ({ body, tableOptions, rowOptions, + onItemsRendered }: VirtualizedProps) => { return ( <> @@ -46,6 +47,7 @@ const Virtualized = ({ ))} itemData={{ items: tableList }} + onItemsRendered={onItemsRendered} > {({ index, style, data }) => (