aboutsummaryrefslogtreecommitdiffstats
path: root/app/assets/javascripts
diff options
context:
space:
mode:
authorjpl2017-01-02 10:38:00 +0100
committerjpl2017-01-02 10:38:00 +0100
commitfb1e0ce929f81dfb8740bcaf18305922367582fc (patch)
tree191adee27107a1c55c738cba176d273e3243d210 /app/assets/javascripts
parent496fc5a81e26c4b55abe649bfc7dfda5eb6ea9a7 (diff)
downloadchouette-core-fb1e0ce929f81dfb8740bcaf18305922367582fc.tar.bz2
Refs #2206: refactoring modal state for create/edit distinction
Diffstat (limited to 'app/assets/javascripts')
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/actions/index.js3
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/components/CreateModal.js5
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/components/EditModal.js4
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/containers/AddJourneyPattern.js6
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/index.js3
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/reducers/modal.js16
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: