X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/b354e03622eb2e47c055b6fcc38b24c22a59ab9f..49a6ced3c7a540a7da7155ab1c3120a5227c620c:/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 88bed699e1..61a4ca177d 100644 --- a/apps/workbench/app/views/pipeline_instances/_show_components.html.erb +++ b/apps/workbench/app/views/pipeline_instances/_show_components.html.erb @@ -1,29 +1,29 @@ <% content_for :css do %> - .pipeline_color_legend { - padding-left: 1em; - padding-right: 1em; - } -table.pipeline-components-table { - width: 100%; - table-layout: fixed; -} -table.pipeline-components-table thead th { - text-align: bottom; -} -table.pipeline-components-table div.progress { - margin-bottom: 0; -} +<% 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 %> -<% if @object.active != nil %> +<% if !@object.state.in? ['New', 'Ready', 'Paused'] %> - - - + + + + @@ -33,7 +33,11 @@ table.pipeline-components-table div.progress { script, version @@ -43,103 +47,65 @@ table.pipeline-components-table div.progress { <% render_pipeline_jobs.each do |pj| %> <% end %> - +
progress - <%= link_to '(refresh)', request.fullpath, class: 'refresh', remote: true, method: 'get' %> + <%# 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
+ <% job_status = render(partial: 'job_status_label', + locals: { :j => pj[:job], :title => pj[:name] }) %> <% if pj[:job].andand[:uuid] %> - <%= link_to pj[:name], job_url(id: pj[:job][:uuid]) %> + <%= link_to(job_status, job_url(id: pj[:job][:uuid])) %> <% else %> - <%= pj[:name] %> + <%= job_status %> <% end %> <%= pj[:script] %>
<%= pj[:script_version] %>
<%= pj[:progress_bar] %> - <% if pj[:job].andand[:cancelled_at] %> - cancelled - <% elsif pj[:failed] %> - failed - <% elsif pj[:result] == 'queued' %> - queued - <% end %> - <%= link_to_if_arvados_object pj[:output] %> + <%= render(partial: 'job_status_label', + locals: { :j => pj[:job] }) %> + + <%= link_to_if_arvados_object pj[:output], {:thumbnail => true} %>
-<% if @object.active %> +<% if @object.state == 'RunningOnServer' || @object.state == 'RunningOnClient' %> <% content_for :js do %> -setInterval(function(){$('a.refresh').click()}, 30000); +setInterval(function(){$('a.refresh').click()}, 15000); <% end %> -<% end %> - -<% else %> +<% content_for :tab_line_buttons do %> <%= form_tag @object, :method => :put do |f| %> - <%= hidden_field @object.class.to_s.underscore.singularize.to_sym, :active, :value => true %> - <%= button_tag "Run pipeline", {class: 'btn btn-primary pull-right'} %> - <% end %> + <%= hidden_field @object.class.to_s.underscore.singularize.to_sym, :state, :value => 'Paused' %> - - - - - - - - - - - - - - - <% @object.components.each do |k, v| %> - - <% sp = v[:script_parameters].collect do |k, v| [k, v] end %> - - - + <%= button_tag "Stop pipeline", {class: 'btn btn-primary pull-right', id: "run-pipeline-button"} %> + <% end %> +<% end %> - +<% end %> - +<% 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| %> - <% if sp.length > 1 %> - - - + <%= hidden_field @object.class.to_s.underscore.singularize.to_sym, :state, :value => 'RunningOnServer' %> - <% sp[1..-1].each do |p| %> - <%= p[0] %> - <%= p[1] %> - <% end %> - + <%= button_tag "Run pipeline", {class: 'btn btn-primary pull-right', id: "run-pipeline-button"} %> + <% 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 %> - -
- component - - script, version - - parameter - - input -
<%= k %><%= v[:script] %> -
<%= v[:script_version] %> -
- <%= sp[0][0] %> - - <%= sp[0][1] %> -
- <% end %>