UNPKG

ra-core

Version:

Core components of react-admin, a frontend Framework for building admin applications on top of REST services, using ES6, React

48 lines 1.85 kB
import { RaRecord, Identifier } from '../types'; import { UseGetManyHookValue } from '../dataProvider'; import { UseQueryOptions } from '@tanstack/react-query'; interface UseReferenceProps<RecordType extends RaRecord = any, ErrorType = Error> { id: Identifier; reference: string; options?: Omit<UseQueryOptions<RecordType[], ErrorType>, 'queryFn' | 'queryKey'> & { meta?: any; }; } export interface UseReferenceResult<RecordType extends RaRecord = any, ErrorType = Error> { isLoading: boolean; isPending: boolean; isFetching: boolean; referenceRecord?: RecordType; error?: ErrorType | null; refetch: UseGetManyHookValue<RecordType, ErrorType>['refetch']; } /** * @typedef UseReferenceResult * @type {Object} * @property {boolean} isFetching: boolean indicating if the reference is loading * @property {boolean} isLoading: boolean indicating if the reference has loaded at least once * @property {Object} referenceRecord: the referenced record. */ /** * Fetch reference record, and return it when available * * The reference prop should be the name of one of the <Resource> components * added as <Admin> child. * * @example * * const { isLoading, referenceRecord } = useReference({ * id: 7, * reference: 'users', * }); * * @param {Object} option * @param {string} option.reference The linked resource name * @param {string} option.id The id of the reference * @param {Object} option.options Options passed to the dataProvider * * @returns {UseReferenceResult} The reference record */ export declare const useReference: <RecordType extends RaRecord<Identifier> = RaRecord<Identifier>, ErrorType = Error>({ reference, id, options, }: UseReferenceProps<RecordType, ErrorType>) => UseReferenceResult<RecordType, ErrorType>; export {}; //# sourceMappingURL=useReference.d.ts.map