Introduce a RelationPicker component with a RelationPickerScope (#2617)

Refactor mainIdentifier into scope componetn
This commit is contained in:
Charles Bochet
2023-11-21 16:09:02 +01:00
committed by GitHub
parent d25f00e04f
commit f97d25d986
25 changed files with 256 additions and 168 deletions
@@ -1,5 +1,4 @@
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
import { AvatarType } from '@/users/components/Avatar';
import { Nullable } from '~/types/Nullable';
export const useObjectMainIdentifier = (
@@ -9,39 +8,14 @@ export const useObjectMainIdentifier = (
return {};
}
const labelIdentifierFieldPaths = ['person', 'workspaceMember'].includes(
objectMetadataItem.nameSingular,
)
? ['name.firstName', 'name.lastName']
: ['name'];
const imageIdentifierFormat: AvatarType = ['company'].includes(
objectMetadataItem.nameSingular,
)
? 'squared'
: 'rounded';
const imageIdentifierUrlPrefix = ['company'].includes(
objectMetadataItem.nameSingular,
)
? 'https://favicon.twenty.com/'
: '';
const imageIdentifierUrlField = ['company'].includes(
objectMetadataItem.nameSingular,
)
? 'domainName'
: 'avatarUrl';
const mainIdentifierFieldMetadataId = objectMetadataItem.fields.find(
const labelIdentifierFieldMetadataId = objectMetadataItem.fields.find(
({ name }) => name === 'name',
)?.id;
const basePathToShowPage = `/object/${objectMetadataItem.nameSingular}/`;
return {
labelIdentifierFieldPaths,
imageIdentifierUrlField,
imageIdentifierUrlPrefix,
imageIdentifierFormat,
mainIdentifierFieldMetadataId,
labelIdentifierFieldMetadataId,
basePathToShowPage,
};
};