Enable phone field type (#5052)
### Description Enable phone field type ### Refs https://github.com/twentyhq/twenty/issues/2700 ### Demo https://github.com/twentyhq/twenty/assets/140154534/e9810718-9916-4ad4-a080-4d718777de15 Fixes #2700 --------- Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com> Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
This commit is contained in:
committed by
GitHub
parent
485670c823
commit
268c6b44d9
@ -17,6 +17,7 @@ export const formatFieldMetadataItemsAsSortDefinitions = ({
|
|||||||
FieldMetadataType.Text,
|
FieldMetadataType.Text,
|
||||||
FieldMetadataType.Boolean,
|
FieldMetadataType.Boolean,
|
||||||
FieldMetadataType.Select,
|
FieldMetadataType.Select,
|
||||||
|
FieldMetadataType.Phone,
|
||||||
].includes(field.type)
|
].includes(field.type)
|
||||||
) {
|
) {
|
||||||
return acc;
|
return acc;
|
||||||
|
|||||||
@ -10,6 +10,7 @@ export const getOperandsForFilterType = (
|
|||||||
case 'EMAIL':
|
case 'EMAIL':
|
||||||
case 'FULL_NAME':
|
case 'FULL_NAME':
|
||||||
case 'ADDRESS':
|
case 'ADDRESS':
|
||||||
|
case 'PHONE':
|
||||||
case 'LINK':
|
case 'LINK':
|
||||||
return [ViewFilterOperand.Contains, ViewFilterOperand.DoesNotContain];
|
return [ViewFilterOperand.Contains, ViewFilterOperand.DoesNotContain];
|
||||||
case 'CURRENCY':
|
case 'CURRENCY':
|
||||||
|
|||||||
@ -15,7 +15,7 @@ import { isFieldPhone } from '../../types/guards/isFieldPhone';
|
|||||||
export const usePhoneField = () => {
|
export const usePhoneField = () => {
|
||||||
const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
|
const { entityId, fieldDefinition, hotkeyScope } = useContext(FieldContext);
|
||||||
|
|
||||||
assertFieldMetadata(FieldMetadataType.Text, isFieldPhone, fieldDefinition);
|
assertFieldMetadata(FieldMetadataType.Phone, isFieldPhone, fieldDefinition);
|
||||||
|
|
||||||
const fieldName = fieldDefinition.metadata.fieldName;
|
const fieldName = fieldDefinition.metadata.fieldName;
|
||||||
|
|
||||||
|
|||||||
@ -4,8 +4,6 @@ import { FieldDefinition } from '../FieldDefinition';
|
|||||||
import { FieldMetadata, FieldPhoneMetadata } from '../FieldMetadata';
|
import { FieldMetadata, FieldPhoneMetadata } from '../FieldMetadata';
|
||||||
|
|
||||||
export const isFieldPhone = (
|
export const isFieldPhone = (
|
||||||
field: Pick<FieldDefinition<FieldMetadata>, 'type' | 'metadata'>,
|
field: Pick<FieldDefinition<FieldMetadata>, 'type'>,
|
||||||
): field is FieldDefinition<FieldPhoneMetadata> =>
|
): field is FieldDefinition<FieldPhoneMetadata> =>
|
||||||
field.metadata.objectMetadataNameSingular === 'person' &&
|
field.type === FieldMetadataType.Phone;
|
||||||
field.metadata.fieldName === 'phone' &&
|
|
||||||
field.type === FieldMetadataType.Text;
|
|
||||||
|
|||||||
@ -17,6 +17,7 @@ import { isFieldLinkValue } from '@/object-record/record-field/types/guards/isFi
|
|||||||
import { isFieldMultiSelect } from '@/object-record/record-field/types/guards/isFieldMultiSelect';
|
import { isFieldMultiSelect } from '@/object-record/record-field/types/guards/isFieldMultiSelect';
|
||||||
import { isFieldMultiSelectValue } from '@/object-record/record-field/types/guards/isFieldMultiSelectValue';
|
import { isFieldMultiSelectValue } from '@/object-record/record-field/types/guards/isFieldMultiSelectValue';
|
||||||
import { isFieldNumber } from '@/object-record/record-field/types/guards/isFieldNumber';
|
import { isFieldNumber } from '@/object-record/record-field/types/guards/isFieldNumber';
|
||||||
|
import { isFieldPhone } from '@/object-record/record-field/types/guards/isFieldPhone';
|
||||||
import { isFieldRating } from '@/object-record/record-field/types/guards/isFieldRating';
|
import { isFieldRating } from '@/object-record/record-field/types/guards/isFieldRating';
|
||||||
import { isFieldRawJson } from '@/object-record/record-field/types/guards/isFieldRawJson';
|
import { isFieldRawJson } from '@/object-record/record-field/types/guards/isFieldRawJson';
|
||||||
import { isFieldRelation } from '@/object-record/record-field/types/guards/isFieldRelation';
|
import { isFieldRelation } from '@/object-record/record-field/types/guards/isFieldRelation';
|
||||||
@ -47,8 +48,8 @@ export const isFieldValueEmpty = ({
|
|||||||
isFieldEmail(fieldDefinition) ||
|
isFieldEmail(fieldDefinition) ||
|
||||||
isFieldBoolean(fieldDefinition) ||
|
isFieldBoolean(fieldDefinition) ||
|
||||||
isFieldRelation(fieldDefinition) ||
|
isFieldRelation(fieldDefinition) ||
|
||||||
isFieldRawJson(fieldDefinition)
|
isFieldRawJson(fieldDefinition) ||
|
||||||
//|| isFieldPhone(fieldDefinition)
|
isFieldPhone(fieldDefinition)
|
||||||
) {
|
) {
|
||||||
return isValueEmpty(fieldValue);
|
return isValueEmpty(fieldValue);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -100,7 +100,11 @@ export const SETTINGS_FIELD_TYPE_CONFIGS: Record<
|
|||||||
Icon: IconRelationManyToMany,
|
Icon: IconRelationManyToMany,
|
||||||
},
|
},
|
||||||
[FieldMetadataType.Email]: { label: 'Email', Icon: IconMail },
|
[FieldMetadataType.Email]: { label: 'Email', Icon: IconMail },
|
||||||
[FieldMetadataType.Phone]: { label: 'Phone', Icon: IconPhone },
|
[FieldMetadataType.Phone]: {
|
||||||
|
label: 'Phone',
|
||||||
|
Icon: IconPhone,
|
||||||
|
defaultValue: '+1234-567-890',
|
||||||
|
},
|
||||||
[FieldMetadataType.Probability]: {
|
[FieldMetadataType.Probability]: {
|
||||||
label: 'Rating',
|
label: 'Rating',
|
||||||
Icon: IconTwentyStar,
|
Icon: IconTwentyStar,
|
||||||
|
|||||||
@ -74,6 +74,7 @@ const previewableTypes = [
|
|||||||
FieldMetadataType.Text,
|
FieldMetadataType.Text,
|
||||||
FieldMetadataType.Address,
|
FieldMetadataType.Address,
|
||||||
FieldMetadataType.RawJson,
|
FieldMetadataType.RawJson,
|
||||||
|
FieldMetadataType.Phone,
|
||||||
];
|
];
|
||||||
|
|
||||||
export const SettingsDataModelFieldSettingsFormCard = ({
|
export const SettingsDataModelFieldSettingsFormCard = ({
|
||||||
|
|||||||
@ -284,7 +284,6 @@ export const SettingsObjectNewFieldStep2 = () => {
|
|||||||
FieldMetadataType.Link,
|
FieldMetadataType.Link,
|
||||||
FieldMetadataType.Links,
|
FieldMetadataType.Links,
|
||||||
FieldMetadataType.Numeric,
|
FieldMetadataType.Numeric,
|
||||||
FieldMetadataType.Phone,
|
|
||||||
FieldMetadataType.Probability,
|
FieldMetadataType.Probability,
|
||||||
FieldMetadataType.Uuid,
|
FieldMetadataType.Uuid,
|
||||||
];
|
];
|
||||||
|
|||||||
Reference in New Issue
Block a user