X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/7c21045a213c5cc8846a263124271c93d38d78b1..1c4506929f883a25240e5cbc0a5e55597b9ddb1b:/apps/workbench/app/views/pipeline_instances/_show_components.html.erb 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 3fae559f0a..b79759f989 100644 --- a/apps/workbench/app/views/pipeline_instances/_show_components.html.erb +++ b/apps/workbench/app/views/pipeline_instances/_show_components.html.erb @@ -1,108 +1,21 @@ -<% content_for :css do %> +<% if !@object.state.in? ['New', 'Ready'] %> -<% 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', 'data-mode' => 'inline' } %> -

- <% if template %> -

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

- <% end %> -<% end %> - -<% if !@object.state.in? ['New', 'Ready', 'Paused'] %> - - - - - - - - - - - - - - - <% render_pipeline_jobs.each do |pj| %> - - - - <% end %> - - - - -
- component - - script, version - - progress - <%= link_to '(refresh)', request.fullpath, class: 'refresh hide', remote: true, method: 'get' %> - - - output -
- <% job_status = render(partial: 'job_status_label', - locals: { :j => pj[:job], :title => pj[:name] }) %> - <% if pj[:job].andand[:uuid] %> - <%= link_to(job_status, job_url(id: pj[:job][:uuid])) %> - <% else %> - <%= job_status %> - <% end %> - - <%= pj[:script] %> -
<%= pj[:script_version] %> -
- <%= pj[:progress_bar] %> - - <%= 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 :js do %> -setInterval(function(){$('a.refresh').click()}, 15000); -<% 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 + %> +
-<% 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 "Stop pipeline", {class: 'btn btn-primary pull-right', id: "run-pipeline-button"} %> - <% end %> -<% end %> - -<% end %> + <%= render partial: 'work_units/show_component', locals: {wu: @object.work_unit(@object.name)} %> <% else %> - <% 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' %> + <%# state is either New or Ready %> + <%= render_unreadable_inputs_present %> - <%= button_tag "Run pipeline", {class: 'btn btn-primary pull-right', id: "run-pipeline-button"} %> - <% end %> - <% end %> +

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 == 'New' %> - <%= 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 %>