Переглянути джерело

Merge pull request #3295 from owenconti/bug/3136-operation-scheme-update

Bug fix for #3136 - Update state when scheme options change
bubble
shockey 7 роки тому
committed by GitHub
джерело
коміт
4d52c30b53
2 змінених файлів з 12 додано та 8 видалено
  1. +3
    -1
      src/core/components/operation.jsx
  2. +9
    -7
      src/core/components/schemes.jsx

+ 3
- 1
src/core/components/operation.jsx Переглянути файл

@@ -126,6 +126,7 @@ export default class Operation extends PureComponent {
let schemes = operation.get("schemes")
let parameters = getList(operation, ["parameters"])
let operationId = operation.get("__originalOperationId")
let operationScheme = specSelectors.operationScheme(path, method)

const Responses = getComponent("responses")
const Parameters = getComponent( "parameters" )
@@ -211,7 +212,8 @@ export default class Operation extends PureComponent {
<Schemes schemes={ schemes }
path={ path }
method={ method }
specActions={ specActions }/>
specActions={ specActions }
operationScheme={ operationScheme } />
</div> : null
}



+ 9
- 7
src/core/components/schemes.jsx Переглянути файл

@@ -6,7 +6,8 @@ export default class Schemes extends React.Component {
specActions: PropTypes.object.isRequired,
schemes: PropTypes.object.isRequired,
path: PropTypes.string,
method: PropTypes.string
method: PropTypes.string,
operationScheme: PropTypes.string
}

componentWillMount() {
@@ -16,17 +17,18 @@ export default class Schemes extends React.Component {
this.setScheme(schemes.first())
}

onChange =( e ) => {
this.setScheme( e.target.value )
}

componentWillReceiveProps(nextProps) {
if(nextProps.schemes !== this.props.schemes) {
if ( this.props.operationScheme && !nextProps.schemes.has(this.props.operationScheme) ) {
//fire 'change' event if our selected scheme is no longer an option
this.setScheme(nextProps.schemes.first())
}
}

setScheme =( value ) => {
onChange =( e ) => {
this.setScheme( e.target.value )
}

setScheme = ( value ) => {
let { path, method, specActions } = this.props

specActions.setScheme( value, path, method )


Завантаження…
Відмінити
Зберегти