<% content_for :css do %>
.notnormal {
  background: #ffffaa;
}
.headrow div {
  padding-top: .5em;
  padding-bottom: .5em;
}
.headrow:first-child {
  border-bottom: 1px solid black;
}
<% end %>

<% pi_span = [(10.0/[@objects.count,1].max).floor,1].max %>

<div class="headrow">
  <div class="row">
  <div class="col-sm-2">
    <%# label %>
  </div>
  <% @objects.each do |object| %>
  <div class="col-sm-<%= pi_span %>" style="overflow-x: hidden; text-overflow: ellipsis;">
    <%= link_to_if_arvados_object object, friendly_name: true %>
    <br />
    Template: <%= link_to_if_arvados_object object.pipeline_template_uuid, friendly_name: true %>
  </div>
  <% end %>
  </div>
</div>

<% @rows.each do |row| %>
<div class="row">
  <div class="col-sm-2">
    <%= row[:name] %>
  </div>
  <% @objects.each_with_index do |_, x| %>
    <div class="col-sm-<%= pi_span %>">
      <div class="row">
        <div class="col-sm-12">

        <% if row[:components][x] %>
          <% pj = render_pipeline_job row[:components][x] %>

          <%= link_to_if_arvados_object pj[:job_id], {friendly_name: true, with_class_name: true}, {class: 'deemphasize'} %>
          <br />

          <% %w(script script_version script_parameters output).each do |key| %>
              <% unless key=='output' and pj[:result] != 'complete' %>
              <% val = pj[key.to_sym] || pj[:job].andand[key.to_sym] %>
              <% link_name = case
                 when !val
                   val = ''
                 when key == 'script_version' && val.match(/^[0-9a-f]{7,}$/)
                   val = val[0..7] # TODO: leave val alone, make link_to handle git commits
                 when key == 'output'
                   val.sub! /\+K.*$/, ''
                   val[0..12]
                 when key == 'script_parameters'
                   val = val.keys.sort.join(', ')
                 end
                 %>
              <span class="deemphasize"><%= key %>:</span>&nbsp;<span class="<%= 'notnormal' if !pj[:is_normal][key.to_sym] %>"><%= link_to_if_arvados_object val, {friendly_name: true, link_text: link_name} %></span>
              <% end %>
            <br />
          <% end %>
          <% else %>
          None
        <% end %>
        </div>
      </div>
    </div>
  <% end %>
</div>
<div class="row" style="padding: .5em">
</div>
<% end %>