diff --git a/src/core/components/model.jsx b/src/core/components/model.jsx index de714403..39c1c8e1 100644 --- a/src/core/components/model.jsx +++ b/src/core/components/model.jsx @@ -50,14 +50,13 @@ class ObjectModel extends Component { } ) + const titleEl = title && + { isRef && schema.get("$$ref") && { schema.get("$$ref") } } + { title } + + return - { - title && - { isRef && schema.get("$$ref") && { schema.get("$$ref") } } - { title } - - } - expandDepth } collapsedContent={ collapsedContent }> + expandDepth } collapsedContent={ collapsedContent }> { braceOpen } { !isRef ? null : @@ -188,14 +187,14 @@ class ArrayModel extends Component { let items = schema.get("items") let title = schema.get("title") || name let properties = schema.filter( ( v, key) => ["type", "items", "$$ref"].indexOf(key) === -1 ) - + const titleEl = title && + + { title } + + + return - { - title && - { title } - - } - expandDepth } collapsedContent="[...]"> + expandDepth } collapsedContent="[...]"> [ ] @@ -292,12 +291,14 @@ class Collapse extends Component { static propTypes = { collapsedContent: PropTypes.any, collapsed: PropTypes.bool, - children: PropTypes.any + children: PropTypes.any, + title: PropTypes.element } static defaultProps = { collapsedContent: "{...}", collapsed: true, + title: null } constructor(props, context) { @@ -318,11 +319,15 @@ class Collapse extends Component { } render () { - return ( - - + const {title} = this.props + return ( + + { title && {title} } + + + + { this.state.collapsed ? this.state.collapsedContent : this.props.children } - { this.state.collapsed ? this.state.collapsedContent : this.props.children } - ) + ) } }