feat: add Links field type (#5176)

Closes #5113

---------

Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
This commit is contained in:
Thaïs
2024-05-01 11:56:14 +02:00
committed by GitHub
parent e0ece3c917
commit 8853226d17
42 changed files with 465 additions and 61 deletions

View File

@ -36,6 +36,12 @@ export function generateDefaultValue(
amountMicros: null,
currencyCode: "''",
};
case FieldMetadataType.LINKS:
return {
primaryLinkLabel: "''",
primaryLinkUrl: "''",
secondaryLinks: null,
};
default:
return null;
}

View File

@ -5,11 +5,14 @@ export const isCompositeFieldMetadataType = (
): type is
| FieldMetadataType.LINK
| FieldMetadataType.CURRENCY
| FieldMetadataType.FULL_NAME => {
return (
type === FieldMetadataType.LINK ||
type === FieldMetadataType.CURRENCY ||
type === FieldMetadataType.FULL_NAME ||
type === FieldMetadataType.ADDRESS
);
| FieldMetadataType.FULL_NAME
| FieldMetadataType.ADDRESS
| FieldMetadataType.LINKS => {
return [
FieldMetadataType.LINK,
FieldMetadataType.CURRENCY,
FieldMetadataType.FULL_NAME,
FieldMetadataType.ADDRESS,
FieldMetadataType.LINKS,
].includes(type);
};

View File

@ -21,6 +21,7 @@ import {
FieldMetadataDefaultValueNowFunction,
FieldMetadataDefaultValueUuidFunction,
FieldMetadataDefaultValueDate,
FieldMetadataDefaultValueLinks,
} from 'src/engine/metadata-modules/field-metadata/dtos/default-value.input';
import { isCompositeFieldMetadataType } from 'src/engine/metadata-modules/field-metadata/utils/is-composite-field-metadata-type.util';
@ -49,6 +50,7 @@ export const defaultValueValidatorsMap = {
[FieldMetadataType.MULTI_SELECT]: [FieldMetadataDefaultValueStringArray],
[FieldMetadataType.ADDRESS]: [FieldMetadataDefaultValueAddress],
[FieldMetadataType.RAW_JSON]: [FieldMetadataDefaultValueRawJson],
[FieldMetadataType.LINKS]: [FieldMetadataDefaultValueLinks],
};
type ValidationResult = {