sanger/limber

View on GitHub
app/views/labware/_relatives_list.html.erb

Summary

Maintainability
Test Coverage
<%# locals: (presenter:) %>
<%
  valid_parents = presenter.labware.parents&.filter{ |parent| parent.purpose.present? } || []
  valid_children = presenter.labware.children&.filter{ |child| child.purpose.present? } || []
%>
<div id="relatives-information" class="list-group list-group-flush">

  <div class="list-group-item">
    <strong>Parents</strong>
    <%= content_tag :span, valid_parents.size, class: "badge badge-pill badge-secondary" %>
  </div>

  <div id="parents-list" class="border-bottom">
    <% if valid_parents %>
      <%= render partial: 'labware/parent_labware_item', collection: valid_parents, as: :labware %>
    <% else %>
      <div class="list-group-item text-muted">No parents found</div>
    <% end %>
  </div>

  <div class="list-group-item">
    <strong>Children</strong>
    <%= content_tag :span, valid_children.size, class: "badge badge-pill badge-secondary" %>
  </div>

  <div id="children-list" class="rounded-bottom">
    <% if valid_children %>
      <%= render partial: 'labware/child_labware_item', collection: valid_children, as: :labware, locals: { presenter: presenter, open_in_new_window: true } %>
    <% else %>
      <div class="list-group-item text-muted">No children found</div>
    <% end %>
  </div>

</div>