1
0
Fork 0
mirror of synced 2024-09-28 15:21:28 +12:00

Handle unique values

This commit is contained in:
Adria Navarro 2024-09-25 18:10:23 +02:00
parent d68a2ac41e
commit 7f5f4d9ecb

View file

@ -26,6 +26,15 @@ const columnTypeManyOverrides = {
[FieldType.SIGNATURE_SINGLE]: {
overridedType: FieldType.ATTACHMENTS,
},
[FieldType.BB_REFERENCE_SINGLE]: {
parser: value => [...new Map(value.map(i => [i._id, i])).values()],
},
[FieldType.BB_REFERENCE]: {
parser: value => [...new Map(value.map(i => [i._id, i])).values()],
},
[FieldType.ARRAY]: {
parser: value => Array.from(new Set(value)),
},
}
export function enrichSchemaWithRelColumns(schema) {
@ -74,12 +83,9 @@ export function getRelatedTableValues(row, field, fromField) {
} else {
const parser =
columnTypeManyOverrides[field.type]?.parser || (value => value)
result = Array.from(
new Set(
row[field.related.field].flatMap(r =>
parser(r[field.related.subField], field)
)
)
result = parser(
row[field.related.field].flatMap(r => r[field.related.subField], field)
)
if (
@ -88,6 +94,9 @@ export function getRelatedTableValues(row, field, fromField) {
FieldType.NUMBER,
FieldType.BIGINT,
FieldType.BOOLEAN,
FieldType.DATETIME,
FieldType.LONGFORM,
FieldType.BARCODEQR,
].includes(field.type)
) {
result = result.join(", ")