ra-core
Version:
Core components of react-admin, a frontend Framework for building admin applications on top of REST services, using ES6, React
47 lines • 1.7 kB
TypeScript
import { UseGetListOptions } from '../../dataProvider';
import type { FilterPayload, RaRecord, SortPayload } from '../../types';
/**
* Get a callback to select all records of a resource (capped by the limit parameter)
*
* @param {Object} params The hook parameters { resource, sort, filter }
* @returns {Function} handleSelectAll A function to select all items of a list
*
* @example
* import { List, Datagrid, BulkActionsToolbar, BulkDeleteButton, useListContext, useSelectAll } from 'react-admin';
*
* const MySelectAllButton = () => {
* const { sort, filter } = useListContext();
* const handleSelectAll = useSelectAll({ resource: 'posts', sort, filter });
* const handleClick = () => handleSelectAll({
* queryOptions: { meta: { foo: 'bar' } },
* limit: 250,
* });
* return <button onClick={handleClick}>Select All</button>;
* };
*
* const PostBulkActionsToolbar = () => (
* <BulkActionsToolbar actions={<MySelectAllButton/>}>
* <BulkDeleteButton />
* </BulkActionsToolbar>
* );
*
* export const PostList = () => (
* <List>
* <Datagrid bulkActionsToolbar={<PostBulkActionsToolbar />}>
* ...
* </Datagrid>
* </List>
* );
*/
export declare const useSelectAll: (params: UseSelectAllParams) => UseSelectAllResult;
export interface UseSelectAllParams {
resource?: string;
sort?: SortPayload;
filter?: FilterPayload;
}
export interface HandleSelectAllParams<RecordType extends RaRecord = any> {
limit?: number;
queryOptions?: UseGetListOptions<RecordType>;
}
export type UseSelectAllResult = (options?: HandleSelectAllParams) => void;
//# sourceMappingURL=useSelectAll.d.ts.map