From 4bdece6de1a2ae94e0ced0bf8dcd3e89b38697f0 Mon Sep 17 00:00:00 2001 From: Kyle Shockey Date: Thu, 21 Jun 2018 19:46:09 -0700 Subject: [PATCH] normalize usage of ParameterRow `onChange` --- src/core/components/param-body.jsx | 5 ++--- src/core/components/parameter-row.jsx | 9 +++++---- src/core/components/parameters.jsx | 1 + 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/core/components/param-body.jsx b/src/core/components/param-body.jsx index 20de5dc7..31c0ea68 100644 --- a/src/core/components/param-body.jsx +++ b/src/core/components/param-body.jsx @@ -47,10 +47,9 @@ export default class ParamBody extends PureComponent { updateValues = (props) => { let { specSelectors, pathMethod, param, isExecute, consumesValue="" } = props - let parameter = (specSelectors ? specSelectors.parameterWithMetaByIdentity(pathMethod, param) : fromJS({})) || param let isXml = /xml/i.test(consumesValue) let isJson = /json/i.test(consumesValue) - let paramValue = isXml ? parameter.get("value_xml") : parameter.get("value") + let paramValue = isXml ? param.get("value_xml") : param.get("value") if ( paramValue !== undefined ) { let val = !paramValue && isJson ? "{}" : paramValue @@ -79,7 +78,7 @@ export default class ParamBody extends PureComponent { this._onChange(value, isXml) } - _onChange = (val, isXml) => { (this.props.onChange || NOOP)(this.props.param, val, isXml) } + _onChange = (val, isXml) => { (this.props.onChange || NOOP)(val, isXml) } handleOnChange = e => { const {consumesValue} = this.props diff --git a/src/core/components/parameter-row.jsx b/src/core/components/parameter-row.jsx index fe3f9efd..50116db6 100644 --- a/src/core/components/parameter-row.jsx +++ b/src/core/components/parameter-row.jsx @@ -9,6 +9,7 @@ export default class ParameterRow extends Component { static propTypes = { onChange: PropTypes.func.isRequired, param: PropTypes.object.isRequired, + rawParam: PropTypes.object.isRequired, getComponent: PropTypes.func.isRequired, fn: PropTypes.object.isRequired, isExecute: PropTypes.bool, @@ -56,9 +57,9 @@ export default class ParameterRow extends Component { } } - onChangeWrapper = (value) => { - let { onChange, param } = this.props - return onChange(param, value) + onChangeWrapper = (value, isXml) => { + let { onChange, rawParam } = this.props + return onChange(rawParam, value, isXml) } setDefaultValue = () => { @@ -101,7 +102,7 @@ export default class ParameterRow extends Component { param={param} consumes={ specSelectors.operationConsumes(pathMethod) } consumesValue={ specSelectors.contentTypeValues(pathMethod).get("requestContentType") } - onChange={onChange} + onChange={this.onChangeWrapper} onChangeConsumes={onChangeConsumes} isExecute={ isExecute } specSelectors={ specSelectors } diff --git a/src/core/components/parameters.jsx b/src/core/components/parameters.jsx index fa77c4f5..e5ce323b 100644 --- a/src/core/components/parameters.jsx +++ b/src/core/components/parameters.jsx @@ -101,6 +101,7 @@ export default class Parameters extends Component { specPath={specPath.push(i.toString())} getComponent={ getComponent } getConfigs={ getConfigs } + rawParam={ parameter } param={ specSelectors.parameterWithMetaByIdentity(pathMethod, parameter) } key={ `${parameter.get( "in" )}.${parameter.get("name")}` } onChange={ this.onChange }