Allow input and display of floats for Number fields (#7340)
### 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>
This commit is contained in:
committed by
GitHub
parent
e3ed574420
commit
97eff774bd
@ -56,6 +56,7 @@ import { computeObjectTargetTable } from 'src/engine/utils/compute-object-target
|
||||
import { WorkspaceMigrationRunnerService } from 'src/engine/workspace-manager/workspace-migration-runner/workspace-migration-runner.service';
|
||||
import { ViewFieldWorkspaceEntity } from 'src/modules/view/standard-objects/view-field.workspace-entity';
|
||||
|
||||
import { FieldMetadataValidationService } from './field-metadata-validation.service';
|
||||
import {
|
||||
FieldMetadataEntity,
|
||||
FieldMetadataType,
|
||||
@ -82,6 +83,7 @@ export class FieldMetadataService extends TypeOrmQueryService<FieldMetadataEntit
|
||||
private readonly typeORMService: TypeORMService,
|
||||
private readonly workspaceMetadataVersionService: WorkspaceMetadataVersionService,
|
||||
private readonly twentyORMGlobalManager: TwentyORMGlobalManager,
|
||||
private readonly fieldMetadataValidationService: FieldMetadataValidationService,
|
||||
) {
|
||||
super(fieldMetadataRepository);
|
||||
}
|
||||
@ -157,6 +159,7 @@ export class FieldMetadataService extends TypeOrmQueryService<FieldMetadataEntit
|
||||
}
|
||||
|
||||
this.validateFieldMetadataInput<CreateFieldInput>(
|
||||
fieldMetadataInput.type,
|
||||
fieldMetadataInput,
|
||||
objectMetadata,
|
||||
);
|
||||
@ -391,6 +394,7 @@ export class FieldMetadataService extends TypeOrmQueryService<FieldMetadataEntit
|
||||
}
|
||||
|
||||
this.validateFieldMetadataInput<UpdateFieldInput>(
|
||||
existingFieldMetadata.type,
|
||||
fieldMetadataInput,
|
||||
objectMetadata,
|
||||
);
|
||||
@ -707,7 +711,11 @@ export class FieldMetadataService extends TypeOrmQueryService<FieldMetadataEntit
|
||||
|
||||
private validateFieldMetadataInput<
|
||||
T extends UpdateFieldInput | CreateFieldInput,
|
||||
>(fieldMetadataInput: T, objectMetadata: ObjectMetadataEntity): T {
|
||||
>(
|
||||
fieldMetadataType: FieldMetadataType,
|
||||
fieldMetadataInput: T,
|
||||
objectMetadata: ObjectMetadataEntity,
|
||||
): T {
|
||||
if (fieldMetadataInput.name) {
|
||||
try {
|
||||
validateFieldNameValidityOrThrow(fieldMetadataInput.name);
|
||||
@ -748,6 +756,13 @@ export class FieldMetadataService extends TypeOrmQueryService<FieldMetadataEntit
|
||||
}
|
||||
}
|
||||
|
||||
if (fieldMetadataInput.settings) {
|
||||
this.fieldMetadataValidationService.validateSettingsOrThrow({
|
||||
fieldType: fieldMetadataType,
|
||||
settings: fieldMetadataInput.settings,
|
||||
});
|
||||
}
|
||||
|
||||
return fieldMetadataInput;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user