diff --git a/react-openapi/src/components/fields/ListCellRenderer.tsx b/react-openapi/src/components/fields/ListCellRenderer.tsx index 0650924..0c2c700 100644 --- a/react-openapi/src/components/fields/ListCellRenderer.tsx +++ b/react-openapi/src/components/fields/ListCellRenderer.tsx @@ -62,5 +62,9 @@ export function ListCellRenderer({ field, value, displayFormat }: ListCellProps) return ; } + if (typeof value === "object") { + return {applyDisplayFormat(value, displayFormat ?? "")}; + } + return {String(value)}; } diff --git a/react-openapi/src/transformers/field-config.ts b/react-openapi/src/transformers/field-config.ts index fcd7e2a..77d758e 100644 --- a/react-openapi/src/transformers/field-config.ts +++ b/react-openapi/src/transformers/field-config.ts @@ -13,12 +13,15 @@ export function extractFields(schemaName: string, schema: any, schemas: Record { const isDirectRef = !!prop.$ref; const isItemsRef = prop.type === "array" && !!prop.items?.$ref; - const isRef = isDirectRef || isItemsRef; + const isOneOf = !!prop.oneOf; + const isRef = isDirectRef || isItemsRef || isOneOf; const refSchemaName = isDirectRef ? resolveRef(prop.$ref) : isItemsRef ? resolveRef(prop.items.$ref) + : isOneOf && prop.oneOf[0]?.$ref + ? resolveRef(prop.oneOf[0].$ref) : undefined; const refSchema = refSchemaName ? schemas[refSchemaName] : undefined; @@ -31,7 +34,7 @@ export function extractFields(schemaName: string, schema: any, schemas: Record