X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/26114a84293ea3fbcc5ef4adcf7900060716e62c..f2574ec2e4ddef03c9504cd58741e73426ea1b17:/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 24579c9b4b..b3b5402741 100644 --- a/apps/workbench/app/views/pipeline_instances/_show_components.html.erb +++ b/apps/workbench/app/views/pipeline_instances/_show_components.html.erb @@ -1,44 +1,28 @@ <% content_for :css do %> - .pipeline_color_legend { - padding-left: 1em; - padding-right: 1em; - } -table.pipeline-components-table { - width: 100%; - table-layout: fixed; - overflow: hidden; -} - -table.pipeline-components-table thead th { - text-align: bottom; -} -table.pipeline-components-table div.progress { - margin-bottom: 0; -} - -table.pipeline-components-table td { - overflow: hidden; - text-overflow: ellipsis; -} - -td.required { - background: #ffdddd; -} <% end %> -<% template = PipelineTemplate.find(@object.pipeline_template_uuid) %> -<% if template %> -

<%= template.name %>

+<% 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'] %> - + @@ -49,7 +33,10 @@ td.required { script, version <% 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 @@ -60,112 +47,67 @@ td.required { <% render_pipeline_jobs.each do |pj| %>
- <% label = if pj[:job].andand[:uuid] - if pj[:job][:success] == true - 'label-success' - elsif pj[:job][:success] == false - 'label-danger' - elsif pj[:job][:running] == true - 'label-info' - else - 'label-default' - end - else - 'label-default' - end %> + <% 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]), class: "label #{label}" %> + <%= 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 %> + <%= render(partial: 'job_status_label', + locals: { :j => pj[:job] }) %> - <%= link_to_if_arvados_object pj[:output] %> + <%= 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()}, 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', id: "run-pipeline-button"} %> - <% end %> + <%= hidden_field @object.class.to_s.underscore.singularize.to_sym, :state, :value => 'Paused' %> - - - - - - - - - - - - - - - <% template.components.each do |k, template_value| %> + <%= 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| %> - - + <%= hidden_field @object.class.to_s.underscore.singularize.to_sym, :state, :value => 'RunningOnServer' %> - <% if template_value[:script_parameters].length > 0 %> - <% template_value[:script_parameters].each do |p, tv| %> - - - - - - - <% end %> - + <%= button_tag "Run pipeline", {class: 'btn btn-primary pull-right', id: "run-pipeline-button"} %> <% end %> <% end %> - -
- component - - script - - parameter - - value -
<%= k %><%= render_editable_subattribute @object, :components, [k, :script], template_value[:script] %>script version - <%= render_editable_subattribute @object, :components, [k, :script_version], template_value[:script_version] %> -
<%= p %><%= render_editable_subattribute @object, :components, [k, :script_parameters, p.to_sym], tv %>
- + + <% 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 %> + +<%= render partial: 'show_event_log', locals: {object: @object} %>