Array description should be processed as Markdown.

This commit is contained in:
Mark H. Wilkinson
2017-08-07 12:33:15 +01:00
parent 1fbce1d47a
commit d7424ff248

View File

@@ -16,10 +16,12 @@ export default class ArrayModel extends Component {
render(){ render(){
let { getComponent, schema, depth, expandDepth, name } = this.props let { getComponent, schema, depth, expandDepth, name } = this.props
let description = schema.get("description")
let items = schema.get("items") let items = schema.get("items")
let title = schema.get("title") || name let title = schema.get("title") || name
let properties = schema.filter( ( v, key) => ["type", "items", "$$ref"].indexOf(key) === -1 ) let properties = schema.filter( ( v, key) => ["type", "items", "description", "$$ref"].indexOf(key) === -1 )
const Markdown = getComponent("Markdown")
const ModelCollapse = getComponent("ModelCollapse") const ModelCollapse = getComponent("ModelCollapse")
const Model = getComponent("Model") const Model = getComponent("Model")
@@ -31,15 +33,17 @@ export default class ArrayModel extends Component {
return <span className="model"> return <span className="model">
<ModelCollapse title={titleEl} collapsed={ depth > expandDepth } collapsedContent="[...]"> <ModelCollapse title={titleEl} collapsed={ depth > expandDepth } collapsedContent="[...]">
[ [
<span><Model { ...this.props } schema={ items } required={ false } depth={ depth + 1 } /></span>
]
{ {
properties.size ? <span> properties.size ? properties.entrySeq().map( ( [ key, v ] ) => <span key={`${key}-${v}`} style={ propStyle }>
{ properties.entrySeq().map( ( [ key, v ] ) => <span key={`${key}-${v}`} style={propStyle}> <br />{ key }: { String(v) }</span>)
<br />{ `${key}:`}{ String(v) }</span>)
}<br /></span>
: null : null
} }
{
!description ? null :
<Markdown source={ description } />
}
<span><Model { ...this.props } schema={ items } required={ false } depth={ depth + 1 } /></span>
]
</ModelCollapse> </ModelCollapse>
</span> </span>
} }