Render request bodies correctly (minus Example Value + editable functionality)
This commit is contained in:
@@ -2,28 +2,25 @@ import React from "react"
|
||||
import { OrderedMap } from "immutable"
|
||||
|
||||
|
||||
export default ({ requestBody, getComponent, specSelectors }) => {
|
||||
export default ({ requestBody, getComponent, specSelectors, contentType }) => {
|
||||
const Markdown = getComponent("Markdown")
|
||||
const Model = getComponent("model")
|
||||
const ModelExample = getComponent("modelExample")
|
||||
|
||||
const requestBodyDescription = (requestBody && requestBody.get("description")) || null
|
||||
const requestBodyContent = (requestBody && requestBody.get("content")) || new OrderedMap()
|
||||
contentType = contentType || requestBodyContent.keySeq().first()
|
||||
|
||||
const mediaTypeValue = requestBodyContent.get(contentType)
|
||||
|
||||
return <div>
|
||||
{ requestBodyDescription &&
|
||||
<p>{requestBodyDescription}</p>
|
||||
}
|
||||
{ !requestBodyContent.count() ? <p>No content</p> :
|
||||
requestBodyContent.map((mediaTypeValue, key) => (
|
||||
<div>
|
||||
<h4>{key}</h4>
|
||||
<Model
|
||||
getComponent={ getComponent }
|
||||
specSelectors={ specSelectors }
|
||||
expandDepth={1}
|
||||
schema={mediaTypeValue.get("schema")} />
|
||||
</div>
|
||||
)).toArray()
|
||||
<Markdown source={requestBodyDescription} />
|
||||
}
|
||||
<ModelExample
|
||||
getComponent={ getComponent }
|
||||
specSelectors={ specSelectors }
|
||||
expandDepth={1}
|
||||
schema={mediaTypeValue.get("schema")}
|
||||
example={<i>Not yet implemented</i>}/>
|
||||
</div>
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user