import React from "react" import PropTypes from "prop-types" import { fromJS } from "immutable" import { defaultStatusCode } from "core/utils" export default class Responses extends React.Component { static propTypes = { request: PropTypes.object, tryItOutResponse: PropTypes.object, responses: PropTypes.object.isRequired, produces: PropTypes.object, producesValue: PropTypes.any, getComponent: PropTypes.func.isRequired, specSelectors: PropTypes.object.isRequired, specActions: PropTypes.object.isRequired, pathMethod: PropTypes.array.isRequired, displayRequestDuration: PropTypes.bool.isRequired, fn: PropTypes.object.isRequired } static defaultProps = { request: null, tryItOutResponse: null, produces: fromJS(["application/json"]), displayRequestDuration: false } onChangeProducesWrapper = ( val ) => this.props.specActions.changeProducesValue(this.props.pathMethod, val) render() { let { responses, request, tryItOutResponse, getComponent, specSelectors, fn, producesValue, displayRequestDuration } = this.props let defaultCode = defaultStatusCode( responses ) const ContentType = getComponent( "contentType" ) const LiveResponse = getComponent( "liveResponse" ) const Response = getComponent( "response" ) let produces = this.props.produces && this.props.produces.size ? this.props.produces : Responses.defaultProps.produces return (

Responses

{ !tryItOutResponse ? null :

Responses

} { responses.entrySeq().map( ([code, response]) => { let className = tryItOutResponse && tryItOutResponse.get("status") == code ? "response_current" : "" return ( ) }).toArray() }
Code Description
) } }