diff --git a/src/core/components/parameters.jsx b/src/core/components/parameters.jsx
index 5c4e46cd..a1659849 100644
--- a/src/core/components/parameters.jsx
+++ b/src/core/components/parameters.jsx
@@ -7,14 +7,6 @@ const eachMap = (iterable, fn) => iterable.valueSeq().filter(Im.Map.isMap).map(f
export default class Parameters extends Component {
- constructor(props) {
- super(props)
- this.state = {
- callbackVisible: false,
- parametersVisible: true
- }
- }
-
static propTypes = {
parameters: ImPropTypes.list.isRequired,
specActions: PropTypes.object.isRequired,
@@ -56,21 +48,6 @@ export default class Parameters extends Component {
changeConsumesValue(onChangeKey, val)
}
- toggleTab = (tab) => {
- console.log("togggling to tab", tab)
- if(tab === "parameters"){
- return this.setState({
- parametersVisible: true,
- callbackVisible: false
- })
- }else if(tab === "callbacks"){
- return this.setState({
- callbackVisible: true,
- parametersVisible: false
- })
- }
- }
-
render(){
let {
@@ -94,51 +71,38 @@ export default class Parameters extends Component {
return (
-
-
this.toggleTab("parameters")} className={this.state.parametersVisible ? "tab-item active" : "tab-item"}>
-
Parameters
-
-
this.toggleTab("callbacks")} className="tab-item">
-
Callbacks
-
-
+
Parameters
{ allowTryItOut ? (
) : null }
- {this.state.parametersVisible ?
- { !parameters.count() ?
:
-
-
-
-
- | Name |
- Description |
-
-
-
- {
- eachMap(parameters, (parameter) => (
-
- )).toArray()
- }
-
-
-
- }
-
: "" }
-
- {this.state.callbackVisible ?
- covfefe
-
: "" }
+ { !parameters.count() ?
:
+
+
+
+
+ | Name |
+ Description |
+
+
+
+ {
+ eachMap(parameters, (parameter) => (
+
+ )).toArray()
+ }
+
+
+
+ }
)
}
diff --git a/src/core/plugins/oas3/wrap-components/parameters.jsx b/src/core/plugins/oas3/wrap-components/parameters.jsx
index 66b4ca7c..566c4c14 100644
--- a/src/core/plugins/oas3/wrap-components/parameters.jsx
+++ b/src/core/plugins/oas3/wrap-components/parameters.jsx
@@ -1,45 +1,184 @@
-import React from "react"
+import React, { Component, PropTypes } from "react"
import Im, { OrderedMap } from "immutable"
+import ImPropTypes from "react-immutable-proptypes"
import { OAS3ComponentWrapFactory } from "../helpers"
const mapRequestBody = (iterable, fn) => iterable.entries().filter(Im.Map.isMap).map((val) => {
return fn(val.get(0), val.get(1))
})
-export default OAS3ComponentWrapFactory((props) => {
- const { Ori, operation, getComponent, specSelectors } = props
+// More readable, just iterate over maps, only
+const eachMap = (iterable, fn) => iterable.valueSeq().filter(Im.Map.isMap).map(fn)
- const Model = getComponent("model")
+class Parameters extends Component {
- const requestBody = operation.get("requestBody")
- const requestBodyDescription = (requestBody && requestBody.get("description")) || null
- const requestBodyContent = (requestBody && requestBody.get("content")) || new OrderedMap()
- return
-
- {
- requestBody &&
+ constructor(props) {
+ super(props)
+ this.state = {
+ callbackVisible: false,
+ parametersVisible: true
+ }
+ }
+
+ static propTypes = {
+ parameters: ImPropTypes.list.isRequired,
+ specActions: PropTypes.object.isRequired,
+ operation: PropTypes.object.isRequired,
+ getComponent: PropTypes.func.isRequired,
+ specSelectors: PropTypes.object.isRequired,
+ fn: PropTypes.object.isRequired,
+ tryItOutEnabled: PropTypes.bool,
+ allowTryItOut: PropTypes.bool,
+ onTryoutClick: PropTypes.func,
+ onCancelClick: PropTypes.func,
+ onChangeKey: PropTypes.array,
+ pathMethod: PropTypes.array.isRequired
+ }
+
+
+ static defaultProps = {
+ onTryoutClick: Function.prototype,
+ onCancelClick: Function.prototype,
+ tryItOutEnabled: false,
+ allowTryItOut: true,
+ onChangeKey: [],
+ }
+
+ onChange = ( param, value, isXml ) => {
+ let {
+ specActions: { changeParam },
+ onChangeKey,
+ } = this.props
+
+ changeParam( onChangeKey, param.get("name"), value, isXml)
+ }
+
+ onChangeConsumesWrapper = ( val ) => {
+ let {
+ specActions: { changeConsumesValue },
+ onChangeKey
+ } = this.props
+
+ changeConsumesValue(onChangeKey, val)
+ }
+
+ toggleTab = (tab) => {
+ if(tab === "parameters"){
+ return this.setState({
+ parametersVisible: true,
+ callbackVisible: false
+ })
+ }else if(tab === "callbacks"){
+ return this.setState({
+ callbackVisible: true,
+ parametersVisible: false
+ })
+ }
+ }
+
+ render(){
+
+ let {
+ onTryoutClick,
+ onCancelClick,
+ parameters,
+ allowTryItOut,
+ tryItOutEnabled,
+
+ fn,
+ getComponent,
+ specSelectors,
+ pathMethod,
+ operation
+ } = this.props
+
+ const ParameterRow = getComponent("parameterRow")
+ const TryItOutButton = getComponent("TryItOutButton")
+ const Model = getComponent("model")
+
+ const isExecute = tryItOutEnabled && allowTryItOut
+
+ const requestBody = operation.get("requestBody")
+ const requestBodyDescription = (requestBody && requestBody.get("description")) || null
+ const requestBodyContent = (requestBody && requestBody.get("content")) || new OrderedMap()
+
+ return (
-
Request body
+
+
this.toggleTab("parameters")} className={this.state.parametersVisible ? "tab-item active" : "tab-item"}>
+
Parameters
+
+
this.toggleTab("callbacks")} className="tab-item">
+
Callbacks
+
+
+ { allowTryItOut ? (
+
+ ) : null }
-
- { requestBodyDescription &&
-
{requestBodyDescription}
+ {this.state.parametersVisible ?
+ { !parameters.count() ?
:
+
+
+
+
+ | Name |
+ Description |
+
+
+
+ {
+ eachMap(parameters, (parameter) => (
+
+ )).toArray()
+ }
+
+
+
}
- { !requestBodyContent.count() ?
No content
:
- requestBodyContent.map((mediaTypeValue, key) => (
-
-
{key}
-
-
- )).toArray()
- }
-
+
: "" }
+
+ {this.state.callbackVisible ?
+ covfefe
+
: "" }
+ {
+ requestBody &&
+
+
+
Request body
+
+
+ { requestBodyDescription &&
+
{requestBodyDescription}
+ }
+ { !requestBodyContent.count() ?
No content
:
+ requestBodyContent.map((mediaTypeValue, key) => (
+
+
{key}
+
+
+ )).toArray()
+ }
+
+
+ }
- }
-
-})
+ )
+ }
+}
+
+
+export default OAS3ComponentWrapFactory(Parameters)