<% outgoing = Link.where(tail_uuid: @object.uuid) %>
<% incoming = Link.where(head_uuid: @object.uuid) %>

<%
  preload_uuids = []
  preload_head_uuids = []
  outgoing.results.each do |link|
    preload_uuids << link.uuid
    preload_uuids << link.head_uuid
    preload_head_uuids << link.head_uuid
  end
  preload_collections_for_objects preload_uuids
  preload_links_for_objects preload_head_uuids
%>

<% if (outgoing | incoming).any? %>
<table class="table topalign">
  <colgroup>
    <col width="20%" />
    <col width="10%" />
    <col width="10%" />
    <col width="20%" />
    <col width="20%" />
    <col width="20%" />
  </colgroup>
  <thead>
    <tr>
      <th></th>
      <th>link_class</th>
      <th>name</th>
      <th>tail</th>
      <th>head</th>
      <th>properties</th>
    </tr>
  </thead>
  <tbody>
    <% (outgoing | incoming).each do |link| %>
      <tr>
        <td>
          <%= render partial: 'show_object_button', locals: { object: link, size: 'xs' } %>
          <span class="arvados-uuid"><%= link.uuid %></span>
        </td>
        <td><%= link.link_class %></td>
        <td><%= link.name %></td>
        <td><%= link.tail_uuid == object.uuid ? 'this' : (render partial: 'application/arvados_attr_value', locals: { obj: link, attr: "tail_uuid", attrvalue: link.tail_uuid, editable: false }) %></td>
        <td><%= link.head_uuid == object.uuid ? 'this' : (render partial: 'application/arvados_attr_value', locals: { obj: link, attr: "head_uuid", attrvalue: link.head_uuid, editable: false }) %></td>
        <td><%= render partial: 'application/arvados_attr_value', locals: { obj: link, attr: "properties", attrvalue: link.properties, editable: false } %></td>
      </tr>
    <% end %>
  </tbody>
</table>
<% else %>
<span class="deemphasize">
  (No metadata links found)
</span>
<% end %>