X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/7df2da959b583d3646b9fde606f9e74d598d4bb9..a3222e35cda68c8e48a17921c33ac37ecb5c3bac:/apps/workbench/app/views/pipeline_instances/_show_components.html.erb?ds=sidebyside diff --git a/apps/workbench/app/views/pipeline_instances/_show_components.html.erb b/apps/workbench/app/views/pipeline_instances/_show_components.html.erb index d0fcbc9b1e..c55a7253b8 100644 --- a/apps/workbench/app/views/pipeline_instances/_show_components.html.erb +++ b/apps/workbench/app/views/pipeline_instances/_show_components.html.erb @@ -1,154 +1,28 @@ -<% template = PipelineTemplate.find(@object.pipeline_template_uuid) rescue nil %> -<%= content_for :content_top do %> -

- <%= render_editable_attribute @object, 'name', nil %> -

- <% if template %> -
From template:
- <%= link_to_if_arvados_object template, friendly_name: true %>
- <%= template.description %> -
- <% end %> -<% end %> - -<% content_for :tab_line_buttons do %> - <%= link_to(copy_pipeline_instance_path('id' => @object.uuid, 'pipeline_instance[state]' => 'New'), - class: 'btn btn-primary', - #data: {toggle: :tooltip, placement: :top}, title: 'copy and modify', - method: :post, - ) do %> - Clone and edit - <% end %> -<% end %> - <% if !@object.state.in? ['New', 'Ready'] %> - <% if @object.state.in? ['RunningOnClient', 'RunningOnServer'] %> - <% content_for :tab_line_buttons do %> - <%= link_to(url_for('pipeline_instance[state]' => 'Paused'), - class: 'btn btn-primary run-pipeline-button', - method: :patch - ) do %> - Stop - <% end %> - <% end %> - <% end %> - <% pipeline_job_uuids = [] %>
- Current state: <%= @object.state.sub('OnServer', '') %>  + Current state: <%= @object.state.sub('OnServer', '') %> 
- - - - - - - - - - - - - - - <% 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])) %> - + <%= render_pipeline_components("running", :json, pipeline_job_uuids: pipeline_job_uuids) %> - <% 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.in? %w(RunningOnServer RunningOnClient Failed) %> - <% if @object.state.in? %w(RunningOnServer RunningOnClient) %> - - <% content_for :js do %> - setInterval(function(){$('a.refresh').click()}, 15000); - <% end %> - - <% if !pipeline_job_uuids.empty? %> -

Log messages from running jobs

- <% log_history = pipeline_log_history(pipeline_job_uuids) %> -
"> +

Log messages from jobs

+ <% log_history = pipeline_log_history((pipeline_job_uuids || []) + [@object.uuid]) %> +
"> <% log_history.each do |entry| %> <%=entry%>
<% end %>
- <% end %> <% end %> <% else %> <%# state is either New or Ready %> +

Here are all of the pipeline's components (jobs that will need to run in order to complete the pipeline). If you know what you're doing (or you're experimenting) you can modify these parameters before starting the pipeline. Usually, you only need to edit the settings presented on the "Inputs" tab above.

- <% if @object.state.in? %w(New Ready) %> -

Here are all of the pipeline's components (jobs that will need to run in order to complete the pipeline). If you know what you're doing (or you're experimenting) you can modify these parameters before starting the pipeline. Usually, you only need to edit the settings presented on the "Inputs" tab above.

- <% end %> - - <% content_for :tab_line_buttons do %> - <%= link_to(url_for('pipeline_instance[state]' => 'RunningOnServer'), - class: 'btn btn-primary run-pipeline-button', - method: :patch - ) do %> - Run - <% 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 %> + <%= render_pipeline_components("editable", :json, editable: true) %> <% end %>