UNPKG

ra-core

Version:

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

32 lines 1.14 kB
import { useMemo } from 'react'; import { useGetPathForRecord } from "../../routing/index.js"; import { useReference } from "../useReference.js"; import { useFieldValue } from "../../util/index.js"; export const useReferenceFieldController = (options) => { const { link, reference, queryOptions } = options; if (!reference) { throw new Error('useReferenceFieldController: missing reference prop. You must provide a reference, e.g. reference="posts".'); } const id = useFieldValue(options); const referenceRecordQuery = useReference({ reference, id, options: { ...queryOptions, enabled: (queryOptions?.enabled == null || queryOptions?.enabled === true) && id != null, }, }); const path = useGetPathForRecord({ record: referenceRecordQuery.referenceRecord, resource: reference, link, }); const result = useMemo(() => ({ ...referenceRecordQuery, link: path, }), [path, referenceRecordQuery]); return result; }; //# sourceMappingURL=useReferenceFieldController.js.map