Add suggested values for variable dropdown (#9437)
<img width="378" alt="Capture d’écran 2025-01-07 à 15 37 20" src="https://github.com/user-attachments/assets/c15abcac-684a-4c3b-ad12-62cf91afe927" /> Here is a first version: - simple fields have a suggested value - composite do not, but sub values of composite do - json, arrays or complex values do not
This commit is contained in:
@ -7,13 +7,16 @@ type FakeValueTypes =
|
||||
| Date
|
||||
| FakeValueTypes[]
|
||||
| FieldMetadataType
|
||||
| { [key: string]: FakeValueTypes };
|
||||
| { [key: string]: FakeValueTypes }
|
||||
| null;
|
||||
|
||||
export const generateFakeValue = (valueType: string): FakeValueTypes => {
|
||||
type TypeClassification = 'Primitive' | 'FieldMetadataType';
|
||||
|
||||
const generatePrimitiveValue = (valueType: string): FakeValueTypes => {
|
||||
if (valueType === 'string') {
|
||||
return 'generated-string-value';
|
||||
return 'My text';
|
||||
} else if (valueType === 'number') {
|
||||
return 1;
|
||||
return 20;
|
||||
} else if (valueType === 'boolean') {
|
||||
return true;
|
||||
} else if (valueType === 'Date') {
|
||||
@ -38,9 +41,51 @@ export const generateFakeValue = (valueType: string): FakeValueTypes => {
|
||||
});
|
||||
|
||||
return objData;
|
||||
} else if (valueType === FieldMetadataType.TEXT) {
|
||||
return 'My text';
|
||||
} else {
|
||||
return 'generated-string-value';
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
const generateFieldMetadataTypeValue = (
|
||||
valueType: string,
|
||||
): FakeValueTypes | null => {
|
||||
// composite types do not need to be generated
|
||||
switch (valueType) {
|
||||
case FieldMetadataType.TEXT:
|
||||
return 'My text';
|
||||
case FieldMetadataType.NUMBER:
|
||||
return 20;
|
||||
case FieldMetadataType.BOOLEAN:
|
||||
return true;
|
||||
case FieldMetadataType.DATE:
|
||||
return '01/23/2025';
|
||||
case FieldMetadataType.DATE_TIME:
|
||||
return '01/23/2025 15:16';
|
||||
case FieldMetadataType.ADDRESS:
|
||||
return '123 Main St, Anytown, CA 12345';
|
||||
case FieldMetadataType.FULL_NAME:
|
||||
return 'Tim Cook';
|
||||
case FieldMetadataType.RAW_JSON:
|
||||
return null;
|
||||
case FieldMetadataType.RICH_TEXT:
|
||||
return 'My rich text';
|
||||
case FieldMetadataType.UUID:
|
||||
return '123e4567-e89b-12d3-a456-426614174000';
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
export const generateFakeValue = (
|
||||
valueType: string,
|
||||
classification: TypeClassification = 'Primitive',
|
||||
): FakeValueTypes => {
|
||||
switch (classification) {
|
||||
case 'Primitive':
|
||||
return generatePrimitiveValue(valueType);
|
||||
case 'FieldMetadataType':
|
||||
return generateFieldMetadataTypeValue(valueType);
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user