08128a1179fafe4c5209ebefc013e2a02ad64724
[arvados.git] / apps / workbench / app / views / pipeline_instances / compare.html.erb
1 <% content_for :css do %>
2 .notnormal {
3   background: #ffffaa;
4 }
5 .headrow div {
6   padding-top: .5em;
7   padding-bottom: .5em;
8 }
9 .headrow:first-child {
10   border-bottom: 1px solid black;
11 }
12 <% end %>
13
14 <% pi_span = [(10.0/(@objects.count)).floor,1].max %>
15 <div>
16 <% [['Instance', :uuid], ['Template', :pipeline_template_uuid]].each do |label, attr| %>
17 <div class="row headrow">
18   <div class="span2">
19     <%# label %>
20   </div>
21   <% @objects.each do |object| %>
22   <div class="span<%= pi_span %>">
23     <%= render partial: 'application/arvados_attr_value', locals: { obj: object, attr: attr, attrvalue: object.send(attr.to_sym) } %>
24   </div>
25   <% end %>
26 </div>
27 <% end %>
28 </div>
29
30 <% @rows.each do |row| %>
31 <div class="row">
32   <div class="span2">
33     <%= row[:name] %>
34   </div>
35   <% @objects.each_with_index do |_, x| %>
36     <div class="span<%= pi_span %>">
37       <div class="row">
38
39         <% if row[:components][x] %>
40           <% pj = render_pipeline_job row[:components][x] %>
41
42           <div class="span3">
43             <%= link_to_if_arvados_object pj[:job_id], {friendly_name: true, with_class_name: true}, {class: 'deemphasize'} %>
44           </div>
45
46           <% %w(script script_version script_parameters output).each do |key| %>
47             <div class="span3">
48               <% unless key=='output' and pj[:result] != 'complete' %>
49               <% val = pj[key.to_sym] || pj[:job].andand[key.to_sym] %>
50               <% link_name = case
51                  when !val
52                    val = ''
53                  when key == 'script_version' && val.match(/^[0-9a-f]{7,}$/)
54                    val = val[0..7] # TODO: leave val alone, make link_to handle git commits
55                  when key == 'output'
56                    val.sub! /\+K.*$/, ''
57                    val[0..12]
58                  when key == 'script_parameters'
59                    val = val.keys.sort.join(', ')
60                  end
61                  %>
62               <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>
63               <% end %>
64             </div>
65           <% end %>
66           <% else %>
67           None
68         <% end %>
69       </div>
70     </div>
71   <% end %>
72 </div>
73 <div class="row" style="padding: .5em">
74 </div>
75 <% end %>