diff options
| author | Zog | 2018-02-12 15:41:59 +0100 |
|---|---|---|
| committer | Zog | 2018-02-12 15:41:59 +0100 |
| commit | 27c58cb88a576a780857e666b4957f107efd9080 (patch) | |
| tree | bfc09807389401ecbdaa49f3d184cd3389e44bb2 /app/javascript | |
| parent | 59be983ba9e2343d9361ccf31ead62b297c8a623 (diff) | |
| download | chouette-core-27c58cb88a576a780857e666b4957f107efd9080.tar.bz2 | |
Refs #5899 @1h; Use waiting_time in schedules computation5899-use-waiting-time-in-schedules
Diffstat (limited to 'app/javascript')
| -rw-r--r-- | app/javascript/helpers/stop_area_header_manager.js | 6 | ||||
| -rw-r--r-- | app/javascript/vehicle_journeys/actions/index.js | 16 | ||||
| -rw-r--r-- | app/javascript/vehicle_journeys/reducers/vehicleJourneys.js | 25 |
3 files changed, 34 insertions, 13 deletions
diff --git a/app/javascript/helpers/stop_area_header_manager.js b/app/javascript/helpers/stop_area_header_manager.js index 5b18e2f63..1003b2cf6 100644 --- a/app/javascript/helpers/stop_area_header_manager.js +++ b/app/javascript/helpers/stop_area_header_manager.js @@ -15,11 +15,15 @@ export default class StopAreaHeaderManager { let index = this.ids_list.indexOf(object_id) let sp = this.stopPointsList[index] let showHeadline = this.showHeader(object_id) + let title = sp.city_name ? sp.city_name + ' (' + sp.zip_code +')' : "" + if(sp.waiting_time > 0){ + title += " | " + sp.waiting_time_text + } return ( <div className={(showHeadline) ? 'headlined' : ''} data-headline={showHeadline} - title={sp.city_name ? sp.city_name + ' (' + sp.zip_code +')' : ""} + title={title} > <span> <span> diff --git a/app/javascript/vehicle_journeys/actions/index.js b/app/javascript/vehicle_journeys/actions/index.js index 4ca8bd73b..6683dffad 100644 --- a/app/javascript/vehicle_journeys/actions/index.js +++ b/app/javascript/vehicle_journeys/actions/index.js @@ -527,6 +527,22 @@ const actions = { minute: actions.simplePad(newArrivalDT.getUTCMinutes()) } } + }, + addMinutesToTime: (time, minutes) => { + let res = { + hour: time.hour, + minute: time.minute + } + let delta_hour = parseInt(minutes/60) + let delta_minute = minutes - 60*delta_hour + res.hour += delta_hour + res.minute += delta_minute + let extra_hours = parseInt(res.minute/60) + res.hour += extra_hours + res.minute -= extra_hours*60 + res.hour = res.hour % 24 + + return res } } diff --git a/app/javascript/vehicle_journeys/reducers/vehicleJourneys.js b/app/javascript/vehicle_journeys/reducers/vehicleJourneys.js index 1a15ec46d..383dea4a0 100644 --- a/app/javascript/vehicle_journeys/reducers/vehicleJourneys.js +++ b/app/javascript/vehicle_journeys/reducers/vehicleJourneys.js @@ -19,26 +19,17 @@ const vehicleJourney= (state = {}, action, keep) => { current_time.minute = parseInt(action.data["start_time.minute"].value) || 0 } _.each(action.stopPointsList, (sp) =>{ + let inJourney = false if(action.selectedJourneyPattern.full_schedule && action.selectedJourneyPattern.costs && action.selectedJourneyPattern.costs[prevSp.stop_area_id + "-" + sp.stop_area_id]){ let delta = parseInt(action.selectedJourneyPattern.costs[prevSp.stop_area_id + "-" + sp.stop_area_id].time) - let delta_hour = parseInt(delta/60) - let delta_minute = delta - 60*delta_hour - current_time.hour += delta_hour - current_time.minute += delta_minute - let extra_hours = parseInt(current_time.minute/60) - current_time.hour += extra_hours - current_time.minute -= extra_hours*60 - current_time.hour = current_time.hour % 24 + current_time = actions.addMinutesToTime(current_time, delta) prevSp = sp + inJourney = true } let offsetHours = sp.time_zone_offset / 3600 let offsetminutes = sp.time_zone_offset/60 - 60*offsetHours let newVjas = { delta: 0, - departure_time:{ - hour: (24 + current_time.hour + offsetHours) % 24, - minute: current_time.minute + offsetminutes - }, arrival_time:{ hour: (24 + current_time.hour + offsetHours) % 24, minute: current_time.minute + offsetminutes @@ -47,6 +38,16 @@ const vehicleJourney= (state = {}, action, keep) => { stop_area_cityname: sp.city_name, dummy: true } + + if(sp.waiting_time && inJourney){ + current_time = actions.addMinutesToTime(current_time, parseInt(sp.waiting_time)) + } + + newVjas.departure_time = { + hour: (24 + current_time.hour + offsetHours) % 24, + minute: current_time.minute + offsetminutes + } + if(current_time.hour + offsetHours > 24){ newVjas.departure_day_offset = 1 newVjas.arrival_day_offset = 1 |
