Fix formattings
This commit is contained in:
parent
7f5f4d9ecb
commit
680cf5803d
|
@ -1,40 +1,39 @@
|
||||||
import { FieldType, RelationshipType } from "@budibase/types"
|
import { FieldType, RelationshipType } from "@budibase/types"
|
||||||
import { Helpers } from "@budibase/bbui"
|
import { Helpers } from "@budibase/bbui"
|
||||||
|
|
||||||
const columnTypeManyOverrides = {
|
const columnTypeManyTypeOverrides = {
|
||||||
[FieldType.DATETIME]: {
|
[FieldType.DATETIME]: FieldType.STRING,
|
||||||
overridedType: FieldType.STRING,
|
[FieldType.BOOLEAN]: FieldType.STRING,
|
||||||
parser: (value, field) => {
|
[FieldType.SIGNATURE_SINGLE]: FieldType.ATTACHMENTS,
|
||||||
const { timeOnly, dateOnly, ignoreTimezones } = field
|
}
|
||||||
|
|
||||||
|
const columnTypeManyParser = {
|
||||||
|
[FieldType.DATETIME]: (value, field) => {
|
||||||
|
function parseDate(value) {
|
||||||
|
const { timeOnly, dateOnly, ignoreTimezones } = field || {}
|
||||||
const enableTime = !dateOnly
|
const enableTime = !dateOnly
|
||||||
const parsedValue = Helpers.parseDate(value, {
|
const parsedValue = Helpers.parseDate(value, {
|
||||||
timeOnly,
|
timeOnly,
|
||||||
enableTime,
|
enableTime,
|
||||||
ignoreTimezones,
|
ignoreTimezones,
|
||||||
})
|
})
|
||||||
const result = Helpers.getDateDisplayValue(parsedValue, {
|
const parsed = Helpers.getDateDisplayValue(parsedValue, {
|
||||||
enableTime,
|
enableTime,
|
||||||
timeOnly,
|
timeOnly,
|
||||||
})
|
})
|
||||||
return result
|
return parsed
|
||||||
},
|
}
|
||||||
},
|
|
||||||
[FieldType.BOOLEAN]: {
|
return value?.map(v => parseDate(v))
|
||||||
overridedType: FieldType.STRING,
|
|
||||||
parser: value => !!value,
|
|
||||||
},
|
|
||||||
[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)),
|
|
||||||
},
|
},
|
||||||
|
[FieldType.BOOLEAN]: value => value?.map(v => !!v),
|
||||||
|
[FieldType.BB_REFERENCE_SINGLE]: value => [
|
||||||
|
...new Map(value.map(i => [i._id, i])).values(),
|
||||||
|
],
|
||||||
|
[FieldType.BB_REFERENCE]: value => [
|
||||||
|
...new Map(value.map(i => [i._id, i])).values(),
|
||||||
|
],
|
||||||
|
[FieldType.ARRAY]: value => Array.from(new Set(value)),
|
||||||
}
|
}
|
||||||
|
|
||||||
export function enrichSchemaWithRelColumns(schema) {
|
export function enrichSchemaWithRelColumns(schema) {
|
||||||
|
@ -60,8 +59,7 @@ export function enrichSchemaWithRelColumns(schema) {
|
||||||
name,
|
name,
|
||||||
related: { field: c, subField: relColumn },
|
related: { field: c, subField: relColumn },
|
||||||
cellRenderType:
|
cellRenderType:
|
||||||
(!fromSingle &&
|
(!fromSingle && columnTypeManyTypeOverrides[relField.type]) ||
|
||||||
columnTypeManyOverrides[relField.type]?.overridedType) ||
|
|
||||||
relField.type,
|
relField.type,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -81,11 +79,11 @@ export function getRelatedTableValues(row, field, fromField) {
|
||||||
if (fromSingle) {
|
if (fromSingle) {
|
||||||
result = row[field.related.field]?.[0]?.[field.related.subField]
|
result = row[field.related.field]?.[0]?.[field.related.subField]
|
||||||
} else {
|
} else {
|
||||||
const parser =
|
const parser = columnTypeManyParser[field.type] || (value => value)
|
||||||
columnTypeManyOverrides[field.type]?.parser || (value => value)
|
|
||||||
|
|
||||||
result = parser(
|
result = parser(
|
||||||
row[field.related.field].flatMap(r => r[field.related.subField], field)
|
row[field.related.field].flatMap(r => r[field.related.subField]),
|
||||||
|
field
|
||||||
)
|
)
|
||||||
|
|
||||||
if (
|
if (
|
||||||
|
|
Loading…
Reference in New Issue