<% 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> <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 %>