aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZakaria BOUZIANE2014-07-29 10:40:50 +0200
committerZakaria BOUZIANE2014-07-29 10:40:50 +0200
commit9d1fe609029098d1c2ae40980b133923cd890cf2 (patch)
tree3aea779f5eac9dad76e735acd028321fbaee13e7
parent711131fca3dadf9989debd5d5dce2f28d549786c (diff)
downloadchouette-core-9d1fe609029098d1c2ae40980b133923cd890cf2.tar.bz2
Vehicle Journey Slide to a different starting departure time
-rw-r--r--app/assets/javascripts/vehicle_journey.js.coffee30
-rw-r--r--app/assets/stylesheets/main/vehicle_journeys.css.scss6
-rw-r--r--app/views/vehicle_journeys/_form.html.erb10
-rw-r--r--config/locales/vehicle_journeys.yml2
4 files changed, 47 insertions, 1 deletions
diff --git a/app/assets/javascripts/vehicle_journey.js.coffee b/app/assets/javascripts/vehicle_journey.js.coffee
index 94c45602c..df15d79ba 100644
--- a/app/assets/javascripts/vehicle_journey.js.coffee
+++ b/app/assets/javascripts/vehicle_journey.js.coffee
@@ -31,4 +31,34 @@ jQuery ->
$('a.vehicle_journey_time_tables .switcher').toggle()
$('.vehicle_journeys.show a.vehicle_journey_time_tables').click(switch_time_tables)
+
+ convert = (val) ->
+ if (val < 10)
+ return "0" + val.toString()
+ else
+ return val.toString()
+ slide_to = ( col, duration) ->
+ rows = $('.vehicle_journeys tbody.journey_pattern_dependent_list .time')
+ for row in rows
+ do (row) ->
+ oldHour = parseInt($(row).find( col).find('.hour')[0].value, 10)
+ oldMinute = parseInt($(row).find( col).find('.minute')[0].value, 10)
+ aTime = (((oldHour - 1) * 60) + oldMinute + duration) * 60000
+ newValue = new Date(aTime)
+ $(row).find( col).find('.hour')[0].value = convert(newValue.getHours())
+ $(row).find( col).find('.minute')[0].value = convert(newValue.getMinutes())
+
+ slide = (event) ->
+ event.preventDefault()
+ # hour = $(".vehicle_journeys .date option[selected='selected']")[0].value
+ hour = $(".vehicle_journeys .date select#date_hour")[0].value
+ # minute = $(".vehicle_journeys .date option[selected='selected']")[1].value
+ minute = $(".vehicle_journeys .date select#date_minute")[0].value
+ departure_hour = $(".stop_times .journey_pattern_dependent_list .hour option[selected='selected']")[1].value
+ departure_minute = $(".stop_times .journey_pattern_dependent_list .minute option[selected='selected']")[1].value
+ duration = (hour - departure_hour) * 60 + (minute - departure_minute)
+ slide_to( '.departure_time', duration)
+ slide_to( '.arrival_time', duration)
+
+ $(document).on("click", '.vehicle_journeys a.slide', slide)
diff --git a/app/assets/stylesheets/main/vehicle_journeys.css.scss b/app/assets/stylesheets/main/vehicle_journeys.css.scss
index 0a2fce05a..52a9978e0 100644
--- a/app/assets/stylesheets/main/vehicle_journeys.css.scss
+++ b/app/assets/stylesheets/main/vehicle_journeys.css.scss
@@ -11,7 +11,7 @@
tr.no_stop { display: none; }
}
.time_table_list { padding-left: 25%; }
- .vehicle_journey_at_stops { margin-left: 25%; }
+ .vehicle_journey_at_stops { margin-left: 20%; }
}
#workspace.vehicle_journeys.index
@@ -38,6 +38,10 @@
.to_arrivals {
cursor: pointer;
}
+
+ .slide {
+ cursor: pointer;
+ }
}
#workspace.vehicle_journeys.show
diff --git a/app/views/vehicle_journeys/_form.html.erb b/app/views/vehicle_journeys/_form.html.erb
index f512754b2..e29d3cc92 100644
--- a/app/views/vehicle_journeys/_form.html.erb
+++ b/app/views/vehicle_journeys/_form.html.erb
@@ -19,6 +19,14 @@
<th class="hour title"><%= t('.arrival') %></th>
<th class="stop title" ><%= t('.stop_title') %></th>
<th class="hour title"><%= t('.departure') %></th>
+ <% unless @vehicle_journey.vehicle_journey_at_stops.empty? ||
+ @vehicle_journey.vehicle_journey_at_stops.any? { |vjas| vjas.departure_time.nil? } %>
+ <th class="date">
+ <%= select_hour(@vehicle_journey.vehicle_journey_at_stops.first.departure_time.hour, :class => "hour") %>
+ <%= select_minute(@vehicle_journey.vehicle_journey_at_stops.first.departure_time.min, :class => "minute") %>
+ </th>
+ <th class="title"> <a class="slide"><%= t('.slide') %></a></th>
+ <% end %>
</tr>
</thead>
<tfoot>
@@ -26,6 +34,8 @@
<td class="title"> <a class="to_departures"><%= t('.to_departures') %></a></td>
<td class="title" ></td>
<td class="title"><a class="to_arrivals"><%= t('.to_arrivals') %></a></td>
+ <td></td>
+ <td></td>
</tr>
</tfoot>
<tbody class="journey_pattern_dependent_list">
diff --git a/config/locales/vehicle_journeys.yml b/config/locales/vehicle_journeys.yml
index 9e8ee4e0f..c8c46cc40 100644
--- a/config/locales/vehicle_journeys.yml
+++ b/config/locales/vehicle_journeys.yml
@@ -21,6 +21,7 @@ en:
to_arrivals: "Copy departures to arrivals"
to_departures: "Copy arrivals to departures"
time_tables: "Associated calendars to vehicle journey"
+ slide: "Slide"
timeless:
title: "Timeless vehicle journeys"
vehicle_journeys: "Vehicle journeys with times at stop"
@@ -110,6 +111,7 @@ fr:
to_arrivals: "Copie départs vers arrivées"
to_departures: "Copie arrivées vers départs"
time_tables: "Calendriers associés à la course"
+ slide: "Décaler"
timeless:
title: "Courses sans horaire"
vehicle_journeys: "Courses ayant des horaires"