d03f557dcffa14abb5da4726c16b3b6c6b95c31c
[arvados.git] / apps / workbench / app / views / jobs / index.html.erb
1 <% content_for :head do %>
2 <style>
3   table.topalign>tbody>tr>td {
4   vertical-align: top;
5   }
6   table.topalign>thead>tr>td {
7   vertical-align: bottom;
8   }
9 </style>
10 <% end %>
11
12 <table class="topalign table">
13   <thead>
14     <tr class="contain-align-left">
15       <th>
16       </th><th>
17         status
18       </th><th>
19         progress
20       </th><th>
21         uuid
22       </th><th>
23         script
24       </th><th>
25         version
26       </th><th>
27         output
28       </th>
29     </tr>
30   </thead>
31   <tbody>
32
33     <% @jobs.sort_by { |j| j[:created_at] }.reverse.each do |j| %>
34
35     <tr class="cell-noborder">
36       <td>
37         <i class="icon-plus-sign expand-collapse-row" data-id="<%= j.uuid %>" style="cursor: pointer"></i>
38       </td>
39       <td>
40         <% if j.success == false %>
41         <span class="badge badge-warning" title="fail">&#x2716;</span>
42         <% elsif j.success %>
43         <span class="badge badge-success" title="success">&#x2714;</span>
44         <% elsif j.running %>
45         <span class="badge badge-info" title="running">&#x2708;</span>
46         <% else %>
47         <span class="badge" title="queued">&#x2709;</span>
48         <% end %>
49       </td>
50       <td>
51         <% if j.started_at and not j.finished_at %>
52         <% percent_total_tasks = 100 / (j.tasks_summary[:running] + j.tasks_summary[:done] + j.tasks_summary[:todo]) rescue 0 %>
53         <div class="progress" style="margin-bottom: 0">
54           <div class="bar bar-success" style="width: <%= j.tasks_summary[:done] * percent_total_tasks rescue 0 %>%;"></div>
55           <div class="bar" style="width: <%= j.tasks_summary[:running] * percent_total_tasks rescue 0 %>%; opacity: 0.3"></div>
56         </div>
57         <% end %>
58       </td>
59       <td>
60         <%= link_to_if_arvados_object j.uuid %>
61       </td>
62       <td>
63         <%= j.script %>
64       </td>
65       <td>
66         <%= j.script_version.andand[0..8] %>
67       </td>
68       <td>
69         <%= link_to_if_arvados_object j.output %>
70       </td>
71     </tr>
72     <tr class="cell-noborder" id="<%= j.uuid %>" style="display:none">
73       <td colspan="7"><table class="table table-justforlayout"><tr>
74       <td style="border-left: 1px solid black">
75         <table class="table table-condensed">
76           <tr>
77             <td>
78               queued
79             </td>
80             <td>
81               &#x2709;&nbsp;<span title="<%= j.created_at %>"><%= raw distance_of_time_in_words(Time.now, j.created_at).sub('about ','~').sub(' ','&nbsp;') + '&nbsp;ago' if j.created_at %></span>
82             </td>
83             <td>
84               <%= raw('for&nbsp;' + distance_of_time_in_words(j.started_at, j.created_at).sub('about ','~').sub(' ','&nbsp;')) if j.created_at and j.started_at %>
85             </td>
86           </tr>
87           <% if j.started_at.is_a? Time %>
88           <tr>
89             <td>
90               started
91             </td>
92             <td>
93               &#x2708;&nbsp;<span title="<%= j.created_at %>"><%= raw distance_of_time_in_words(j.started_at, Time.now).sub('about ','~').sub(' ','&nbsp;') + '&nbsp;ago' if j.started_at %></span>
94             </td>
95             <td>
96               <% if j.finished_at.is_a? Time %>
97               <%= raw('ran&nbsp;' + distance_of_time_in_words(j.finished_at, j.started_at).sub('about ','~').sub(' ','&nbsp;')) %>
98               <% elsif j.running %>
99               <span class="badge badge-success" title="tasks finished">&#x2714;&nbsp;<%= j.tasks_summary[:done] %></span>
100               <span class="badge badge-info" title="tasks running">&#x2708;&nbsp;<%= j.tasks_summary[:running] %></span>
101               <span class="badge" title="tasks todo">&#x2709;&nbsp;<%= j.tasks_summary[:todo] %></span>
102               <% if j.tasks_summary[:failed] %>
103               <span class="badge badge-warning" title="task failures">&#x2716;&nbsp;<%= j.tasks_summary[:failed] %></span>
104               <% end %>
105               <% end %>
106             </td>
107           </tr>
108           <% end %>
109         </table>
110       </td><td>
111         <table class="table table-condensed">
112           <tr><td colspan="2">
113               <%= j.script %> <%= j.script_version %>
114           </td></tr>
115           <% j.script_parameters.sort.each do |k,v| %>
116           <tr>
117             <td><%= k %></td><td><%= link_to_if_arvados_object v %></td>
118           </tr>
119           <% end %>
120           <tr>
121             <td>output</td><td><%= link_to_if_arvados_object j.output %></td>
122           </tr>
123         </table>
124       </td><td>
125         <table class="table table-condensed">
126         <% j.resource_limits.sort.each do |k,v| %>
127         <tr><td><%= v %></td><td><%= k %></td></tr>
128         <% end %>
129         </table>
130       </td>
131       </tr></table></td>
132     </tr>
133
134     <% end %>
135
136   </tbody>
137 </table>