Render request bodies correctly (minus Example Value + editable functionality)

This commit is contained in:
Kyle Shockey
2017-06-29 23:16:54 -07:00
parent 2b37e7c2e4
commit 61de35d69c
2 changed files with 25 additions and 18 deletions

View File

@@ -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>
}