From ee962380b3d72c40b4f337ebd573e7ed22ab8f30 Mon Sep 17 00:00:00 2001 From: Adria Navarro Date: Thu, 26 Sep 2024 16:18:19 +0200 Subject: [PATCH] Handle undefined properly --- .../frontend-core/src/utils/relatedColumns.js | 50 +++++++++---------- 1 file changed, 23 insertions(+), 27 deletions(-) diff --git a/packages/frontend-core/src/utils/relatedColumns.js b/packages/frontend-core/src/utils/relatedColumns.js index 55f1bbbb00..9d389524fd 100644 --- a/packages/frontend-core/src/utils/relatedColumns.js +++ b/packages/frontend-core/src/utils/relatedColumns.js @@ -75,36 +75,32 @@ export function getRelatedTableValues(row, field, fromField) { fromField?.relationshipType === RelationshipType.ONE_TO_MANY let result = "" - try { - if (fromSingle) { - result = row[field.related.field]?.[0]?.[field.related.subField] - } else { - const parser = columnTypeManyParser[field.type] || (value => value) - result = parser( - row[field.related.field] - .flatMap(r => r[field.related.subField]) - .filter(i => i !== undefined && i !== null), - field - ) + if (fromSingle) { + result = row[field.related.field]?.[0]?.[field.related.subField] + } else { + const parser = columnTypeManyParser[field.type] || (value => value) - if ( - [ - FieldType.STRING, - FieldType.NUMBER, - FieldType.BIGINT, - FieldType.BOOLEAN, - FieldType.DATETIME, - FieldType.LONGFORM, - FieldType.BARCODEQR, - ].includes(field.type) - ) { - result = result.join(", ") - } + result = parser( + row[field.related.field] + ?.flatMap(r => r[field.related.subField]) + ?.filter(i => i !== undefined && i !== null), + field + ) + + if ( + [ + FieldType.STRING, + FieldType.NUMBER, + FieldType.BIGINT, + FieldType.BOOLEAN, + FieldType.DATETIME, + FieldType.LONGFORM, + FieldType.BARCODEQR, + ].includes(field.type) + ) { + result = result?.join(", ") } - } catch (e) { - result = "Not rendable" - console.error(e.message) } return result