summaryrefslogtreecommitdiff
path: root/views
diff options
context:
space:
mode:
authorAaron Parecki <aaron@parecki.com>2018-06-21 18:33:32 -0700
committerAaron Parecki <aaron@parecki.com>2018-06-21 18:33:32 -0700
commitc67f48eb28a8aa3fafa161104fc360babf3ed038 (patch)
treef3bfbd5680ccd359ef68a3d58ccca7650b920a4e /views
parent63655f119bf2f0c70d1b563ca69c88a4d0988fb7 (diff)
set timezone of itinerary legs based on airport location
Diffstat (limited to 'views')
-rw-r--r--views/new-itinerary.php26
1 files changed, 24 insertions, 2 deletions
diff --git a/views/new-itinerary.php b/views/new-itinerary.php
index c3176f9..14deb65 100644
--- a/views/new-itinerary.php
+++ b/views/new-itinerary.php
@@ -44,7 +44,7 @@
<div class="form-group leg-departure">
<input type="text" class="form-control leg-departure-date date" style="max-width:160px; float:left; margin-right: 4px;" value="">
<input type="text" class="form-control leg-departure-time time" style="max-width:85px; float:left; margin-right: 4px;" value="">
- <input type="text" class="form-control leg-departure-tz tz" style="max-width:75px;" value="">
+ <span><input type="text" class="form-control leg-departure-tz tz" style="max-width:75px;" value=""></span>
</div>
</div>
</div>
@@ -58,7 +58,7 @@
<div class="form-group leg-arrival">
<input type="text" class="form-control leg-arrival-date date" style="max-width:160px; float:left; margin-right: 4px;" value="">
<input type="text" class="form-control leg-arrival-time time" style="max-width:85px; float:left; margin-right: 4px;" value="">
- <input type="text" class="form-control leg-arrival-tz tz" style="max-width:75px;" value="">
+ <span><input type="text" class="form-control leg-arrival-tz tz" style="max-width:75px;" value=""></span>
</div>
</div>
</div>
@@ -127,6 +127,27 @@ $(function(){
});
}
+ function timezone_for_airport(code, callback) {
+ $.getJSON("/airport-info?code="+code, function(data){
+ callback(data.offset);
+ });
+ }
+
+ function bind_leg_timezone() {
+ $(".itinerary-leg .leg-origin").unbind("change").change(function(el){
+ timezone_for_airport($(this).val(), function(offset){
+ $(el.target).parents(".itinerary-leg").find(".leg-departure-tz").val(offset);
+ $(el.target).parents(".itinerary-leg").find(".leg-departure-tz").parent().addClass("has-success");
+ });
+ });
+ $(".itinerary-leg .leg-destination").unbind("change").change(function(el){
+ timezone_for_airport($(this).val(), function(offset){
+ $(el.target).parents(".itinerary-leg").find(".leg-arrival-tz").val(offset);
+ $(el.target).parents(".itinerary-leg").find(".leg-arrival-tz").parent().addClass("has-success");
+ });
+ });
+ }
+
function add_leg() {
$("#itinerary-legs-container").append($("#leg-template").html());
@@ -152,6 +173,7 @@ $(function(){
*/
bind_leg_x();
+ bind_leg_timezone();
}
add_leg();