diff options
author | Aaron Parecki <aaron@parecki.com> | 2018-06-21 18:33:32 -0700 |
---|---|---|
committer | Aaron Parecki <aaron@parecki.com> | 2018-06-21 18:33:32 -0700 |
commit | c67f48eb28a8aa3fafa161104fc360babf3ed038 (patch) | |
tree | f3bfbd5680ccd359ef68a3d58ccca7650b920a4e /views | |
parent | 63655f119bf2f0c70d1b563ca69c88a4d0988fb7 (diff) |
set timezone of itinerary legs based on airport location
Diffstat (limited to 'views')
-rw-r--r-- | views/new-itinerary.php | 26 |
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(); |