Skip to content

Commit

Permalink
Tmkasun ft/5367 support passing presets and default models expand dep…
Browse files Browse the repository at this point in the history
…th (#6275)

* feat(swagger-ui-react): support for presets and defaultModelsExpandDepth


Co-authored-by: Kasun Thennakoon <tmkasun@gmail.com>
  • Loading branch information
tim-lai and tmkasun committed Jul 29, 2020
1 parent b99ebe7 commit aebfcc0
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 3 deletions.
6 changes: 6 additions & 0 deletions flavors/swagger-ui-react/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,12 @@ If set to `true`, uses the mutated request returned from a requestInterceptor to

⚠️ This prop is currently only applied once, on mount. Changes to this prop's value will not be propagated to the underlying Swagger UI instance. A future version of this module will remove this limitation, and the change will not be considered a breaking change.

#### `presets`: PropTypes.arrayOf(PropTypes.func),

An array of functions that augment and modify Swagger UI's functionality. See Swagger UI's [Plugin API](https://github.com/swagger-api/swagger-ui/blob/master/docs/customization/plugin-api.md) for more details.

⚠️ This prop is currently only applied once, on mount. Changes to this prop's value will not be propagated to the underlying Swagger UI instance. A future version of this module will remove this limitation, and the change will not be considered a breaking change.

## Limitations

* Not all configuration bindings are available.
Expand Down
11 changes: 8 additions & 3 deletions flavors/swagger-ui-react/index.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import React from "react"
import PropTypes from "prop-types"
import swaggerUIConstructor from "./swagger-ui"

import swaggerUIConstructor, {presets} from "./swagger-ui"
export default class SwaggerUI extends React.Component {
constructor (props) {
super(props)
Expand All @@ -14,6 +13,8 @@ export default class SwaggerUI extends React.Component {
plugins: this.props.plugins,
spec: this.props.spec,
url: this.props.url,
defaultModelsExpandDepth: this.props.defaultModelsExpandDepth,
presets: [presets.apis,...this.props.presets],
requestInterceptor: this.requestInterceptor,
responseInterceptor: this.responseInterceptor,
onComplete: this.onComplete,
Expand Down Expand Up @@ -90,12 +91,16 @@ SwaggerUI.propTypes = {
supportedSubmitMethods: PropTypes.arrayOf(
PropTypes.oneOf(['get', 'put', 'post', 'delete', 'options', 'head', 'patch', 'trace'])
),
defaultModelExpandDepth: PropTypes.number,
plugins: PropTypes.arrayOf(PropTypes.object),
displayOperationId: PropTypes.bool,
showMutatedRequest: PropTypes.bool,
defaultModelExpandDepth: PropTypes.number,
presets: PropTypes.arrayOf(PropTypes.func),
}

SwaggerUI.defaultProps = {
supportedSubmitMethods: ['get', 'put', 'post', 'delete', 'options', 'head', 'patch', 'trace'],
docExpansion: "list",
defaultModelsExpandDepth: 1,
presets: []
}

0 comments on commit aebfcc0

Please sign in to comment.