aboutsummaryrefslogtreecommitdiffstats
path: root/app/assets/javascripts
diff options
context:
space:
mode:
authorThomas Haddad2017-01-03 14:40:49 +0100
committerThomas Haddad2017-01-03 14:40:49 +0100
commit7acfa52be2f41f0ccf94f892252fed0bffc0aa1a (patch)
tree100dfc7e64aad2fdeab9114e4b74c09bfa94b61a /app/assets/javascripts
parentce223962fd2600916ede138d891cd61277165b77 (diff)
downloadchouette-core-7acfa52be2f41f0ccf94f892252fed0bffc0aa1a.tar.bz2
Refs #2206: fix addJourneyPattern and provide stop_points
Signed-off-by: Thomas Shawarma Haddad <thomas.haddad@af83.com>
Diffstat (limited to 'app/assets/javascripts')
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/actions/index.js5
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/components/CreateModal.js4
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/containers/AddJourneyPattern.js4
-rw-r--r--app/assets/javascripts/es6_browserified/journey_patterns/reducers/journeyPatterns.js50
4 files changed, 36 insertions, 27 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 79f58b16b..0342b5df1 100644
--- a/app/assets/javascripts/es6_browserified/journey_patterns/actions/index.js
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/actions/index.js
@@ -45,6 +45,11 @@ const actions = {
data,
index
}),
+ addJourneyPattern : (index, data) => ({
+ type: 'ADD_JOURNEYPATTERN',
+ data,
+ index
+ }),
savePage : (dispatch, currentPage) => ({
type: 'SAVE_PAGE',
dispatch
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 f22b28fe8..963a33284 100644
--- a/app/assets/javascripts/es6_browserified/journey_patterns/components/CreateModal.js
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/components/CreateModal.js
@@ -8,7 +8,7 @@ class CreateModal extends Component {
}
handleSubmit(e) {
e.preventDefault()
- this.props.saveModal((this.props.journeyPatterns.length + 1), this.refs)
+ this.props.onAddJourneyPattern((this.props.journeyPatterns.length + 1), this.refs)
}
render() {
@@ -99,7 +99,7 @@ CreateModal.propTypes = {
modal: PropTypes.object,
onOpenCreateModal: PropTypes.func.isRequired,
onModalClose: PropTypes.func.isRequired,
- saveModal: PropTypes.func.isRequired
+ addJourneyPattern: PropTypes.func.isRequired
}
module.exports = CreateModal
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 0a743b2be..a4c5c09c9 100644
--- a/app/assets/javascripts/es6_browserified/journey_patterns/containers/AddJourneyPattern.js
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/containers/AddJourneyPattern.js
@@ -14,8 +14,8 @@ const mapDispatchToProps = (dispatch) => {
onModalClose: () =>{
dispatch(actions.closeModal())
},
- saveModal: (index, data) =>{
- dispatch(actions.saveModal(index, data))
+ onAddJourneyPattern: (index, data) =>{
+ dispatch(actions.addJourneyPattern(index, data))
},
onOpenCreateModal: () =>{
dispatch(actions.openCreateModal())
diff --git a/app/assets/javascripts/es6_browserified/journey_patterns/reducers/journeyPatterns.js b/app/assets/javascripts/es6_browserified/journey_patterns/reducers/journeyPatterns.js
index 8bd4c1142..68346b242 100644
--- a/app/assets/javascripts/es6_browserified/journey_patterns/reducers/journeyPatterns.js
+++ b/app/assets/javascripts/es6_browserified/journey_patterns/reducers/journeyPatterns.js
@@ -2,6 +2,18 @@ var actions = require("../actions")
const journeyPattern = (state = {}, action) => {
switch (action.type) {
+ case 'ADD_JOURNEYPATTERN':
+ const stop_points = state[0].stop_points.map((s)=>{
+ s.checked = false
+ return s
+ })
+ return {
+ name: action.data.name.value,
+ published_name: action.data.published_name.value,
+ registration_number: action.data.registration_number.value,
+ stop_points: stop_points,
+ deletable: false
+ }
case 'UPDATE_CHECKBOX_VALUE':
var updatedStopPoints = state.stop_points.map((s) => {
if (s.id.toString() == action.id) {
@@ -48,31 +60,23 @@ const journeyPatterns = (state = {}, action) => {
return j
}
})
+ case 'ADD_JOURNEYPATTERN':
+ return [
+ ...state,
+ journeyPattern(state, action)
+ ]
case 'SAVE_MODAL':
- if(action.index > 12) {
- // Save new item
- const newJourneyPattern = {
- name: action.data.name.value,
- published_name: action.data.published_name.value,
- registration_number: action.data.registration_number.value,
- stop_points: [],
- deletable: false
+ return state.map((j, i) =>{
+ if(i == action.index) {
+ return Object.assign({}, j, {
+ name: action.data.name.value,
+ published_name: action.data.published_name.value,
+ registration_number: action.data.registration_number.value
+ })
+ } else {
+ return j
}
- return state.concat(newJourneyPattern)
- } else {
- // Save existing item
- return state.map((j, i) =>{
- if(i == action.index) {
- return Object.assign({}, j, {
- name: action.data.name.value,
- published_name: action.data.published_name.value,
- registration_number: action.data.registration_number.value
- })
- } else {
- return j
- }
- })
- }
+ })
case 'SAVE_PAGE':
actions.submitJourneyPattern(action.dispatch, state)
default: