diff options
| author | Thomas Haddad | 2017-02-15 18:08:27 +0100 |
|---|---|---|
| committer | Thomas Haddad | 2017-02-15 18:08:27 +0100 |
| commit | 8db5541b1f01a2e1c9b7be8d5e40a7f9b62b801d (patch) | |
| tree | 9eb7e46ff1b59888339baa4ffb9e833ff448e022 | |
| parent | 9bdb5ef953b43138244b4215a342d4b607b8d463 (diff) | |
| download | chouette-core-8db5541b1f01a2e1c9b7be8d5e40a7f9b62b801d.tar.bz2 | |
Refs #2521: Fix vjas arrival and departure_time processed without moment
Signed-off-by: Thomas Shawarma Haddad <thomas.haddad@af83.com>
5 files changed, 34 insertions, 19 deletions
diff --git a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/VehicleJourney.js b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/VehicleJourney.js index f86ce57a7..b723158dd 100644 --- a/app/assets/javascripts/es6_browserified/vehicle_journeys/components/VehicleJourney.js +++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/components/VehicleJourney.js @@ -46,16 +46,16 @@ class VehicleJourney extends Component { type='number' min='00' max='23' - onBlur={(e) => {this.props.onUpdateTime(e, i, this.props.index, 'hour', false, false)}} - defaultValue={moment(vj.arrival_time).utc().hours()} + onChange={(e) => {this.props.onUpdateTime(e, i, this.props.index, 'hour', false, false)}} + value={vj.arrival_time['hour']} /> <span>:</span> <input type='number' min='00' max='59' - onBlur={(e) => {this.props.onUpdateTime(e, i, this.props.index, 'minute', false, false)}} - defaultValue={moment(vj.arrival_time).utc().minutes()} + onChange={(e) => {this.props.onUpdateTime(e, i, this.props.index, 'minute', false, false)}} + value={vj.arrival_time['minute']} /> </span> } @@ -64,16 +64,16 @@ class VehicleJourney extends Component { type='number' min='00' max='23' - onBlur={(e) => {e.preventDefault(); this.props.onUpdateTime(e, i, this.props.index, 'hour', true, this.props.filters.toggleArrivals)}} - defaultValue={moment(vj.departure_time).utc().hours()} + onChange={(e) => {this.props.onUpdateTime(e, i, this.props.index, 'hour', true, this.props.filters.toggleArrivals)}} + value={vj.departure_time['hour']} /> <span>:</span> <input type='number' min='00' max='59' - onBlur={(e) => {e.preventDefault(); this.props.onUpdateTime(e, i, this.props.index, "minute", true, this.props.filters.toggleArrivals)}} - defaultValue={moment(vj.departure_time).utc().minutes()} + onChange={(e) => {this.props.onUpdateTime(e, i, this.props.index, "minute", true, this.props.filters.toggleArrivals)}} + value={vj.departure_time['minute']} /> </span> </li> 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 e16caeae9..b48ac33b3 100644 --- a/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/vehicleJourneys.js +++ b/app/assets/javascripts/es6_browserified/vehicle_journeys/reducers/vehicleJourneys.js @@ -3,16 +3,21 @@ var actions = require("../actions") const vehicleJourney= (state = {}, action) => { switch (action.type) { case 'UPDATE_TIME': - let vj, vjas, vjasArray + let vj, vjas, vjasArray, newSchedule vjasArray = state.vehicle_journey_at_stops.map((vjas, i) =>{ if(i == action.subIndex){ + newSchedule = { + departure_time: Object.assign({}, vjas.departure_time), + arrival_time: Object.assign({}, vjas.arrival_time) + } if (action.isDeparture){ - let newSchedule = {departure_time: moment(state.vehicle_journey_at_stops[action.subIndex].departure_time).set(action.timeUnit, action.val).format()} + newSchedule.departure_time[action.timeUnit] = action.val if(!action.isArrivalsToggled) - newSchedule.arrival_time = moment(state.vehicle_journey_at_stops[action.subIndex].arrival_time).set(action.timeUnit, action.val).format() + newSchedule.arrival_time[action.timeUnit] = action.val return Object.assign({}, state.vehicle_journey_at_stops[action.subIndex], newSchedule) }else{ - return Object.assign({}, state.vehicle_journey_at_stops[action.subIndex], {arrival_time: moment(state.vehicle_journey_at_stops[action.subIndex].arrival_time).set(action.timeUnit, action.val).format()}) + newSchedule.arrival_time[action.timeUnit] = action.val + return Object.assign({}, state.vehicle_journey_at_stops[action.subIndex], {arrival_time: newArr}) } }else{ return vjas diff --git a/package.json b/package.json index 3f389793e..5bc8bbab1 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,6 @@ "babelify": "7.3.0", "browserify": "13.1.1", "browserify-incremental": "3.1.1", - "moment": "^2.17.1", "react": "15.3.2", "react-dom": "15.3.2", "react-redux": "4.4.5", diff --git a/spec/javascripts/spec_helper.js b/spec/javascripts/spec_helper.js index 321ba3525..a0285cccf 100644 --- a/spec/javascripts/spec_helper.js +++ b/spec/javascripts/spec_helper.js @@ -6,7 +6,6 @@ // require support/your-support-file //= require jquery //= require bootstrap-sass-official -//= require moment require('es6-object-assign').polyfill(); // // PhantomJS (Teaspoons default driver) doesn't have support for Function.prototype.bind, which has caused confusion. diff --git a/spec/javascripts/vehicle_journeys/reducers/vehicle_journeys_spec.js b/spec/javascripts/vehicle_journeys/reducers/vehicle_journeys_spec.js index ee075a203..5540caf02 100644 --- a/spec/javascripts/vehicle_journeys/reducers/vehicle_journeys_spec.js +++ b/spec/javascripts/vehicle_journeys/reducers/vehicle_journeys_spec.js @@ -13,8 +13,14 @@ let fakeFootnotes = [{ let fakeTimeTables = [] let fakeVJAS = [{ - arrival_time : "2000-01-01T00:00:00+01:00", - departure_time : "2000-01-01T00:00:00+01:00", + arrival_time : { + hour: '11', + minute: '11' + }, + departure_time : { + hour: '22', + minute: '22' + }, stop_area_object_id : "FR:92024:ZDE:420553:STIF" }] @@ -59,10 +65,16 @@ describe('vehicleJourneys reducer', () => { }) it('should handle UPDATE_TIME', () => { - const val = 33, subIndex = 0, index = 0, timeUnit = 'minute', isDeparture = true, isArrivalsToggled = true + const val = '33', subIndex = 0, index = 0, timeUnit = 'minute', isDeparture = true, isArrivalsToggled = true let newVJAS = [{ - arrival_time : "2000-01-01T00:00:00+01:00", - departure_time : "2000-01-01T00:33:00+01:00", + arrival_time : { + hour: '11', + minute: '11' + }, + departure_time : { + hour: '22', + minute: '33' + }, stop_area_object_id : "FR:92024:ZDE:420553:STIF" }] let newVJ = Object.assign({}, state[0], {vehicle_journey_at_stops: newVJAS}) |
