diff options
author | Daniel Friesel <derf@finalrewind.org> | 2019-05-05 01:30:20 +0200 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2019-05-05 01:30:20 +0200 |
commit | 3feabf250947d12e66a238654df43df81fc0d3b2 (patch) | |
tree | 3b7969141fe6923a1d1a9f21fa672e967a2fa45e /templates/_train_details.html.ep | |
parent | 7ee9f881343a9452885c7fd30edbad14150fda42 (diff) |
Move moreinfo to ajax-requested sub-template
This decreases the DOM size and allows for future speed improvements
(the backend no longer needs to precalculate routes etc for all trains)
Diffstat (limited to 'templates/_train_details.html.ep')
-rw-r--r-- | templates/_train_details.html.ep | 165 |
1 files changed, 165 insertions, 0 deletions
diff --git a/templates/_train_details.html.ep b/templates/_train_details.html.ep new file mode 100644 index 0000000..5e904d9 --- /dev/null +++ b/templates/_train_details.html.ep @@ -0,0 +1,165 @@ + <div class="mheader"> + <div> +% if ($departure->{train_no} or $departure->{train_line}) { + <span class="train-line <%= $linetype %>"><%= $departure->{train_type} %> + <%= $departure->{train_line} // $departure->{train_no} %></span> +% if ($departure->{train_line}) { + <span class="train-no"><%= $departure->{train_no} %></span> +% } +% } +% else { + <span class="train-line"><%= $departure->{train} // q{???} %></span> +% } + </div> + <div> +% if ($departure->{origin}) { + <span class="train-origin"><%= $departure->{origin} %></span> + → +% } + <span class="train-dest"><%= $departure->{destination} // q{???} %></span> + </div> +% if ($departure->{is_cancelled}) { + <div class="minfo">Fahrt fällt aus</div> +% } +% elsif (defined $departure->{delay} and $departure->{delay} > 0) { + <div class="minfo">+<%= $departure->{delay} %> +% if ($departure->{departure_is_cancelled}) { + (endet hier) +% } + </div> +% } +% if (@{$departure->{replaced_by}}) { +% for my $replacement (@{$departure->{replaced_by}}) { + <span class="replaced">Ersatzzug: <%= $replacement %></span> +% } +% } +% if (@{$departure->{replacement_for}}) { +% for my $replacement (@{$departure->{replacement_for}}) { + <span class="replacement">Ersatzzug für <%= $replacement %></span> +% } +% } + </div> <!-- mheader --> + <div class="mfooter"> + <div class="platforminfo"> +% if ($departure->{scheduled_platform} or $departure->{platform}) { + Gleis <%= $departure->{scheduled_platform} // $departure->{platform} %> +% } +% if ($departure->{scheduled_platform} and $departure->{platform} +% and $departure->{scheduled_platform} ne $departure->{platform}) { + (heute Gleis <%= $departure->{platform} %>) +% } +% elsif ($departure->{changed_platform}) { + (Gleiswechsel) +% } + </div> <!-- platforminfo --> +% if (not $departure->{is_cancelled}) { + <div class="timeinfo"> +% if ($departure->{sched_arrival}) { + Ankunft: <%= $departure->{sched_arrival} %> +% if ($departure->{arrival} and $departure->{arrival} ne $departure->{sched_arrival}) { + (heute <%= $departure->{arrival} %>) +% } + <br/> +% } +% if ($departure->{sched_departure}) { + Abfahrt: <%= $departure->{sched_departure} %> +% if ($departure->{departure} and $departure->{departure} ne $departure->{sched_departure}) { + (heute <%= $departure->{departure} %>) +% } + <br/> +% } +% if (not ($departure->{sched_arrival} or $departure->{sched_departure})) { + Abfahrt: <%= $departure->{time} %> +% if ($departure->{delay}) { + (heute +<%= $departure->{delay} %>) +% } +% } + </div> <!-- timeinfo --> +% if ($linetype eq 'fern' and $departure->{wr_link}) { + <div class="verbose"> + <a href="/_wr/<%= $departure->{train_no} %>/<%= $departure->{wr_link} %>">Wagenreihung</a> + </div> +% } + +% } +% if ($departure->{route_pre_diff} and $departure->{route_post_diff}) { +% if (@{$departure->{route_pre_diff}}) { + <div class="mroute"> + Von: +% my $first = 0; +% for my $stop (@{$departure->{route_pre_diff}}) { +% if ($first++) { + <span class="separator">–</span> +% } + <a href="/<%= $stop->{name} %>#<%= $departure->{train_type} . $departure->{train_no} %>" class=" +% if ($stop->{isAdditional}) { + additional-stop +% } +% elsif ($stop->{isCancelled}) { + cancelled-stop +% } +% elsif ($self->is_important($stop->{name})) { + important-stop +% } +% else { + generic-stop +% } + "><%= $stop->{name} %></a> +% } + </div> <!-- mroute --> +% } +% if (@{$departure->{route_post_diff}}) { + <div class="mroute"> + Nach: +% my $first = 0; +% for my $stop (@{$departure->{route_post_diff}}) { +% if ($first++) { + <span class="separator">–</span> +% } + <a href="/<%= $stop->{name} %>#<%= $departure->{train_type} . $departure->{train_no} %>" class=" +% if ($stop->{isAdditional}) { + additional-stop +% } +% elsif ($stop->{isCancelled}) { + cancelled-stop +% } +% elsif ($self->is_important($stop->{name})) { + important-stop +% } +% else { + generic-stop +% } + "><%= $stop->{name} %></a> +% } + </div> <!-- mroute --> +% } +% } +% if ($departure->{moreinfo} and @{$departure->{moreinfo}}) { + Meldungen: + <ul> +% for my $pair (@{$departure->{moreinfo}}) { + <li> +% if ($pair->[0]->isa('DateTime')) { +% if ($pair->[0]->day != $dt_now->day) { +% $pair->[0]->set_locale('de_DE'); +%= $pair->[0]->strftime('%a %H:%M') +% } +% else { +%= $pair->[0]->strftime('%H:%M') +% } +% } +% else { +%= $pair->[0] +% } + : + <span class="reason"> +%= $pair->[1] + </span> + </li> +% } +% if ($departure->{route_info}) { + <li><%= $departure->{route_info} %></li> +% } + </ul> +% } + </div> <!-- mfooter --> |