Files
twenty/front/src/modules/settings/data-model/hooks/useRelationFieldPreview.ts
Charles Bochet 726e375616 Complete labelIdentifer, relationPicker first implementation (#2618)
* Fix first column main identifier

* Fixes
2023-11-21 18:32:36 +01:00

30 lines
1011 B
TypeScript

import { useObjectMetadataItemForSettings } from '@/object-metadata/hooks/useObjectMetadataItemForSettings';
import { useFindManyObjectRecords } from '@/object-record/hooks/useFindManyObjectRecords';
import { capitalize } from '~/utils/string/capitalize';
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 {
relationObjectMetadataItem,
defaultValue: relationObjects?.[0] ?? {
name: capitalize(relationObjectMetadataItem?.nameSingular ?? ''),
},
};
};