提交 296f73aa 编写于 作者: P Peter Mooney 提交者: kyle shockey

feat(swagger-ui-react): `defaultModelExpandDepth` and `plugins` props (#5594)

* Add plugins as React prop

* Add defaultModelExpandDepth as React prop

* Add documentation re: defaultModelExpandDepth and plugins props

* Fetched latest and rebased on that

* add on-mount-only warning messages to new options
Co-authored-by: NTodd Lemoine <43755148+tlemoine-jama@users.noreply.github.com>
Co-authored-by: Nkyle shockey <kyleshockey@gmail.com>
上级 87dfc8da
......@@ -71,6 +71,18 @@ Controls the default expansion setting for the operations and tags. It can be 'l
⚠️ 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.
#### `defaultModelExpandDepth`: PropTypes.number
The default expansion depth for models (set to -1 completely hide the models).
⚠️ 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.
#### `plugins`: PropTypes.arrayOf(PropTypes.object),
An array of objects 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.
......
......@@ -11,12 +11,14 @@ export default class SwaggerUI extends React.Component {
componentDidMount() {
const ui = swaggerUIConstructor({
plugins: this.props.plugins,
spec: this.props.spec,
url: this.props.url,
requestInterceptor: this.requestInterceptor,
responseInterceptor: this.responseInterceptor,
onComplete: this.onComplete,
docExpansion: this.props.docExpansion,
defaultModelExpandDepth: this.props.defaultModelExpandDepth,
})
this.system = ui
......@@ -82,4 +84,6 @@ SwaggerUI.propTypes = {
responseInterceptor: PropTypes.func,
onComplete: PropTypes.func,
docExpansion: PropTypes.oneOf(['list', 'full', 'none']),
defaultModelExpandDepth: PropTypes.number,
plugins: PropTypes.arrayOf(PropTypes.object),
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册