Merge pull request #3345 from owenconti/bug/3100-sub-objects-as-required
Fixes #3100 - Required sub objects
This commit is contained in:
@@ -48,7 +48,7 @@ export default class Model extends Component {
|
|||||||
switch(type) {
|
switch(type) {
|
||||||
case "object":
|
case "object":
|
||||||
return <ObjectModel className="object" { ...this.props } schema={ modelSchema }
|
return <ObjectModel className="object" { ...this.props } schema={ modelSchema }
|
||||||
name={ name || modelName }
|
name={ name || modelName } required={ required }
|
||||||
isRef={ isRef!== undefined ? isRef : !!$$ref }/>
|
isRef={ isRef!== undefined ? isRef : !!$$ref }/>
|
||||||
case "array":
|
case "array":
|
||||||
return <ArrayModel className="array" { ...this.props } schema={ modelSchema } required={ required } />
|
return <ArrayModel className="array" { ...this.props } schema={ modelSchema } required={ required } />
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ export default class ObjectModel extends Component {
|
|||||||
let properties = schema.get("properties")
|
let properties = schema.get("properties")
|
||||||
let additionalProperties = schema.get("additionalProperties")
|
let additionalProperties = schema.get("additionalProperties")
|
||||||
let title = schema.get("title") || name
|
let title = schema.get("title") || name
|
||||||
let required = schema.get("required")
|
let requiredProperties = schema.get("required")
|
||||||
|
|
||||||
const JumpToPath = getComponent("JumpToPath", true)
|
const JumpToPath = getComponent("JumpToPath", true)
|
||||||
const Markdown = getComponent("Markdown")
|
const Markdown = getComponent("Markdown")
|
||||||
@@ -63,14 +63,16 @@ export default class ObjectModel extends Component {
|
|||||||
{
|
{
|
||||||
!(properties && properties.size) ? null : properties.entrySeq().map(
|
!(properties && properties.size) ? null : properties.entrySeq().map(
|
||||||
([key, value]) => {
|
([key, value]) => {
|
||||||
let isRequired = List.isList(required) && required.contains(key)
|
let isRequired = List.isList(requiredProperties) && requiredProperties.contains(key)
|
||||||
let propertyStyle = { verticalAlign: "top", paddingRight: "0.2em" }
|
let propertyStyle = { verticalAlign: "top", paddingRight: "0.2em" }
|
||||||
if ( isRequired ) {
|
if ( isRequired ) {
|
||||||
propertyStyle.fontWeight = "bold"
|
propertyStyle.fontWeight = "bold"
|
||||||
}
|
}
|
||||||
|
|
||||||
return (<tr key={key}>
|
return (<tr key={key}>
|
||||||
<td style={ propertyStyle }>{ key }:</td>
|
<td style={ propertyStyle }>
|
||||||
|
{ key }{ isRequired && <span style={{ color: "red" }}>*</span> }
|
||||||
|
</td>
|
||||||
<td style={{ verticalAlign: "top" }}>
|
<td style={{ verticalAlign: "top" }}>
|
||||||
<Model key={ `object-${name}-${key}_${value}` } { ...props }
|
<Model key={ `object-${name}-${key}_${value}` } { ...props }
|
||||||
required={ isRequired }
|
required={ isRequired }
|
||||||
|
|||||||
Reference in New Issue
Block a user