In this PR, I'm: - fixing the root cause (we should not try to render a RecordChip if the record is not defined in RelationFromMany Display) - fixing related typing issues - we won't be able to catch the issue from TS perspective as ObjectRecord is a Record of string, any
25 lines
910 B
TypeScript
25 lines
910 B
TypeScript
import { CoreObjectNameSingular } from '@/object-metadata/types/CoreObjectNameSingular';
|
|
import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem';
|
|
import { ObjectRecord } from '@/object-record/types/ObjectRecord';
|
|
import { isDefined } from 'twenty-shared/utils';
|
|
import { FieldMetadataType } from '~/generated-metadata/graphql';
|
|
|
|
export const getLabelIdentifierFieldValue = (
|
|
record: ObjectRecord,
|
|
labelIdentifierFieldMetadataItem: FieldMetadataItem | undefined,
|
|
objectNameSingular: string,
|
|
): string => {
|
|
if (
|
|
objectNameSingular === CoreObjectNameSingular.WorkspaceMember ||
|
|
labelIdentifierFieldMetadataItem?.type === FieldMetadataType.FULL_NAME
|
|
) {
|
|
return `${record.name?.firstName ?? ''} ${record.name?.lastName ?? ''}`;
|
|
}
|
|
|
|
if (isDefined(labelIdentifierFieldMetadataItem?.name)) {
|
|
return record[labelIdentifierFieldMetadataItem.name];
|
|
}
|
|
|
|
return '';
|
|
};
|