diff --git a/flavors/swagger-ui-react/README.md b/flavors/swagger-ui-react/README.md index e2c33dd2d80..79756c74920 100644 --- a/flavors/swagger-ui-react/README.md +++ b/flavors/swagger-ui-react/README.md @@ -125,6 +125,18 @@ Controls whether the "Try it out" section should start enabled. The default is f ⚠️ 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. +#### `requestSnippetsEnabled`: PropTypes.bool, + +Enables the request snippet section. When disabled, the legacy curl snippet will be used. The default is false. + +⚠️ 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. + +#### `requestSnippets`: PropTypes.object, + +Configures the request snippet core plugin. See Swagger UI's [Display Configuration](https://github.com/swagger-api/swagger-ui/blob/master/docs/usage/configuration.md#display) 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. diff --git a/flavors/swagger-ui-react/index.jsx b/flavors/swagger-ui-react/index.jsx index 7f0637991c4..ccdec4f72c6 100644 --- a/flavors/swagger-ui-react/index.jsx +++ b/flavors/swagger-ui-react/index.jsx @@ -24,6 +24,8 @@ export default class SwaggerUI extends React.Component { defaultModelExpandDepth: this.props.defaultModelExpandDepth, displayOperationId: this.props.displayOperationId, tryItOutEnabled: this.props.tryItOutEnabled, + requestSnippetsEnabled: this.props.requestSnippetsEnabled, + requestSnippets: this.props.requestSnippets, showMutatedRequest: typeof this.props.showMutatedRequest === "boolean" ? this.props.showMutatedRequest : true, deepLinking: typeof this.props.deepLinking === "boolean" ? this.props.deepLinking : false, showExtensions: this.props.showExtensions, @@ -104,7 +106,9 @@ SwaggerUI.propTypes = { presets: PropTypes.arrayOf(PropTypes.func), deepLinking: PropTypes.bool, showExtensions: PropTypes.bool, - tryItOutEnabled: PropTypes.bool + requestSnippetsEnabled: PropTypes.bool, + requestSnippets: PropTypes.object, + tryItOutEnabled: PropTypes.bool, } SwaggerUI.defaultProps = { @@ -115,4 +119,23 @@ SwaggerUI.defaultProps = { presets: [], deepLinking: false, showExtensions: false, + requestSnippetsEnabled: false, + requestSnippets: { + generators: { + "curl_bash": { + title: "cURL (bash)", + syntax: "bash" + }, + "curl_powershell": { + title: "cURL (PowerShell)", + syntax: "powershell" + }, + "curl_cmd": { + title: "cURL (CMD)", + syntax: "bash" + }, + }, + defaultExpanded: true, + languages: null, // e.g. only show curl bash = ["curl_bash"] + }, }