9767: need to parse the json string of the workflow yaml
[arvados.git] / apps / workbench / app / views / pipeline_instances / _show_compare.html.erb
1 <% pi_span = [(10.0/[@objects.count,1].max).floor,1].max %>
2
3 <div class="headrow pipeline-compare-headrow">
4   <div class="row">
5   <div class="col-sm-2">
6     <%# label %>
7   </div>
8   <% @objects.each do |object| %>
9   <div class="col-sm-<%= pi_span %>" style="overflow-x: hidden; text-overflow: ellipsis;">
10     <%= render :partial => "show_object_button", :locals => {object: object, size: 'sm' } %>
11     <%= object.name || "unnamed #{object.class_for_display.downcase}" %>
12     <br />
13     <span class="deemphasize">Template:</span> <%= link_to_if_arvados_object object.pipeline_template_uuid, friendly_name: true %>
14   </div>
15   <% end %>
16   </div>
17 </div>
18
19 <% @rows.each do |row| %>
20 <div class="row pipeline-compare-row">
21   <div class="col-sm-2">
22     <%= row[:name] %>
23   </div>
24   <% @objects.each_with_index do |_, x| %>
25     <div class="col-sm-<%= pi_span %>">
26       <div class="row">
27         <div class="col-sm-12">
28
29         <% if row[:components][x] %>
30           <% pj = render_pipeline_job row[:components][x] %>
31
32           <%= link_to_if_arvados_object pj[:job_id], {friendly_name: true, with_class_name: true}, {class: 'deemphasize'} %>
33           <br />
34
35           <% %w(script script_version script_parameters output).each do |key| %>
36               <% unless key=='output' and pj[:result] != 'complete' %>
37               <% val = pj[key.to_sym] || pj[:job].andand[key.to_sym] %>
38               <% link_name = case
39                  when !val
40                    val = ''
41                  when key == 'script_version' && val.match(/^[0-9a-f]{7,}$/)
42                    val = val[0..7] # TODO: leave val alone, make link_to handle git commits
43                  when key == 'output'
44                    val.sub! /\+K.*$/, ''
45                    val[0..12]
46                  when key == 'script_parameters'
47                    val = val.keys.sort.join(', ')
48                  end
49                  %>
50               <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>
51               <% end %>
52             <br />
53           <% end %>
54           <% else %>
55           None
56         <% end %>
57         </div>
58       </div>
59     </div>
60   <% end %>
61 </div>
62 <div class="row" style="padding: .5em">
63 </div>
64 <% end %>
65
66