<% content_for :css do %> <% end %> <% template = PipelineTemplate.find(@object.pipeline_template_uuid) rescue nil %> <%= content_for :content_top do %>

<%= render_editable_attribute @object, 'name', nil, { 'data-emptytext' => 'Unnamed pipeline' } %>

<% if template %>

From template: <%= link_to_if_arvados_object template, friendly_name: true %>

<% end %> <% end %> <% pipeline_job_uuids = [] %> <% if !@object.state.in? ['New', 'Ready', 'Paused'] %> <% render_pipeline_jobs.each do |pj| %> <% if pj[:job].andand[:uuid] pipeline_job_uuids << pj[:job][:uuid] end %> <% end %>
component script, version job <%# format:'js' here helps browsers avoid using the cached js content in html context (e.g., duplicate tab -> see javascript) %> <%= link_to '(refresh)', {format: :js}, {class: 'refresh hide', remote: true, method: 'get'} %> output
<%= pj[:name] %> <%= pj[:script] %>
<%= pj[:script_version] %>
<%= pj[:progress_bar] %> <% if @object.state == 'Complete' || @object.state == 'Failed' %> <% if pj[:job].andand[:uuid] %> <%= link_to("..."+pj[:job][:uuid].last(15), job_url(id: pj[:job][:uuid])) %> <% current_job = Job.find(pj[:job][:uuid]) rescue nil %> <% if current_job.andand[:log] %> <% fixup = /([a-f0-9]{32}\+\d+)(\+?.*)/.match(current_job[:log])%> <% Collection.limit(1).where(uuid: fixup[1]).each do |c| %> <% c.files.each do |file| %>
log <% end %> <% end %> <% end %> <% end %> <% end %>
<%= render(partial: 'job_status_label', locals: { :j => pj[:job] }) %> <%= link_to_if_arvados_object pj[:output], {:thumbnail => true} %>
<% if @object.state == 'RunningOnServer' || @object.state == 'RunningOnClient' %> <% content_for :tab_line_buttons do %> <%= form_tag @object, :method => :put do |f| %> <%= hidden_field @object.class.to_s.underscore.singularize.to_sym, :state, :value => 'Paused' %> <%= button_tag({class: 'btn btn-primary pull-right run-pipeline-button'}) do %> Stop <% end %> <% end %> <% end %> <% if !pipeline_job_uuids.empty? %>

Log messages from running jobs

<% log_history = pipeline_log_history(pipeline_job_uuids) %>
<% log_history.each do |entry| %> <%=entry%>
<% end %>
"/> <% end %> <% end %> <% else %> <%# State new or ready or paused %> <% if @object.state == 'New' %>

Please set the desired input parameters for the components of this pipeline. Parameters highlighted in red are required.

<% end %> <% content_for :tab_line_buttons do %> <%= form_tag @object, :method => :put do |f| %> <%= hidden_field @object.class.to_s.underscore.singularize.to_sym, :state, :value => 'RunningOnServer' %> <%= button_tag({class: 'btn btn-primary pull-right run-pipeline-button'}) do %> Run <% end %> <% end %> <% end %> <% if @object.state.in? ['New', 'Ready'] %> <%= render partial: 'show_components_editable', locals: {editable: true} %> <% else %> <%= render partial: 'show_components_editable', locals: {editable: false} %> <% end %> <% end %>