diff --git a/src/core/components/array-model.jsx b/src/core/components/array-model.jsx index a68a3562..6f646bb6 100644 --- a/src/core/components/array-model.jsx +++ b/src/core/components/array-model.jsx @@ -7,6 +7,7 @@ export default class ArrayModel extends Component { static propTypes = { schema: PropTypes.object.isRequired, getComponent: PropTypes.func.isRequired, + getConfigs: PropTypes.func.isRequired, specSelectors: PropTypes.object.isRequired, name: PropTypes.string, required: PropTypes.bool, @@ -15,7 +16,7 @@ export default class ArrayModel extends Component { } render(){ - let { getComponent, schema, depth, expandDepth, name } = this.props + let { getComponent, getConfigs, schema, depth, expandDepth, name } = this.props let description = schema.get("description") let items = schema.get("items") let title = schema.get("title") || name @@ -46,7 +47,7 @@ export default class ArrayModel extends Component { !description ? null : } - + ] diff --git a/src/core/components/model-example.jsx b/src/core/components/model-example.jsx index 23d7c802..0927140e 100644 --- a/src/core/components/model-example.jsx +++ b/src/core/components/model-example.jsx @@ -52,6 +52,7 @@ export default class ModelExample extends React.Component { { !isExecute && this.state.activeTab === "model" && diff --git a/src/core/components/model-wrapper.jsx b/src/core/components/model-wrapper.jsx index 280a727f..fa117c2b 100644 --- a/src/core/components/model-wrapper.jsx +++ b/src/core/components/model-wrapper.jsx @@ -6,18 +6,17 @@ export default class ModelComponent extends Component { schema: PropTypes.object.isRequired, name: PropTypes.string, getComponent: PropTypes.func.isRequired, + getConfigs: PropTypes.func.isRequired, specSelectors: PropTypes.object.isRequired, expandDepth: PropTypes.number } render(){ - let { getComponent } = this.props + let { getComponent, getConfigs } = this.props const Model = getComponent("Model") return
- +
} } - - diff --git a/src/core/components/model.jsx b/src/core/components/model.jsx index 3d5de80f..3410e973 100644 --- a/src/core/components/model.jsx +++ b/src/core/components/model.jsx @@ -5,6 +5,7 @@ export default class Model extends PureComponent { static propTypes = { schema: PropTypes.object.isRequired, getComponent: PropTypes.func.isRequired, + getConfigs: PropTypes.func.isRequired, specSelectors: PropTypes.object.isRequired, name: PropTypes.string, isRef: PropTypes.bool, @@ -29,7 +30,7 @@ export default class Model extends PureComponent { } render () { - let { getComponent, specSelectors, schema, required, name, isRef } = this.props + let { getComponent, getConfigs, specSelectors, schema, required, name, isRef } = this.props const ObjectModel = getComponent("ObjectModel") const ArrayModel = getComponent("ArrayModel") const PrimitiveModel = getComponent("PrimitiveModel") @@ -53,6 +54,7 @@ export default class Model extends PureComponent { case "object": return }).toArray() diff --git a/src/core/components/object-model.jsx b/src/core/components/object-model.jsx index 9ab4e99a..50f11c9b 100644 --- a/src/core/components/object-model.jsx +++ b/src/core/components/object-model.jsx @@ -9,6 +9,7 @@ export default class ObjectModel extends Component { static propTypes = { schema: PropTypes.object.isRequired, getComponent: PropTypes.func.isRequired, + getConfigs: PropTypes.func.isRequired, specSelectors: PropTypes.object.isRequired, name: PropTypes.string, isRef: PropTypes.bool, @@ -17,7 +18,7 @@ export default class ObjectModel extends Component { } render(){ - let { schema, name, isRef, getComponent, depth, expandDepth, ...otherProps } = this.props + let { schema, name, isRef, getComponent, getConfigs, depth, expandDepth, ...otherProps } = this.props let { specSelectors } = otherProps let { isOAS3 } = specSelectors @@ -86,6 +87,7 @@ export default class ObjectModel extends Component { @@ -99,6 +101,7 @@ export default class ObjectModel extends Component { @@ -112,6 +115,7 @@ export default class ObjectModel extends Component { {anyOf.map((schema, k) => { return
})} @@ -126,6 +130,7 @@ export default class ObjectModel extends Component { {oneOf.map((schema, k) => { return
})} @@ -140,6 +145,7 @@ export default class ObjectModel extends Component { {not.map((schema, k) => { return
})} diff --git a/src/core/components/operation.jsx b/src/core/components/operation.jsx index e4327872..d8cdde3b 100644 --- a/src/core/components/operation.jsx +++ b/src/core/components/operation.jsx @@ -147,7 +147,7 @@ export default class Operation extends PureComponent { const Schemes = getComponent( "schemes" ) const OperationExt = getComponent( "OperationExt" ) - const { deepLinking } = getConfigs() + const { deepLinking, showExtensions } = getConfigs() const isDeepLinkingEnabled = deepLinking && deepLinking !== "false" @@ -285,7 +285,7 @@ export default class Operation extends PureComponent { fn={fn} /> } - { !extensions.size ? null : + { !showExtensions || !extensions.size ? null : } diff --git a/src/core/components/parameter-row.jsx b/src/core/components/parameter-row.jsx index 909170dd..c286ef71 100644 --- a/src/core/components/parameter-row.jsx +++ b/src/core/components/parameter-row.jsx @@ -73,6 +73,8 @@ export default class ParameterRow extends Component { let { isOAS3 } = specSelectors + const { showExtensions } = getConfigs() + // const onChangeWrapper = (value) => onChange(param, value) const JsonSchemaForm = getComponent("JsonSchemaForm") const ParamBody = getComponent("ParamBody") @@ -116,7 +118,7 @@ export default class ParameterRow extends Component { { isOAS3 && isOAS3() && param.get("deprecated") ? "deprecated": null }
({ param.get("in") })
- { !extensions.size ? null : extensions.map((v, key) => )} + { !showExtensions || !extensions.size ? null : extensions.map((v, key) => )} diff --git a/src/core/components/primitive-model.jsx b/src/core/components/primitive-model.jsx index c14413a9..2a3414d7 100644 --- a/src/core/components/primitive-model.jsx +++ b/src/core/components/primitive-model.jsx @@ -1,5 +1,6 @@ import React, { Component } from "react" import PropTypes from "prop-types" +import { getExtensions } from "core/utils" const propStyle = { color: "#999", fontStyle: "italic" } @@ -7,12 +8,15 @@ export default class Primitive extends Component { static propTypes = { schema: PropTypes.object.isRequired, getComponent: PropTypes.func.isRequired, + getConfigs: PropTypes.func.isRequired, name: PropTypes.string, depth: PropTypes.number } render(){ - let { schema, getComponent, name, depth } = this.props + let { schema, getComponent, getConfigs, name, depth } = this.props + + const { showExtensions } = getConfigs() if(!schema || !schema.get) { // don't render if schema isn't correctly formed @@ -25,7 +29,8 @@ export default class Primitive extends Component { let enumArray = schema.get("enum") let title = schema.get("title") || name let description = schema.get("description") - let properties = schema.filter( ( v, key) => ["enum", "type", "format", "description", "$$ref"].indexOf(key) === -1 ) + let extensions = getExtensions(schema) + let properties = schema.filter( ( v, key) => ["enum", "type", "format", "description", "$$ref"].indexOf(key) === -1 ).filterNot( (v, key) => extensions.has(key) ) const Markdown = getComponent("Markdown") const EnumModel = getComponent("EnumModel") const Property = getComponent("Property") @@ -38,6 +43,9 @@ export default class Primitive extends Component { { properties.size ? properties.entrySeq().map( ( [ key, v ] ) => ) : null } + { + showExtensions && extensions.size ? extensions.entrySeq().map( ( [ key, v ] ) => ) : null + } { !description ? null : diff --git a/src/core/plugins/oas3/wrap-components/model.jsx b/src/core/plugins/oas3/wrap-components/model.jsx index ab554534..ad1fa366 100644 --- a/src/core/plugins/oas3/wrap-components/model.jsx +++ b/src/core/plugins/oas3/wrap-components/model.jsx @@ -8,12 +8,13 @@ class ModelComponent extends Component { schema: PropTypes.object.isRequired, name: PropTypes.string, getComponent: PropTypes.func.isRequired, + getConfigs: PropTypes.func.isRequired, specSelectors: PropTypes.object.isRequired, expandDepth: PropTypes.number } render(){ - let { schema } = this.props + let { getConfigs, schema } = this.props let classes = ["model-box"] let isDeprecated = schema.get("deprecated") === true let message = null @@ -26,6 +27,7 @@ class ModelComponent extends Component { return
{message}