Merge pull request #3861 from thompsongl/ft/property-component
Add Property display component
This commit is contained in:
@@ -24,6 +24,7 @@ export default class ArrayModel extends Component {
|
|||||||
const Markdown = getComponent("Markdown")
|
const Markdown = getComponent("Markdown")
|
||||||
const ModelCollapse = getComponent("ModelCollapse")
|
const ModelCollapse = getComponent("ModelCollapse")
|
||||||
const Model = getComponent("Model")
|
const Model = getComponent("Model")
|
||||||
|
const Property = getComponent("Property")
|
||||||
|
|
||||||
const titleEl = title &&
|
const titleEl = title &&
|
||||||
<span className="model-title">
|
<span className="model-title">
|
||||||
@@ -39,9 +40,7 @@ export default class ArrayModel extends Component {
|
|||||||
<ModelCollapse title={titleEl} collapsed={ depth > expandDepth } collapsedContent="[...]">
|
<ModelCollapse title={titleEl} collapsed={ depth > expandDepth } collapsedContent="[...]">
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
properties.size ? properties.entrySeq().map( ( [ key, v ] ) => <span key={`${key}-${v}`} style={ propStyle }>
|
properties.size ? properties.entrySeq().map( ( [ key, v ] ) => <Property key={`${key}-${v}`} propKey={ key } propVal={ v } propStyle={ propStyle } />) : null
|
||||||
<br />{ key }: { String(v) }</span>)
|
|
||||||
: null
|
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
!description ? null :
|
!description ? null :
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ export default class Primitive extends Component {
|
|||||||
let properties = schema.filter( ( v, key) => ["enum", "type", "format", "description", "$$ref"].indexOf(key) === -1 )
|
let properties = schema.filter( ( v, key) => ["enum", "type", "format", "description", "$$ref"].indexOf(key) === -1 )
|
||||||
const Markdown = getComponent("Markdown")
|
const Markdown = getComponent("Markdown")
|
||||||
const EnumModel = getComponent("EnumModel")
|
const EnumModel = getComponent("EnumModel")
|
||||||
|
const Property = getComponent("Property")
|
||||||
|
|
||||||
return <span className="model">
|
return <span className="model">
|
||||||
<span className="prop">
|
<span className="prop">
|
||||||
@@ -35,9 +36,7 @@ export default class Primitive extends Component {
|
|||||||
<span className="prop-type">{ type }</span>
|
<span className="prop-type">{ type }</span>
|
||||||
{ format && <span className="prop-format">(${format})</span>}
|
{ format && <span className="prop-format">(${format})</span>}
|
||||||
{
|
{
|
||||||
properties.size ? properties.entrySeq().map( ( [ key, v ] ) => <span key={`${key}-${v}`} style={ propStyle }>
|
properties.size ? properties.entrySeq().map( ( [ key, v ] ) => <Property key={`${key}-${v}`} propKey={ key } propVal={ v } propStyle={ propStyle } />) : null
|
||||||
<br />{ key }: { String(v) }</span>)
|
|
||||||
: null
|
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
!description ? null :
|
!description ? null :
|
||||||
|
|||||||
16
src/core/components/property.jsx
Normal file
16
src/core/components/property.jsx
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
import React from "react"
|
||||||
|
import PropTypes from "prop-types"
|
||||||
|
|
||||||
|
export const Property = ({ propKey, propVal, propStyle }) => {
|
||||||
|
return (
|
||||||
|
<span style={ propStyle }>
|
||||||
|
<br />{ propKey }: { String(propVal) }</span>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
Property.propTypes = {
|
||||||
|
propKey: PropTypes.string,
|
||||||
|
propVal: PropTypes.any,
|
||||||
|
propStyle: PropTypes.object
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Property
|
||||||
@@ -53,6 +53,7 @@ import EnumModel from "core/components/enum-model"
|
|||||||
import ObjectModel from "core/components/object-model"
|
import ObjectModel from "core/components/object-model"
|
||||||
import ArrayModel from "core/components/array-model"
|
import ArrayModel from "core/components/array-model"
|
||||||
import PrimitiveModel from "core/components/primitive-model"
|
import PrimitiveModel from "core/components/primitive-model"
|
||||||
|
import Property from "core/components/property"
|
||||||
import TryItOutButton from "core/components/try-it-out-button"
|
import TryItOutButton from "core/components/try-it-out-button"
|
||||||
import VersionStamp from "core/components/version-stamp"
|
import VersionStamp from "core/components/version-stamp"
|
||||||
|
|
||||||
@@ -107,6 +108,7 @@ export default function() {
|
|||||||
ObjectModel,
|
ObjectModel,
|
||||||
ArrayModel,
|
ArrayModel,
|
||||||
PrimitiveModel,
|
PrimitiveModel,
|
||||||
|
Property,
|
||||||
TryItOutButton,
|
TryItOutButton,
|
||||||
Markdown,
|
Markdown,
|
||||||
BaseLayout,
|
BaseLayout,
|
||||||
|
|||||||
Reference in New Issue
Block a user