Commit 4412dc8c authored by Daniel Friesel's avatar Daniel Friesel
Browse files

prepare more detailed traininfo view when offline / on slow network

parent 7a11b136
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -904,6 +904,8 @@ sub handle_request {
					},
					moreinfo         => $moreinfo,
					delay            => $delay,
					route_pre        => [ $result->route_pre ],
					route_post       => [ $result->route_post ],
					additional_stops => [ $result->additional_stops ],
					canceled_stops   => [ $result->canceled_stops ],
					replaced_by      => [
@@ -920,14 +922,12 @@ sub handle_request {
				}
			);
			if ( $self->param('train') ) {
				$departures[-1]{route_pre}      = [ $result->route_pre ];
				$departures[-1]{route_pre_diff} = [
					$self->json_route_diff(
						[ $result->route_pre ],
						[ $result->sched_route_pre ]
					)
				];
				$departures[-1]{route_post}      = [ $result->route_post ];
				$departures[-1]{route_post_diff} = [
					$self->json_route_diff(
						[ $result->route_post ],
+28 −1
Original line number Diff line number Diff line
@@ -11,6 +11,8 @@ function reload_app() {
function dbf_reg_handlers() {
	$('div.app > ul > li').click(function() {
		var trainElem = $(this);
		var routeprev = trainElem.data('routeprev').split('|');
		var routenext = trainElem.data('routenext').split('|');
		$('.moreinfo').each(function() {
			var infoElem = $(this);
			$('.moreinfo .train-line').removeClass('bahn sbahn fern ext').addClass(trainElem.data('linetype'));
@@ -23,10 +25,35 @@ function dbf_reg_handlers() {
			$('.moreinfo .verbose').html('');
			$('.moreinfo .mroute').html('');
			$('.moreinfo ul').html('');
			if (trainElem.data('platform').length > 0) {
				$('.moreinfo .mfooter').append('<div class="platforminfo">Gleis ' + trainElem.data('platform') + '</div>')
			}
			var timebuf = '';
			if (trainElem.data('arrival').length > 0) {
				timebuf += 'Ankunft: ' + trainElem.data('arrival') + '<br/>';
			}
			if (trainElem.data('departure').length > 0) {
				timebuf += 'Abfahrt: ' + trainElem.data('departure');
			}
			$('.moreinfo .mfooter').append('<div class="timeinfo">' + timebuf + '</div>');
			if (trainElem.data('routeprev').length > 0) {
				var routebuf = '';
				for (var key in routeprev) {
					routebuf += '<li>' + routeprev[key] + '</li>';
				}
				$('.moreinfo .mfooter').append('Von: <ul class="mroute">' + routebuf + '</ul>');
			}
			if (trainElem.data('routenext').length > 0) {
				var routebuf = '';
				for (var key in routenext) {
					routebuf += '<li>' + routenext[key] + '</li>';
				}
				$('.moreinfo .mfooter').append('Nach: <ul class="mroute">' + routebuf + '</ul>');
			}
			$.get(window.location.href, {train: trainElem.data('train'), ajax: 1}, function(data) {
				$('.moreinfo').html(data);
			}).fail(function() {
				$('.moreinfo .mfooter').html('Der Zug ist abgefahren (Zug nicht gefunden)');
				$('.moreinfo .mfooter').append('Der Zug ist abgefahren (Zug nicht gefunden)');
			});
			infoElem.removeClass('collapsed-moreinfo');
			infoElem.addClass('expanded-moreinfo');
+1 −3

File changed.

Preview size limit exceeded, changes collapsed.

+5 −0
Original line number Diff line number Diff line
@@ -58,6 +58,11 @@
      data-linetype="<%= $linetype %>"
      data-from="<%= $departure->{origin} // q{???} %>"
      data-to="<%= $departure->{destination} // q{???} %>"
      data-platform="<%= $departure->{scheduled_platform} // $departure->{platform} // '' %>"
      data-arrival="<%= $departure->{sched_arrival} // '' %>"
      data-departure="<%= $departure->{sched_departure} // '' %>"
      data-routeprev="<%= join(q{|}, @{ $departure->{route_pre} // [] } ) %>"
      data-routenext="<%= join(q{|}, @{ $departure->{route_post} // [] } ) %>"
%   my $extraclasses = q{};
%   if ($departure->{is_cancelled} or $departure->{departure_is_cancelled}) {
%     $extraclasses .= ' cancelled';