aboutsummaryrefslogtreecommitdiffstats
path: root/app/javascript
diff options
context:
space:
mode:
authorZog2018-02-12 15:41:59 +0100
committerZog2018-02-12 15:41:59 +0100
commit27c58cb88a576a780857e666b4957f107efd9080 (patch)
treebfc09807389401ecbdaa49f3d184cd3389e44bb2 /app/javascript
parent59be983ba9e2343d9361ccf31ead62b297c8a623 (diff)
downloadchouette-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.js6
-rw-r--r--app/javascript/vehicle_journeys/actions/index.js16
-rw-r--r--app/javascript/vehicle_journeys/reducers/vehicleJourneys.js25
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