diff options
| author | Zog | 2018-01-10 15:21:42 +0100 | 
|---|---|---|
| committer | Zog | 2018-01-12 15:40:14 +0100 | 
| commit | 853c7494b908c8b9dea3b91332ab1265aa40f428 (patch) | |
| tree | f83ec9a891c407b1a7ebefcf57e22588370817f7 /app/javascript/journey_patterns | |
| parent | 907e0300cc2ff77df67171642c7cc5579a34163a (diff) | |
| download | chouette-core-853c7494b908c8b9dea3b91332ab1265aa40f428.tar.bz2 | |
Refs #5529 @0.5h; Prevent double submitting of react forms
Diffstat (limited to 'app/javascript/journey_patterns')
| -rw-r--r-- | app/javascript/journey_patterns/components/SaveJourneyPattern.js | 17 | 
1 files changed, 15 insertions, 2 deletions
| diff --git a/app/javascript/journey_patterns/components/SaveJourneyPattern.js b/app/javascript/journey_patterns/components/SaveJourneyPattern.js index 7e4492e0e..d973147a0 100644 --- a/app/javascript/journey_patterns/components/SaveJourneyPattern.js +++ b/app/javascript/journey_patterns/components/SaveJourneyPattern.js @@ -7,6 +7,18 @@ export default class SaveJourneyPattern extends Component {      super(props)    } +  btnDisabled(){ +    return !this.props.status.fetchSuccess || this.props.status.isFetching +  } + +  btnClass(){ +    let className = ['btn btn-default'] +    if(this.btnDisabled()){ +      className.push('disabled') +    } +    return className.join(' ') +  } +    render() {      if(this.props.status.policy['journey_patterns.update'] == false) {        return false @@ -16,8 +28,9 @@ export default class SaveJourneyPattern extends Component {            <div className='col-lg-12 text-right'>              <form className='jp_collection formSubmitr ml-xs' onSubmit={e => {e.preventDefault()}}>                <button -                className='btn btn-default' +                className={this.btnClass()}                  type='button' +                disabled={this.btnDisabled()}                  onClick={e => {                    e.preventDefault()                    this.props.editMode ? this.props.onSubmitJourneyPattern(this.props.dispatch, this.props.journeyPatterns) : this.props.onEnterEditMode() @@ -37,4 +50,4 @@ SaveJourneyPattern.propTypes = {    journeyPatterns: PropTypes.array.isRequired,    status: PropTypes.object.isRequired,    page: PropTypes.number.isRequired -}
\ No newline at end of file +} | 
