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/app.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/app.html.ep')
-rw-r--r-- | templates/app.html.ep | 190 |
1 files changed, 20 insertions, 170 deletions
diff --git a/templates/app.html.ep b/templates/app.html.ep index e65ada5..e29caef 100644 --- a/templates/app.html.ep +++ b/templates/app.html.ep @@ -6,6 +6,20 @@ % else { <div class="app applight"> % } +<div class="moreinfo collapsed-moreinfo"> + <div class="mheader"> + <div> + <span class="train-line"></span> + <span class="train-no"></span> + </div> + <div> + <span class="train-origin"></span> + → + <span class="train-dest"></span> + </div> + </div> + <div class="mfooter"></div> +</div> <ul> % my $i = 0; % my $dt_now = DateTime->now; @@ -18,13 +32,17 @@ % $via_cur++; % $route_str .= $stop . ($via_cur < $via_max ? ' - ' : q{}); % } + <li + data-train="<%= ($departure->{train_type} // '') %> <%= ($departure->{train_no} // $departure->{train} // '') %>" + data-from="<%= $departure->{origin} // q{???} %>" + data-to="<%= $departure->{destination} // q{???} %>" % my $extraclasses = q{}; % if ($departure->{is_cancelled} or $departure->{departure_is_cancelled}) { % $extraclasses .= ' cancelled'; - <li class="cancelled"> + class="cancelled"> % } % else { - <li> + > % } % my $linetype = 'bahn'; % if ( $departure->{train_type} eq 'S' ) { @@ -71,174 +89,6 @@ % } </div> % } - <div class="moreinfo collapsed-moreinfo" - data-train="<%= ($departure->{train_type} // 'none') . ($departure->{train_no} // 0) %>"> - <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 --> - </div> <!-- moreinfo --> % if ($departure->{info} and length $departure->{info}) { <span class="info"> %= $departure->{info} |