Refacto default value (#6507)

A quick followup of #6506 to add clarity and differentiate emptyValue
from defaultValue
This commit is contained in:
Félix Malfait
2024-08-03 16:43:53 +02:00
committed by GitHub
parent 6432ad39b9
commit 5f88caf409
6 changed files with 52 additions and 42 deletions

View File

@ -1,17 +0,0 @@
// Some default value are special keywords such as 'uuid' or 'now'
// that are mapped to a function that generates a value on the backend.
// (see serializeFunctionDefaultValue.ts on the server)
// We need to do a similar mapping on the frontend
import { v4 } from 'uuid';
export const getComputedDefaultValue = (defaultValue?: any) => {
switch (defaultValue) {
case 'uuid':
return v4();
case 'now':
return new Date().toISOString();
default:
return null;
}
};

View File

@ -1,6 +1,6 @@
import { FieldMetadataItem } from '@/object-metadata/types/FieldMetadataItem';
import { isFieldValueEmpty } from '@/object-record/record-field/utils/isFieldValueEmpty';
import { getComputedDefaultValue } from '@/settings/data-model/fields/preview/utils/getComputedDefaultValue';
import { generateDefaultFieldValue } from '@/object-record/utils/generateDefaultFieldValue';
import { getSettingsFieldTypeConfig } from '@/settings/data-model/utils/getSettingsFieldTypeConfig';
import { isFieldTypeSupportedInSettings } from '@/settings/data-model/utils/isFieldTypeSupportedInSettings';
import { isDefined } from '~/utils/isDefined';
@ -18,17 +18,17 @@ export const getFieldPreviewValue = ({
fieldValue: fieldMetadataItem.defaultValue,
})
) {
return getComputedDefaultValue(fieldMetadataItem.defaultValue);
return generateDefaultFieldValue(fieldMetadataItem);
}
const fieldTypeConfig = getSettingsFieldTypeConfig(fieldMetadataItem.type);
if (
isDefined(fieldTypeConfig) &&
'defaultValue' in fieldTypeConfig &&
isDefined(fieldTypeConfig.defaultValue)
'exampleValue' in fieldTypeConfig &&
isDefined(fieldTypeConfig.exampleValue)
) {
return getComputedDefaultValue(fieldTypeConfig.defaultValue);
return fieldTypeConfig.exampleValue;
}
return null;