diff --git a/src/core/components/array-model.jsx b/src/core/components/array-model.jsx index dae6645e..a68a3562 100644 --- a/src/core/components/array-model.jsx +++ b/src/core/components/array-model.jsx @@ -24,24 +24,23 @@ export default class ArrayModel extends Component { const Markdown = getComponent("Markdown") const ModelCollapse = getComponent("ModelCollapse") const Model = getComponent("Model") + const Property = getComponent("Property") const titleEl = title && { title } - /* + /* Note: we set `name={null}` in below because we don't want the name of the current Model passed (and displayed) as the name of the array element Model - */ + */ return expandDepth } collapsedContent="[...]"> [ { - properties.size ? properties.entrySeq().map( ( [ key, v ] ) => -
{ key }: { String(v) }
) - : null + properties.size ? properties.entrySeq().map( ( [ key, v ] ) => ) : null } { !description ? null : diff --git a/src/core/components/primitive-model.jsx b/src/core/components/primitive-model.jsx index f1fba8a5..c14413a9 100644 --- a/src/core/components/primitive-model.jsx +++ b/src/core/components/primitive-model.jsx @@ -28,6 +28,7 @@ export default class Primitive extends Component { let properties = schema.filter( ( v, key) => ["enum", "type", "format", "description", "$$ref"].indexOf(key) === -1 ) const Markdown = getComponent("Markdown") const EnumModel = getComponent("EnumModel") + const Property = getComponent("Property") return @@ -35,9 +36,7 @@ export default class Primitive extends Component { { type } { format && (${format})} { - properties.size ? properties.entrySeq().map( ( [ key, v ] ) => -
{ key }: { String(v) }
) - : null + properties.size ? properties.entrySeq().map( ( [ key, v ] ) => ) : null } { !description ? null : @@ -56,4 +55,4 @@ export default class Primitive extends Component {
} -} \ No newline at end of file +} diff --git a/src/core/components/property.jsx b/src/core/components/property.jsx new file mode 100644 index 00000000..0d129643 --- /dev/null +++ b/src/core/components/property.jsx @@ -0,0 +1,16 @@ +import React from "react" +import PropTypes from "prop-types" + +export const Property = ({ propKey, propVal, propStyle }) => { + return ( + +
{ propKey }: { String(propVal) }
+ ) +} +Property.propTypes = { + propKey: PropTypes.string, + propVal: PropTypes.any, + propStyle: PropTypes.object +} + +export default Property diff --git a/src/core/presets/base.js b/src/core/presets/base.js index b6c11f9f..d173336e 100644 --- a/src/core/presets/base.js +++ b/src/core/presets/base.js @@ -53,6 +53,7 @@ import EnumModel from "core/components/enum-model" import ObjectModel from "core/components/object-model" import ArrayModel from "core/components/array-model" import PrimitiveModel from "core/components/primitive-model" +import Property from "core/components/property" import TryItOutButton from "core/components/try-it-out-button" import VersionStamp from "core/components/version-stamp" @@ -107,6 +108,7 @@ export default function() { ObjectModel, ArrayModel, PrimitiveModel, + Property, TryItOutButton, Markdown, BaseLayout,