Current section

Files

Jump to
gtfs_realtime_viz lib templates diff.eex
Raw

lib/templates/diff.eex

<%= for {{{comment_base, by_stop_base}, {comment_diff, by_stop_diff}}, i} <- Enum.with_index(@vehicle_archive) do %>
<% {trip_update_base, trip_update_diff} = Enum.at(@trip_update_archive, i) %>
<div id="viz-<%= i %>" class="viz-tool viz-hidden">
<div class="viz-comment"><%= comment_base %> / <%= comment_diff %></div>
<h2>Routes</h2>
<%= for {route_name, stops} <- @routes do %>
<h3><%= route_name %></h3>
<table class="viz-ladder">
<tr>
<th>Trips</th>
<th class="viz-position viz-position-header">Position</th>
<th>Station</th>
<th class="viz-position viz-position-header">Position</th>
<th>Trips</th>
</tr>
<%= for {stop_name, stop_id_0, stop_id_1} <- stops do %>
<% stop_id_0 = {stop_id_0, 0} %>
<% stop_id_1 = {stop_id_1, 1} %>
<% vs0_base = by_stop_base[stop_id_0] || [] %>
<% vs1_base = by_stop_base[stop_id_1] || [] %>
<% base_trips_0 = trip_update_base[stop_id_0] || [] %>
<% base_trips_1 = trip_update_base[stop_id_1] || [] %>
<% vs0_diff = by_stop_diff[stop_id_0] || [] %>
<% vs1_diff = by_stop_diff[stop_id_1] || [] %>
<% diff_trips_0 = trip_update_diff[stop_id_0] || [] %>
<% diff_trips_1 = trip_update_diff[stop_id_1] || [] %>
<tr>
<td>
<%= for {base_prediction, diff_prediction} <- format_time_diff(base_trips_0, diff_trips_0) do %>
<%= if base_prediction do %>
πŸš‚ <%= base_prediction %><br>
<% end %>
<%= if diff_prediction do %>
πŸ‘» <%= diff_prediction %><br>
<% end %>
<% end %>
</td>
<td>
<div class="viz-position">
<div class="viz-position-train viz-align-right"><%= trainify_diff(vs0_base, vs0_diff, :IN_TRANSIT_TO, "πŸš‚", "πŸ‘»") %></div>
<div class="viz-position-label viz-align-left">↓ In Transit</div>
</div>
<div class="viz-position">
<div class="viz-position-train viz-align-right"><%= trainify_diff(vs0_base, vs0_diff, :INCOMING_AT, "πŸš‚", "πŸ‘»") %></div>
<div class="viz-position-label viz-align-left">↓ Incoming</div>
</div>
<div class="viz-position">
<div class="viz-position-train viz-align-right"><%= trainify_diff(vs0_base, vs0_diff, :STOPPED_AT, "πŸš‚", "πŸ‘»") %></div>
<div class="viz-position-label viz-align-left">↓ Stopped At</div>
</div>
</td>
<td>
<em><%= stop_name %></em>
</td>
<td>
<div class="viz-position">
<div class="viz-position-label viz-align-right">Stopped At ↑</div>
<div class="viz-position-train viz-align-left"><%= trainify_diff(vs1_base, vs1_diff, :STOPPED_AT, "πŸš‚", "πŸ‘»") %></div>
</div>
<div class="viz-position">
<div class="viz-position-label viz-align-right">Incoming ↑</div>
<div class="viz-position-train viz-align-left"><%= trainify_diff(vs1_base, vs1_diff, :INCOMING_AT, "πŸš‚", "πŸ‘»") %></div>
</div>
<div class="viz-position">
<div class="viz-position-label viz-align-right">In Transit ↑</div>
<div class="viz-position-train viz-align-left"><%= trainify_diff(vs1_base, vs1_diff, :IN_TRANSIT_TO, "πŸš‚", "πŸ‘»") %></div>
</div>
</td>
<td>
<%= for {base_prediction, diff_prediction} <- format_time_diff(base_trips_1, diff_trips_1) do %>
<%= if base_prediction do %>
πŸš‚ <%= base_prediction %><br>
<% end %>
<%= if diff_prediction do %>
πŸ‘» <%= diff_prediction %><br>
<% end %>
<% end %>
</td>
</tr>
<% end %>
</table>
<% end %>
</div>
<% end %>