aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorThomas Haddad2017-05-16 16:28:11 +0200
committerThomas Haddad2017-05-16 16:28:57 +0200
commit34df7a4608cb5ddea8c7fddc63143c921062168c (patch)
treee00d5076d568043a88d7b3f50812bbfb00e4cd4d /app
parent4066aaea24fb1ebdbbe7791089a30fdaf638f2c1 (diff)
downloadchouette-core-34df7a4608cb5ddea8c7fddc63143c921062168c.tar.bz2
Refs #3403: Fix timetables modal now working as expected
Signed-off-by: Thomas Shawarma Haddad <thomas.haddad@af83.com>
Diffstat (limited to 'app')
-rw-r--r--app/assets/javascripts/es6_browserified/vehicle_journeys/actions/index.js7
-rw-r--r--app/assets/javascripts/es6_browserified/vehicle_journeys/components/Tools.js4
-rw-r--r--app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/TimetablesEditVehicleJourney.js (renamed from app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/CalendarsEditVehicleJourney.js)10
-rw-r--r--app/assets/javascripts/es6_browserified/vehicle_journeys/containers/tools/TimetablesEditVehicleJourney.js (renamed from app/assets/javascripts/es6_browserified/vehicle_journeys/containers/tools/CalendarsEditVehicleJourney.js)10
-rw-r--r--app/assets/javascripts/es6_browserified/vehicle_journeys/index.js14
-rw-r--r--app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/modal.js11
-rw-r--r--app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/vehicleJourneys.js5
7 files changed, 26 insertions, 35 deletions
diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/actions/index.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/actions/index.js
index 0e6f5ed12..06f783620 100644
--- a/app/assets/javascripts/es6_browserified/vehicle_journeys/actions/index.js
+++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/actions/index.js
@@ -88,9 +88,10 @@ const actions = {
type : 'DELETE_CALENDAR_MODAL',
timetable
}),
- editVehicleJourneyCalendars : (vehicleJourneys) => ({
- type: 'EDIT_VEHICLEJOURNEYS_CALENDARS',
- vehicleJourneys
+ editVehicleJourneyTimetables : (vehicleJourneys, timetables) => ({
+ type: 'EDIT_VEHICLEJOURNEYS_TIMETABLES',
+ vehicleJourneys,
+ timetables
}),
openShiftModal : () => ({
type : 'SHIFT_VEHICLEJOURNEY_MODAL'
diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/Tools.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/Tools.js
index e486dd155..b417828db 100644
--- a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/Tools.js
+++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/Tools.js
@@ -6,7 +6,7 @@ var ShiftVehicleJourney = require('../containers/tools/ShiftVehicleJourney')
var DuplicateVehicleJourney = require('../containers/tools/DuplicateVehicleJourney')
var EditVehicleJourney = require('../containers/tools/EditVehicleJourney')
var NotesEditVehicleJourney = require('../containers/tools/NotesEditVehicleJourney')
-var CalendarsEditVehicleJourney = require('../containers/tools/CalendarsEditVehicleJourney')
+var TimetablesEditVehicleJourney = require('../containers/tools/TimetablesEditVehicleJourney')
var actions = require('../actions')
const Tools = ({vehicleJourneys, onCancelSelection}) => {
@@ -17,7 +17,7 @@ const Tools = ({vehicleJourneys, onCancelSelection}) => {
<DuplicateVehicleJourney />
<ShiftVehicleJourney />
<EditVehicleJourney />
- <CalendarsEditVehicleJourney />
+ <TimetablesEditVehicleJourney />
<NotesEditVehicleJourney />
<DeleteVehicleJourneys />
</ul>
diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/CalendarsEditVehicleJourney.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/TimetablesEditVehicleJourney.js
index e32c873e6..d6c1179ba 100644
--- a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/CalendarsEditVehicleJourney.js
+++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/tools/TimetablesEditVehicleJourney.js
@@ -4,13 +4,13 @@ var PropTypes = require('react').PropTypes
var actions = require('../../actions')
var TimetableSelect2 = require('./select2s/TimetableSelect2')
-class CalendarsEditVehicleJourney extends Component {
+class TimetablesEditVehicleJourney extends Component {
constructor(props) {
super(props)
}
handleSubmit() {
- this.props.onCalendarsEditVehicleJourney(this.props.modal.modalProps.vehicleJourneys)
+ this.props.onTimetablesEditVehicleJourney(this.props.modal.modalProps.vehicleJourneys, this.props.modal.modalProps.timetables)
this.props.onModalClose()
$('#CalendarsEditVehicleJourneyModal').modal('hide')
}
@@ -134,14 +134,14 @@ class CalendarsEditVehicleJourney extends Component {
}
}
-CalendarsEditVehicleJourney.propTypes = {
+TimetablesEditVehicleJourney.propTypes = {
onOpenCalendarsEditModal: PropTypes.func.isRequired,
onModalClose: PropTypes.func.isRequired,
- onCalendarsEditVehicleJourney: PropTypes.func.isRequired,
+ onTimetablesEditVehicleJourney: PropTypes.func.isRequired,
onDeleteCalendarModal: PropTypes.func.isRequired,
onSelect2Timetable: PropTypes.func.isRequired,
onAddSelectedTimetable: PropTypes.func.isRequired,
filters: PropTypes.object.isRequired
}
-module.exports = CalendarsEditVehicleJourney
+module.exports = TimetablesEditVehicleJourney
diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/containers/tools/CalendarsEditVehicleJourney.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/containers/tools/TimetablesEditVehicleJourney.js
index 130acb017..6d0096019 100644
--- a/app/assets/javascripts/es6_browserified/vehicle_journeys/containers/tools/CalendarsEditVehicleJourney.js
+++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/containers/tools/TimetablesEditVehicleJourney.js
@@ -1,5 +1,5 @@
var connect = require('react-redux').connect
-var CalendarsEditComponent = require('../../components/tools/CalendarsEditVehicleJourney')
+var TimetablesEditComponent = require('../../components/tools/TimetablesEditVehicleJourney')
var actions = require('../../actions')
const mapStateToProps = (state) => {
@@ -22,8 +22,8 @@ const mapDispatchToProps = (dispatch) => {
onDeleteCalendarModal: (timetable) => {
dispatch(actions.deleteCalendarModal(timetable))
},
- onCalendarsEditVehicleJourney: (calendars) =>{
- dispatch(actions.editVehicleJourneyCalendars(calendars))
+ onTimetablesEditVehicleJourney: (vehicleJourneys, timetables) =>{
+ dispatch(actions.editVehicleJourneyTimetables(vehicleJourneys, timetables))
},
onSelect2Timetable: (e) =>{
dispatch(actions.selectTTCalendarsModal(e.params.data))
@@ -34,6 +34,6 @@ const mapDispatchToProps = (dispatch) => {
}
}
-const CalendarsEditVehicleJourney = connect(mapStateToProps, mapDispatchToProps)(CalendarsEditComponent)
+const TimetablesEditVehicleJourney = connect(mapStateToProps, mapDispatchToProps)(TimetablesEditComponent)
-module.exports = CalendarsEditVehicleJourney
+module.exports = TimetablesEditVehicleJourney
diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/index.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/index.js
index 4c9423c1f..3b80df34f 100644
--- a/app/assets/javascripts/es6_browserified/vehicle_journeys/index.js
+++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/index.js
@@ -8,10 +8,10 @@ var actions = require("./actions")
var enableBatching = require('./batch').enableBatching
// logger, DO NOT REMOVE
-// var applyMiddleware = require('redux').applyMiddleware
-// var createLogger = require('redux-logger')
-// var thunkMiddleware = require('redux-thunk').default
-// var promise = require('redux-promise')
+var applyMiddleware = require('redux').applyMiddleware
+var createLogger = require('redux-logger')
+var thunkMiddleware = require('redux-thunk').default
+var promise = require('redux-promise')
var selectedJP = []
@@ -80,12 +80,12 @@ if (window.jpOrigin){
initialState.filters.queryString = actions.encodeParams(params)
}
-// const loggerMiddleware = createLogger()
+const loggerMiddleware = createLogger()
let store = createStore(
enableBatching(vehicleJourneysApp),
- initialState
- // applyMiddleware(thunkMiddleware, promise, loggerMiddleware)
+ initialState,
+ applyMiddleware(thunkMiddleware, promise, loggerMiddleware)
)
render(
diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/modal.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/modal.js
index 3b13ab9de..e504c2531 100644
--- a/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/modal.js
+++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/modal.js
@@ -63,17 +63,6 @@ const modal = (state = {}, action) => {
case 'ADD_SELECTED_TIMETABLE':
if(state.modalProps.selectedTimetable){
newModalProps = JSON.parse(JSON.stringify(state.modalProps))
- newModalProps.vehicleJourneys.map((vj) => {
- let isPresent = false
- vj.time_tables.forEach((tt) =>{
- if (_.isEqual(newModalProps.selectedTimetable.objectid, tt.objectid)){
- isPresent = true
- }
- })
- if (!isPresent){
- vj.time_tables.push(newModalProps.selectedTimetable)
- }
- })
if (!_.find(newModalProps.timetables, newModalProps.selectedTimetable)){
newModalProps.timetables.push(newModalProps.selectedTimetable)
}
diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/vehicleJourneys.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/vehicleJourneys.js
index 2db76deae..d9f99e644 100644
--- a/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/vehicleJourneys.js
+++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/vehicleJourneys.js
@@ -147,13 +147,14 @@ const vehicleJourneys = (state = [], action) => {
return vj
}
})
- case 'EDIT_VEHICLEJOURNEYS_CALENDARS':
+ case 'EDIT_VEHICLEJOURNEYS_TIMETABLES':
+ let newTimetables = JSON.parse(JSON.stringify(action.timetables))
return state.map((vj,i) =>{
if(vj.selected){
let updatedVJ = _.assign({}, vj)
action.vehicleJourneys.map((vjm, j) =>{
if(vj.objectid == vjm.objectid){
- updatedVJ.time_tables = vjm.time_tables
+ updatedVJ.time_tables = newTimetables
}
})
return updatedVJ