diff options
| author | jpl | 2017-01-02 10:38:00 +0100 |
|---|---|---|
| committer | jpl | 2017-01-02 10:38:00 +0100 |
| commit | fb1e0ce929f81dfb8740bcaf18305922367582fc (patch) | |
| tree | 191adee27107a1c55c738cba176d273e3243d210 /app/assets/javascripts | |
| parent | 496fc5a81e26c4b55abe649bfc7dfda5eb6ea9a7 (diff) | |
| download | chouette-core-fb1e0ce929f81dfb8740bcaf18305922367582fc.tar.bz2 | |
Refs #2206: refactoring modal state for create/edit distinction
Diffstat (limited to 'app/assets/javascripts')
6 files changed, 26 insertions, 11 deletions
diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/actions/index.js b/app/assets/javascripts/es6_browserified/journey_patterns/actions/index.js index a9e7c41bd..79f58b16b 100644 --- a/app/assets/javascripts/es6_browserified/journey_patterns/actions/index.js +++ b/app/assets/javascripts/es6_browserified/journey_patterns/actions/index.js @@ -29,6 +29,9 @@ const actions = { index, journeyPattern }), + openCreateModal : () => ({ + type : 'CREATE_JOURNEYPATTERN_MODAL' + }), deleteJourneyPattern : (index, journeyPattern) => ({ type : 'DELETE_JOURNEYPATTERN', index, diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/components/CreateModal.js b/app/assets/javascripts/es6_browserified/journey_patterns/components/CreateModal.js index b07686a33..53e63d6b6 100644 --- a/app/assets/javascripts/es6_browserified/journey_patterns/components/CreateModal.js +++ b/app/assets/javascripts/es6_browserified/journey_patterns/components/CreateModal.js @@ -19,10 +19,12 @@ class CreateModal extends Component { className='btn btn-primary btn-sm' data-toggle='modal' data-target='#NewJourneyPatternModal' + onClick={this.props.onOpenCreateModal} > <span className='fa fa-plus'></span> Ajouter une mission </button> - <div className={ (this.props.modal.open ? 'in' : '') + ' modal fade' } id='NewJourneyPatternModal'> + + <div className={ (this.props.modal.create ? 'in' : '') + ' modal fade' } id='NewJourneyPatternModal'> <div className='modal-dialog'> <div className='modal-content'> <div className='modal-header clearfix'> @@ -60,6 +62,7 @@ class CreateModal extends Component { CreateModal.propTypes = { index: PropTypes.number, modal: PropTypes.object, + onOpenCreateModal: PropTypes.func.isRequired, onModalClose: PropTypes.func.isRequired, saveModal: PropTypes.func.isRequired } diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/components/EditModal.js b/app/assets/javascripts/es6_browserified/journey_patterns/components/EditModal.js index a63263f90..7ad46bbc2 100644 --- a/app/assets/javascripts/es6_browserified/journey_patterns/components/EditModal.js +++ b/app/assets/javascripts/es6_browserified/journey_patterns/components/EditModal.js @@ -13,7 +13,7 @@ class EditModal extends Component { render() { return ( - <div className={ (this.props.modal.open ? 'in' : '') + ' modal fade' } id='JourneyPatternModal'> + <div className={ (this.props.modal.edit ? 'in' : '') + ' modal fade' } id='JourneyPatternModal'> <div className='modal-dialog'> <div className='modal-content'> <div className='modal-header clearfix'> @@ -51,7 +51,7 @@ class EditModal extends Component { </div> </div> <div className='modal-body'> - {this.props.modal.open && ( + {this.props.modal.edit && ( <form> <div className='form-group'> <label>Nom</label> diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/containers/AddJourneyPattern.js b/app/assets/javascripts/es6_browserified/journey_patterns/containers/AddJourneyPattern.js index ed7502e73..0a743b2be 100644 --- a/app/assets/javascripts/es6_browserified/journey_patterns/containers/AddJourneyPattern.js +++ b/app/assets/javascripts/es6_browserified/journey_patterns/containers/AddJourneyPattern.js @@ -16,10 +16,10 @@ const mapDispatchToProps = (dispatch) => { }, saveModal: (index, data) =>{ dispatch(actions.saveModal(index, data)) + }, + onOpenCreateModal: () =>{ + dispatch(actions.openCreateModal()) } - // onOpenCreateModal: (index, journeyPattern) =>{ - // dispatch(actions.openCreateModal(index, journeyPattern)) - // } } } diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/index.js b/app/assets/javascripts/es6_browserified/journey_patterns/index.js index 86e9e1c35..9ac5425b7 100644 --- a/app/assets/javascripts/es6_browserified/journey_patterns/index.js +++ b/app/assets/javascripts/es6_browserified/journey_patterns/index.js @@ -16,7 +16,8 @@ var initialState = { pagination: 1, totalCount: window.journeyPatternLength, modal: { - open: false, + edit: false, + create: false, modalProps: {} } } diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/reducers/modal.js b/app/assets/javascripts/es6_browserified/journey_patterns/reducers/modal.js index c6156c72c..044b1d4e4 100644 --- a/app/assets/javascripts/es6_browserified/journey_patterns/reducers/modal.js +++ b/app/assets/javascripts/es6_browserified/journey_patterns/reducers/modal.js @@ -2,19 +2,27 @@ const modal = (state = {}, action) => { switch (action.type) { case 'EDIT_JOURNEYPATTERN_MODAL': return { - open: true, + edit: true, + create: false, modalProps: { index: action.index, journeyPattern: action.journeyPattern } } + case 'CREATE_JOURNEYPATTERN_MODAL': + return { + create: true, + edit: false, + modalProps: {} + } case 'DELETE_JOURNEYPATTERN': - return Object.assign({}, state, { open: false }) + return Object.assign({}, state, { edit: false, create: false }) case 'SAVE_MODAL': - return Object.assign({}, state, { open: false }) + return Object.assign({}, state, { edit: false, create: false }) case 'CLOSE_MODAL': return { - open: false, + edit: false, + create: false, modalProps: {} } default: |
