5365: preload output collection uuids and jobs to help improve performance when loadi...
[arvados.git] / apps / workbench / app / views / pipeline_instances / _show_components.html.erb
index c55a7253b8bca440b6f58d1059995aeb24406e18..7735997748389e1d3fa68713dc53c39626b961bf 100644 (file)
@@ -1,24 +1,15 @@
 <% if !@object.state.in? ['New', 'Ready'] %>
 
-  <% pipeline_job_uuids = [] %>
-
-  <div class="pull-right">
-    Current state: <span class="badge badge-info" data-pipeline-state="<%= @object.state %>"><%= @object.state.sub('OnServer', '') %></span>&nbsp;
-  </div>
-
-  <%= render_pipeline_components("running", :json, pipeline_job_uuids: pipeline_job_uuids) %>
-
-  <% if @object.state.in? %w(RunningOnServer RunningOnClient Failed) %>
-
-      <h4>Log messages from jobs</h4>
-      <% log_history = pipeline_log_history((pipeline_job_uuids || []) + [@object.uuid]) %>
-      <div class="arv-log-event-listener arv-log-event-handler-append-logs arv-job-log-window" id="pipeline_event_log_div" data-object-uuids="<%= @object.uuid %> <%=(pipeline_job_uuids || []).join(" ")%>">
-        <% log_history.each do |entry| %>
-          <%=entry%><br/>
-        <% end %>
-      </div>
-
-  <% end %>
+  <%
+     job_uuids = @object.components.map { |k,j| j.is_a? Hash and j[:job].andand[:uuid] }.compact
+     throttle = @object.state.start_with?('Running') ? 5000 : 15000
+     %>
+  <div class="arv-log-refresh-control"
+       data-load-throttle="<%= throttle %>"
+       data-object-uuids="<%= @object.uuid %> <%= job_uuids.join(' ') %>"
+       ></div>
+
+  <%= render_pipeline_components("running", :json) %>
 
 <% else %>
   <%# state is either New or Ready %>