Reimplemented changes after merge with master

This commit is contained in:
Owen Conti
2017-07-11 17:02:53 -06:00
parent fce8b7275b
commit bd31d3dedf
3 changed files with 23 additions and 16 deletions

View File

@@ -17,16 +17,19 @@ export default class ArrayModel extends Component {
render(){ render(){
let { getComponent, required, schema, depth, expandDepth } = this.props let { getComponent, required, schema, depth, expandDepth } = this.props
let items = schema.get("items") let items = schema.get("items")
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", "$$ref"].indexOf(key) === -1 )
const ModelCollapse = getComponent("ModelCollapse") const ModelCollapse = getComponent("ModelCollapse")
const Model = getComponent("Model") const Model = getComponent("Model")
return <span className="model"> const titleEl = title &&
<span className="model-title"> <span className="model-title">
<span className="model-title__text">{ schema.get("title") }</span> <span className="model-title__text">{ title }</span>
</span> </span>
<ModelCollapse collapsed={ depth > expandDepth } collapsedContent="[...]">
return <span className="model">
<ModelCollapse title={titleEl} collapsed={ depth > expandDepth } collapsedContent="[...]">
[ [
<span><Model { ...this.props } schema={ items } required={ false }/></span> <span><Model { ...this.props } schema={ items } required={ false }/></span>
] ]

View File

@@ -5,12 +5,14 @@ export default class ModelCollapse extends Component {
static propTypes = { static propTypes = {
collapsedContent: PropTypes.any, collapsedContent: PropTypes.any,
collapsed: PropTypes.bool, collapsed: PropTypes.bool,
children: PropTypes.any children: PropTypes.any,
title: PropTypes.element
} }
static defaultProps = { static defaultProps = {
collapsedContent: "{...}", collapsedContent: "{...}",
collapsed: true, collapsed: true,
title: null
} }
constructor(props, context) { constructor(props, context) {
@@ -31,11 +33,15 @@ export default class ModelCollapse extends Component {
} }
render () { render () {
return (<span> const {title} = this.props
<span onClick={ this.toggleCollapsed } style={{ "cursor": "pointer" }}> return (
<span className={ "model-toggle" + ( this.state.collapsed ? " collapsed" : "" ) }></span> <span>
{ title && <span onClick={this.toggleCollapsed} style={{ "cursor": "pointer" }}>{title}</span> }
<span onClick={ this.toggleCollapsed } style={{ "cursor": "pointer" }}>
<span className={ "model-toggle" + ( this.state.collapsed ? " collapsed" : "" ) }></span>
</span>
{ this.state.collapsed ? this.state.collapsedContent : this.props.children }
</span> </span>
{ this.state.collapsed ? this.state.collapsedContent : this.props.children } )
</span>)
} }
} }

View File

@@ -38,15 +38,13 @@ export default class ObjectModel extends Component {
} }
</span>) </span>)
const titleEl = title && <span className="model-title">
{ isRef && schema.get("$$ref") && <span className="model-hint">{ schema.get("$$ref") }</span> }
<span className="model-title__text">{ title }</span>
</span>
return <span className="model"> return <span className="model">
{ <ModelCollapse title={titleEl} collapsed={ depth > expandDepth } collapsedContent={ collapsedContent }>
title && <span className="model-title">
{ isRef && schema.get("$$ref") && <span className="model-hint">{ schema.get("$$ref") }</span> }
<span className="model-title__text">{ title }</span>
</span>
}
<ModelCollapse collapsed={ depth > expandDepth } collapsedContent={ collapsedContent }>
<span className="brace-open object">{ braceOpen }</span> <span className="brace-open object">{ braceOpen }</span>
{ {
!isRef ? null : <JumpToPathSection name={ name }/> !isRef ? null : <JumpToPathSection name={ name }/>