Loading lib/Travelynx.pm +51 −2 Original line number Diff line number Diff line Loading @@ -399,7 +399,7 @@ sub startup { sched_departure => $train->sched_departure, real_departure => $train->departure, route => $json->encode( [ map { [$_] } $train->route ] [ $self->route_diff($train) ] ), messages => $json->encode( [ Loading Loading @@ -636,7 +636,7 @@ sub startup { real_arrival => $train->arrival, cancelled => $train->arrival_is_cancelled ? 1 : 0, route => $json->encode( [ map { [$_] } $train->route ] ), $json->encode( [ $self->route_diff($train) ] ), messages => $json->encode( [ map { [ $_->[0]->epoch, $_->[1] ] } Loading Loading @@ -1574,6 +1574,55 @@ sub startup { } ); $self->helper( 'route_diff' => sub { my ( $self, $train ) = @_; my @json_route; my @route = $train->route; my @sched_route = $train->sched_route; say "real is " . join( " - ", @route ); say "sched is " . join( " - ", @sched_route ); my $route_idx = 0; my $sched_idx = 0; while ( $route_idx <= $#route and $sched_idx <= $#sched_route ) { if ( $route[$route_idx] eq $sched_route[$sched_idx] ) { push( @json_route, [ $route[$route_idx], {}, undef ] ); $route_idx++; $sched_idx++; } # this branch is inefficient, but won't be taken frequently elsif ( not( grep { $_ eq $route[$route_idx] } @sched_route ) ) { push( @json_route, [ $route[$route_idx], {}, 'additional' ], ); $route_idx++; } else { push( @json_route, [ $sched_route[$sched_idx], {}, 'cancelled' ], ); $sched_idx++; } } while ( $route_idx <= $#route ) { push( @json_route, [ $route[$route_idx], {}, 'additional' ], ); $route_idx++; } while ( $sched_idx <= $#sched_route ) { push( @json_route, [ $sched_route[$sched_idx], {}, 'cancelled' ], ); $sched_idx++; } return @json_route; } ); $self->helper( 'get_dbdb_station_p' => sub { my ( $self, $ds100 ) = @_; Loading lib/Travelynx/Command/work.pm +2 −2 Original line number Diff line number Diff line Loading @@ -56,7 +56,7 @@ sub run { dep_platform => $train->platform, real_departure => $train->departure, route => $json->encode( [ map { [$_] } $train->route ] ), $json->encode( [ $self->app->route_diff($train) ] ), messages => $json->encode( [ map { [ $_->[0]->epoch, $_->[1] ] } Loading Loading @@ -103,7 +103,7 @@ sub run { sched_arrival => $train->sched_arrival, real_arrival => $train->arrival, route => $json->encode( [ map { [$_] } $train->route ] ), $json->encode( [ $self->app->route_diff($train) ] ), messages => $json->encode( [ map { [ $_->[0]->epoch, $_->[1] ] } Loading templates/_checked_in.html.ep +14 −2 Original line number Diff line number Diff line Loading @@ -200,9 +200,15 @@ <tbody> % for my $station (@{$journey->{route_after}}) { <tr><td><a class="action-checkout" data-station="<%= $station->[0] %>"><%= $station->[0] %> % if ($station->[1]{rt_arr}) { % if ($station->[2] and $station->[2] eq 'cancelled') { <span style="float: right;">entfällt</span> % } % elsif ($station->[1]{rt_arr}) { <span style="float: right;"><%= $station->[1]{rt_arr}->strftime('%H:%M') %></span> % } % elsif ($station->[2] and $station->[2] eq 'additional') { <span style="float: right;">Zusatzhalt</span> % } </a></td></tr> % } </tbody> Loading Loading @@ -247,9 +253,15 @@ % for my $station (@{$journey->{route_after}}) { % my $is_dest = ($journey->{arr_name} and $station->[0] eq $journey->{arr_name}); <tr><td><a style="<%= $is_dest? 'font-weight: bold;' : '' %>" class="action-checkout" data-station="<%= $station->[0] %>"><%= $station->[0] %> % if ($station->[1]{rt_arr}) { % if ($station->[2] and $station->[2] eq 'cancelled') { <span style="float: right;">entfällt</span> % } % elsif ($station->[1]{rt_arr}) { <span style="float: right;"><%= $station->[1]{rt_arr}->strftime('%H:%M') %></span> % } % elsif ($station->[2] and $station->[2] eq 'additional') { <span style="float: right;">Zusatzhalt</span> % } </a></td></tr> % } </tbody> Loading Loading
lib/Travelynx.pm +51 −2 Original line number Diff line number Diff line Loading @@ -399,7 +399,7 @@ sub startup { sched_departure => $train->sched_departure, real_departure => $train->departure, route => $json->encode( [ map { [$_] } $train->route ] [ $self->route_diff($train) ] ), messages => $json->encode( [ Loading Loading @@ -636,7 +636,7 @@ sub startup { real_arrival => $train->arrival, cancelled => $train->arrival_is_cancelled ? 1 : 0, route => $json->encode( [ map { [$_] } $train->route ] ), $json->encode( [ $self->route_diff($train) ] ), messages => $json->encode( [ map { [ $_->[0]->epoch, $_->[1] ] } Loading Loading @@ -1574,6 +1574,55 @@ sub startup { } ); $self->helper( 'route_diff' => sub { my ( $self, $train ) = @_; my @json_route; my @route = $train->route; my @sched_route = $train->sched_route; say "real is " . join( " - ", @route ); say "sched is " . join( " - ", @sched_route ); my $route_idx = 0; my $sched_idx = 0; while ( $route_idx <= $#route and $sched_idx <= $#sched_route ) { if ( $route[$route_idx] eq $sched_route[$sched_idx] ) { push( @json_route, [ $route[$route_idx], {}, undef ] ); $route_idx++; $sched_idx++; } # this branch is inefficient, but won't be taken frequently elsif ( not( grep { $_ eq $route[$route_idx] } @sched_route ) ) { push( @json_route, [ $route[$route_idx], {}, 'additional' ], ); $route_idx++; } else { push( @json_route, [ $sched_route[$sched_idx], {}, 'cancelled' ], ); $sched_idx++; } } while ( $route_idx <= $#route ) { push( @json_route, [ $route[$route_idx], {}, 'additional' ], ); $route_idx++; } while ( $sched_idx <= $#sched_route ) { push( @json_route, [ $sched_route[$sched_idx], {}, 'cancelled' ], ); $sched_idx++; } return @json_route; } ); $self->helper( 'get_dbdb_station_p' => sub { my ( $self, $ds100 ) = @_; Loading
lib/Travelynx/Command/work.pm +2 −2 Original line number Diff line number Diff line Loading @@ -56,7 +56,7 @@ sub run { dep_platform => $train->platform, real_departure => $train->departure, route => $json->encode( [ map { [$_] } $train->route ] ), $json->encode( [ $self->app->route_diff($train) ] ), messages => $json->encode( [ map { [ $_->[0]->epoch, $_->[1] ] } Loading Loading @@ -103,7 +103,7 @@ sub run { sched_arrival => $train->sched_arrival, real_arrival => $train->arrival, route => $json->encode( [ map { [$_] } $train->route ] ), $json->encode( [ $self->app->route_diff($train) ] ), messages => $json->encode( [ map { [ $_->[0]->epoch, $_->[1] ] } Loading
templates/_checked_in.html.ep +14 −2 Original line number Diff line number Diff line Loading @@ -200,9 +200,15 @@ <tbody> % for my $station (@{$journey->{route_after}}) { <tr><td><a class="action-checkout" data-station="<%= $station->[0] %>"><%= $station->[0] %> % if ($station->[1]{rt_arr}) { % if ($station->[2] and $station->[2] eq 'cancelled') { <span style="float: right;">entfällt</span> % } % elsif ($station->[1]{rt_arr}) { <span style="float: right;"><%= $station->[1]{rt_arr}->strftime('%H:%M') %></span> % } % elsif ($station->[2] and $station->[2] eq 'additional') { <span style="float: right;">Zusatzhalt</span> % } </a></td></tr> % } </tbody> Loading Loading @@ -247,9 +253,15 @@ % for my $station (@{$journey->{route_after}}) { % my $is_dest = ($journey->{arr_name} and $station->[0] eq $journey->{arr_name}); <tr><td><a style="<%= $is_dest? 'font-weight: bold;' : '' %>" class="action-checkout" data-station="<%= $station->[0] %>"><%= $station->[0] %> % if ($station->[1]{rt_arr}) { % if ($station->[2] and $station->[2] eq 'cancelled') { <span style="float: right;">entfällt</span> % } % elsif ($station->[1]{rt_arr}) { <span style="float: right;"><%= $station->[1]{rt_arr}->strftime('%H:%M') %></span> % } % elsif ($station->[2] and $station->[2] eq 'additional') { <span style="float: right;">Zusatzhalt</span> % } </a></td></tr> % } </tbody> Loading