### Description - We added a decimal field for a Number Field type in the settings - We updated the Number Field type create a form with decimals input - We are not implementing the dropdown present on the Figma because it seems not related ### Demo <https://www.loom.com/share/18a8d4b712a14f6d8b66806764f8467f?sid=3fc79b46-ae32-46e3-8635-d0eee02e53b2> Fixes #6987 --------- Co-authored-by: gitstart-twenty <gitstart-twenty@users.noreply.github.com> Co-authored-by: Marie Stoppa <marie.stoppa@essec.edu>
60 lines
1.9 KiB
TypeScript
60 lines
1.9 KiB
TypeScript
import { ObjectMetadataItem } from '@/object-metadata/types/ObjectMetadataItem';
|
|
import { FieldDefinition } from '@/object-record/record-field/types/FieldDefinition';
|
|
import { FieldMetadata } from '@/object-record/record-field/types/FieldMetadata';
|
|
import { getFieldButtonIcon } from '@/object-record/record-field/utils/getFieldButtonIcon';
|
|
|
|
import { FieldMetadataItem } from '../types/FieldMetadataItem';
|
|
|
|
export type FieldMetadataItemAsFieldDefinitionProps = {
|
|
field: FieldMetadataItem;
|
|
objectMetadataItem: ObjectMetadataItem;
|
|
showLabel?: boolean;
|
|
labelWidth?: number;
|
|
};
|
|
|
|
export const formatFieldMetadataItemAsFieldDefinition = ({
|
|
field,
|
|
objectMetadataItem,
|
|
showLabel,
|
|
labelWidth,
|
|
}: FieldMetadataItemAsFieldDefinitionProps): FieldDefinition<FieldMetadata> => {
|
|
const relationObjectMetadataItem =
|
|
field.relationDefinition?.targetObjectMetadata;
|
|
|
|
const relationFieldMetadataId =
|
|
field.relationDefinition?.targetFieldMetadata.id;
|
|
|
|
const fieldDefintionMetadata = {
|
|
fieldName: field.name,
|
|
placeHolder: field.label,
|
|
relationType: field.relationDefinition?.direction,
|
|
relationFieldMetadataId,
|
|
relationObjectMetadataNameSingular:
|
|
relationObjectMetadataItem?.nameSingular ?? '',
|
|
relationObjectMetadataNamePlural:
|
|
relationObjectMetadataItem?.namePlural ?? '',
|
|
objectMetadataNameSingular: objectMetadataItem.nameSingular ?? '',
|
|
targetFieldMetadataName:
|
|
field.relationDefinition?.targetFieldMetadata?.name ?? '',
|
|
options: field.options,
|
|
settings: field.settings,
|
|
isNullable: field.isNullable,
|
|
};
|
|
|
|
return {
|
|
fieldMetadataId: field.id,
|
|
label: field.label,
|
|
showLabel,
|
|
labelWidth,
|
|
type: field.type,
|
|
metadata: fieldDefintionMetadata,
|
|
iconName: field.icon ?? 'Icon123',
|
|
defaultValue: field.defaultValue,
|
|
editButtonIcon: getFieldButtonIcon({
|
|
metadata: fieldDefintionMetadata,
|
|
type: field.type,
|
|
}),
|
|
settings: field.settings,
|
|
};
|
|
};
|