UNPKG

ra-core

Version:

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

36 lines 1.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useReferenceFieldController = void 0; const react_1 = require("react"); const routing_1 = require("../../routing/index.cjs"); const useReference_1 = require("../useReference.cjs"); const util_1 = require("../../util/index.cjs"); 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 = (0, util_1.useFieldValue)(options); const referenceRecordQuery = (0, useReference_1.useReference)({ reference, id, options: { ...queryOptions, enabled: (queryOptions?.enabled == null || queryOptions?.enabled === true) && id != null, }, }); const path = (0, routing_1.useGetPathForRecord)({ record: referenceRecordQuery.referenceRecord, resource: reference, link, }); const result = (0, react_1.useMemo)(() => ({ ...referenceRecordQuery, link: path, }), [path, referenceRecordQuery]); return result; }; exports.useReferenceFieldController = useReferenceFieldController; //# sourceMappingURL=useReferenceFieldController.js.map