@@ -50,14 +50,13 @@ class ObjectModel extends Component {
5050 }
5151 </ span > )
5252
53+ const titleEl = title && < span className = "model-title" >
54+ { isRef && schema . get ( "$$ref" ) && < span className = "model-hint" > { schema . get ( "$$ref" ) } </ span > }
55+ < span className = "model-title__text" > { title } </ span >
56+ </ span >
57+
5358 return < span className = "model" >
54- {
55- title && < span className = "model-title" >
56- { isRef && schema . get ( "$$ref" ) && < span className = "model-hint" > { schema . get ( "$$ref" ) } </ span > }
57- < span className = "model-title__text" > { title } </ span >
58- </ span >
59- }
60- < Collapse collapsed = { depth > expandDepth } collapsedContent = { collapsedContent } >
59+ < Collapse title = { titleEl } collapsed = { depth > expandDepth } collapsedContent = { collapsedContent } >
6160 < span className = "brace-open object" > { braceOpen } </ span >
6261 {
6362 ! isRef ? null : < JumpToPathSection name = { name } />
@@ -188,14 +187,14 @@ class ArrayModel extends Component {
188187 let items = schema . get ( "items" )
189188 let title = schema . get ( "title" ) || name
190189 let properties = schema . filter ( ( v , key ) => [ "type" , "items" , "$$ref" ] . indexOf ( key ) === - 1 )
191-
190+ const titleEl = title &&
191+ < span className = "model-title" >
192+ < span className = "model-title__text" > { title } </ span >
193+ </ span >
194+
195+
192196 return < span className = "model" >
193- {
194- title && < span className = "model-title" >
195- < span className = "model-title__text" > { title } </ span >
196- </ span >
197- }
198- < Collapse collapsed = { depth > expandDepth } collapsedContent = "[...]" >
197+ < Collapse title = { titleEl } collapsed = { depth > expandDepth } collapsedContent = "[...]" >
199198 [
200199 < span > < Model { ...this . props } name = "" schema = { items } required = { false } /> </ span >
201200 ]
@@ -292,12 +291,14 @@ class Collapse extends Component {
292291 static propTypes = {
293292 collapsedContent : PropTypes . any ,
294293 collapsed : PropTypes . bool ,
295- children : PropTypes . any
294+ children : PropTypes . any ,
295+ title : PropTypes . element
296296 }
297297
298298 static defaultProps = {
299299 collapsedContent : "{...}" ,
300300 collapsed : true ,
301+ title : null
301302 }
302303
303304 constructor ( props , context ) {
@@ -318,11 +319,15 @@ class Collapse extends Component {
318319 }
319320
320321 render ( ) {
321- return ( < span >
322- < span onClick = { this . toggleCollapsed } style = { { "cursor" : "pointer" } } >
323- < span className = { "model-toggle" + ( this . state . collapsed ? " collapsed" : "" ) } > </ span >
322+ const { title} = this . props
323+ return (
324+ < span >
325+ { title && < span onClick = { this . toggleCollapsed } style = { { "cursor" : "pointer" } } > { title } </ span > }
326+ < span onClick = { this . toggleCollapsed } style = { { "cursor" : "pointer" } } >
327+ < span className = { "model-toggle" + ( this . state . collapsed ? " collapsed" : "" ) } > </ span >
328+ </ span >
329+ { this . state . collapsed ? this . state . collapsedContent : this . props . children }
324330 </ span >
325- { this . state . collapsed ? this . state . collapsedContent : this . props . children }
326- </ span > )
331+ )
327332 }
328333}
0 commit comments