Skip to content

Commit cdefe40

Browse files
committed
add render props to InfiniteListBase component
1 parent 4eeb6ec commit cdefe40

File tree

2 files changed

+46
-17
lines changed

2 files changed

+46
-17
lines changed

packages/ra-core/src/controller/list/InfiniteListBase.stories.tsx

Lines changed: 45 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -259,25 +259,54 @@ export const WithRenderProps = () => (
259259
hasPreviousPage,
260260
fetchPreviousPage,
261261
isFetchingPreviousPage,
262+
setFilters,
263+
isPending,
264+
setSort,
265+
sort,
266+
filterValues,
267+
data,
262268
} = context;
269+
270+
if (isPending) {
271+
return <div>Loading...</div>;
272+
}
273+
const toggleSort = () => {
274+
setSort({
275+
field: sort.field === 'title' ? 'id' : 'title',
276+
order: 'ASC',
277+
});
278+
};
279+
const toggleFilter = () => {
280+
setFilters(filterValues.q ? {} : { q: 'The ' });
281+
};
282+
263283
return (
264284
<div>
265-
{hasPreviousPage && (
266-
<button
267-
onClick={() => fetchPreviousPage()}
268-
disabled={isFetchingPreviousPage}
269-
>
270-
Previous
271-
</button>
272-
)}
273-
{hasNextPage && (
274-
<button
275-
onClick={() => fetchNextPage()}
276-
disabled={isFetchingNextPage}
277-
>
278-
Next
279-
</button>
280-
)}
285+
<div>
286+
{hasPreviousPage && (
287+
<button
288+
onClick={() => fetchPreviousPage()}
289+
disabled={isFetchingPreviousPage}
290+
>
291+
Previous
292+
</button>
293+
)}
294+
{hasNextPage && (
295+
<button
296+
onClick={() => fetchNextPage()}
297+
disabled={isFetchingNextPage}
298+
>
299+
Next
300+
</button>
301+
)}
302+
</div>
303+
<button onClick={toggleSort}>Toggle Sort</button>
304+
<button onClick={toggleFilter}>Toggle Filter</button>
305+
<ul>
306+
{data?.map((record: any) => (
307+
<li key={record.id}>{record.title}</li>
308+
))}
309+
</ul>
281310
</div>
282311
);
283312
}}

packages/ra-core/src/controller/list/InfiniteListBase.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ export const InfiniteListBase = <RecordType extends RaRecord = any>({
8282
controllerProps.isFetchingPreviousPage,
8383
}}
8484
>
85-
{children}
85+
{render ? render(controllerProps) : children}
8686
</InfinitePaginationContext.Provider>
8787
</ListContextProvider>
8888
</OptionalResourceContextProvider>

0 commit comments

Comments
 (0)