closes #5365
[arvados.git] / apps / workbench / app / views / application / _content.html.erb
1 <% content_for :tab_panes do %>
2
3   <% comparable = controller.respond_to? :compare %>
4
5   <ul class="nav nav-tabs" data-tab-counts-url="<%= url_for(action: :tab_counts) rescue '' %>">
6     <% pane_list.each_with_index do |pane, i| %>
7       <% pane_name = (pane.is_a?(Hash) ? pane[:name] : pane) %>
8
9       <% data_toggle = "tab" %>
10       <% tab_tooltip = "" %>
11       <% link_disabled = "" %>
12
13       <% if (pane_name == "Log") and !(ArvadosBase.find(@object.owner_uuid).writable_by.include?(current_user.andand.uuid) rescue nil)
14           if controller.model_class.to_s == 'Job'
15             if @object.log and !@object.log.empty?
16               logCollection = Collection.find? @object.log
17               if !logCollection
18                 data_toggle = "disabled"
19                 tab_tooltip = "Log data is not available"
20                 link_disabled = "disabled"
21               end
22             end
23           elsif controller.model_class.to_s == 'PipelineInstance'
24             log_uuids = [@object.uuid] + pipeline_jobs(@object).collect{|x|x[:job].andand[:uuid]}.compact
25             if stderr_log_history(log_uuids, 1).empty?
26               data_toggle = "disabled"
27               tab_tooltip = "Log data is not available"
28               link_disabled = "disabled"
29             end
30           end
31         end
32       %>
33
34       <li class="<%= 'active' if i==0 %> <%= link_disabled %>" data-toggle="tooltip" data-placement="top" title="<%=tab_tooltip%>">
35         <a href="#<%= pane_name %>"
36            id="<%= pane_name %>-tab"
37            data-toggle="<%= data_toggle %>"
38            data-tab-history=true
39            data-tab-history-update-url=true
40            >
41           <%= pane_name.gsub('_', ' ') %> <span id="<%= pane_name %>-count"></span>
42         </a>
43       </li>
44     <% end %>
45   </ul>
46
47   <div class="tab-content">
48     <% pane_list.each_with_index do |pane, i| %>
49       <% pane_name = (pane.is_a?(Hash) ? pane[:name] : pane) %>
50       <div id="<%= pane_name %>"
51            class="tab-pane fade <%= 'in active pane-loaded' if i==0 %> arv-log-event-listener arv-refresh-on-log-event arv-log-event-subscribe-to-pipeline-job-uuids"
52            <% if controller.action_name == "index" %>
53              data-object-kind="arvados#<%= ArvadosApiClient.class_kind controller.model_class %>"
54            <% else %>
55              data-object-uuid="<%= @object.uuid %>"
56            <% end %>
57            data-pane-content-url="<%= url_for(params.merge(tab_pane: pane_name)) %>"
58            style="margin-top:0.5em;"
59            >
60         <div class="pane-content">
61           <% if i == 0 %>
62             <%= render_pane pane_name, to_string: true %>
63           <% else %>
64             <div class="spinner spinner-32px spinner-h-center"></div>
65           <% end %>
66         </div>
67       </div>
68     <% end %>
69   </div>
70
71 <% end %>