@@ -7,11 +7,12 @@ export default class Primitive extends Component {
77 static propTypes = {
88 schema : PropTypes . object . isRequired ,
99 getComponent : PropTypes . func . isRequired ,
10- required : PropTypes . bool
10+ name : PropTypes . string ,
11+ depth : PropTypes . number
1112 }
1213
1314 render ( ) {
14- let { schema, getComponent, required } = this . props
15+ let { schema, getComponent, name , depth } = this . props
1516
1617 if ( ! schema || ! schema . get ) {
1718 // don't render if schema isn't correctly formed
@@ -24,32 +25,34 @@ export default class Primitive extends Component {
2425 let enumArray = schema . get ( "enum" )
2526 let description = schema . get ( "description" )
2627 let properties = schema . filter ( ( v , key ) => [ "enum" , "type" , "format" , "description" , "$$ref" ] . indexOf ( key ) === - 1 )
27- let style = required ? { fontWeight : "bold" } : { }
2828 const Markdown = getComponent ( "Markdown" )
2929 const EnumModel = getComponent ( "EnumModel" )
3030
31- return < span className = "prop" >
32- < span className = "prop-type" style = { style } > { type } </ span > { required && < span style = { { color : "red" } } > *</ span > }
33- { format && < span className = "prop-format" > (${ format } )</ span > }
34- {
35- properties . size ? properties . entrySeq ( ) . map ( ( [ key , v ] ) => < span key = { `${ key } -${ v } ` } style = { propStyle } >
36- < br /> { key } : { String ( v ) } </ span > )
37- : null
38- }
39- {
40- ! description ? null :
41- < Markdown source = { description } />
42- }
43- {
44- xml && xml . size ? ( < span > < br /> < span style = { propStyle } > xml:</ span >
45- {
46- xml . entrySeq ( ) . map ( ( [ key , v ] ) => < span key = { `${ key } -${ v } ` } style = { propStyle } > < br /> { key } : { String ( v ) } </ span > ) . toArray ( )
47- }
48- </ span > ) : null
49- }
50- {
51- enumArray && < EnumModel value = { enumArray } getComponent = { getComponent } />
52- }
31+ return < span className = "model" >
32+ < span className = "prop" >
33+ { name && < span className = { `${ depth === 1 && "model-title" } prop-name` } > { name } </ span > }
34+ < span className = "prop-type" > { type } </ span >
35+ { format && < span className = "prop-format" > (${ format } )</ span > }
36+ {
37+ properties . size ? properties . entrySeq ( ) . map ( ( [ key , v ] ) => < span key = { `${ key } -${ v } ` } style = { propStyle } >
38+ < br /> { key } : { String ( v ) } </ span > )
39+ : null
40+ }
41+ {
42+ ! description ? null :
43+ < Markdown source = { description } />
44+ }
45+ {
46+ xml && xml . size ? ( < span > < br /> < span style = { propStyle } > xml:</ span >
47+ {
48+ xml . entrySeq ( ) . map ( ( [ key , v ] ) => < span key = { `${ key } -${ v } ` } style = { propStyle } > < br /> { key } : { String ( v ) } </ span > ) . toArray ( )
49+ }
50+ </ span > ) : null
51+ }
52+ {
53+ enumArray && < EnumModel value = { enumArray } getComponent = { getComponent } />
54+ }
55+ </ span >
5356 </ span >
5457 }
5558}
0 commit comments