From db57ee0dfecb9fc72e563eb2144294b1a9a18bc3 Mon Sep 17 00:00:00 2001 From: "Mark H. Wilkinson" Date: Tue, 13 Jun 2017 17:13:33 +0100 Subject: [PATCH 1/2] Render object descriptions as Markdown. --- src/core/components/model.jsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/core/components/model.jsx b/src/core/components/model.jsx index 7beb344eb71..ec967b3be2a 100644 --- a/src/core/components/model.jsx +++ b/src/core/components/model.jsx @@ -40,6 +40,7 @@ class ObjectModel extends Component { let additionalProperties = schema.get("additionalProperties") let title = schema.get("title") || name let required = schema.get("required") + const Markdown = getComponent("Markdown") const JumpToPathSection = ({ name }) => let collapsedContent = ( { braceOpen }...{ braceClose } @@ -66,7 +67,9 @@ class ObjectModel extends Component { { !description ? null : description: - { description } + + + } { From c24a07c5239d9b982396908409f5fc78baa02edc Mon Sep 17 00:00:00 2001 From: "Mark H. Wilkinson" Date: Tue, 13 Jun 2017 17:15:59 +0100 Subject: [PATCH 2/2] Render primitive property descriptions as Markdown. --- src/core/components/model.jsx | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/core/components/model.jsx b/src/core/components/model.jsx index ec967b3be2a..df2f0e0af2a 100644 --- a/src/core/components/model.jsx +++ b/src/core/components/model.jsx @@ -117,11 +117,12 @@ class ObjectModel extends Component { class Primitive extends Component { static propTypes = { schema: PropTypes.object.isRequired, + getComponent: PropTypes.func.isRequired, required: PropTypes.bool } render(){ - let { schema, required } = this.props + let { schema, getComponent, required } = this.props if(!schema || !schema.get) { // don't render if schema isn't correctly formed @@ -132,17 +133,23 @@ class Primitive extends Component { let format = schema.get("format") let xml = schema.get("xml") let enumArray = schema.get("enum") - let properties = schema.filter( ( v, key) => ["enum", "type", "format", "$$ref"].indexOf(key) === -1 ) + let description = schema.get("description") + let properties = schema.filter( ( v, key) => ["enum", "type", "format", "description", "$$ref"].indexOf(key) === -1 ) let style = required ? { fontWeight: "bold" } : {} + const Markdown = getComponent("Markdown") return { type } { required && *} { format && (${format})} { properties.size ? properties.entrySeq().map( ( [ key, v ] ) => -
{ key !== "description" && key + ": " }{ String(v) }
) +
{ key }: { String(v) }
) : null } + { + !description ? null : + + } { xml && xml.size ? (
xml: { @@ -220,7 +227,7 @@ class Model extends Component { } render () { - let { schema, required, name, isRef } = this.props + let { schema, getComponent, required, name, isRef } = this.props let $$ref = schema && schema.get("$$ref") let modelName = $$ref && this.getModelName( $$ref ) let modelSchema, type @@ -248,7 +255,7 @@ class Model extends Component { case "integer": case "boolean": default: - return + return } } }