feat: add Relation field form (#2572)

* feat: add useCreateOneRelationMetadata and useRelationMetadata

Closes #2423

* feat: add Relation field form

Closes #2003

---------

Co-authored-by: Charles Bochet <charles@twenty.com>
This commit is contained in:
Thaïs
2023-11-17 23:38:39 +01:00
committed by GitHub
parent fea0bbeb2a
commit 18dac1a2b6
34 changed files with 1285 additions and 643 deletions

View File

@ -0,0 +1,29 @@
import { useObjectMetadataItemForSettings } from '@/object-metadata/hooks/useObjectMetadataItemForSettings';
import { useFindManyObjectRecords } from '@/object-record/hooks/useFindManyObjectRecords';
export const useRelationFieldPreview = ({
relationObjectMetadataId,
skipDefaultValue,
}: {
relationObjectMetadataId?: string;
skipDefaultValue: boolean;
}) => {
const { findObjectMetadataItemById } = useObjectMetadataItemForSettings();
const relationObjectMetadataItem = relationObjectMetadataId
? findObjectMetadataItemById(relationObjectMetadataId)
: undefined;
const { objects: relationObjects } = useFindManyObjectRecords({
objectNamePlural: relationObjectMetadataItem?.namePlural,
skip: skipDefaultValue || !relationObjectMetadataItem,
});
return {
defaultValue: relationObjects?.[0],
entityChipDisplayMapper: (fieldValue?: { id: string }) => ({
name: fieldValue?.id || relationObjectMetadataItem?.labelSingular || '',
avatarType: 'squared' as const,
}),
};
};