import * as React from 'react'; import { CoreAdminContext, type CoreAdminContextProps, type GetManyResult, type ListControllerResult, testDataProvider, useReferenceManyFieldController, } from '../..'; export const defaultDataProvider = testDataProvider({ getManyReference: (_resource, params): Promise => Promise.resolve({ data: [ { id: 0, title: 'bar0' }, { id: 1, title: 'bar1' }, ].slice(0, params.pagination.perPage), total: params.pagination.perPage || 2, }), }); /** * Render prop version of the controller hook */ const ReferenceManyFieldController = props => { const { children, ...rest } = props; const controllerProps = useReferenceManyFieldController({ sort: { field: 'id', order: 'ASC', }, ...rest, }); return children(controllerProps); }; const defaultRenderProp = (props: ListControllerResult) => (

Selected ids: {JSON.stringify(props.selectedIds)}

); export const Basic = ({ children = defaultRenderProp, dataProvider = defaultDataProvider, }: { children?: (props: ListControllerResult) => React.ReactNode; dataProvider?: CoreAdminContextProps['dataProvider']; }) => ( {children} ); export default { title: 'ra-core/controller/field/useReferenceManyFieldController', excludeStories: ['defaultDataProvider'], };