X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/23825c0b5ecf436b29a36a1c27efe1120485827e..9429158c8ecf253a700c7eb4f87ad142a8e1522c:/apps/workbench/app/views/work_units/_component_detail.html.erb diff --git a/apps/workbench/app/views/work_units/_component_detail.html.erb b/apps/workbench/app/views/work_units/_component_detail.html.erb index a3a246fe02..e48a91ec1b 100644 --- a/apps/workbench/app/views/work_units/_component_detail.html.erb +++ b/apps/workbench/app/views/work_units/_component_detail.html.erb @@ -1,20 +1,43 @@ +<%# Copyright (C) The Arvados Authors. All rights reserved. + +SPDX-License-Identifier: AGPL-3.0 %> + <% collections = [current_obj.outputs, current_obj.docker_image].flatten.compact.uniq collections_pdhs = collections.select {|x| !CollectionsHelper.match(x).nil?}.uniq.compact collections_uuids = collections - collections_pdhs preload_collections_for_objects collections_uuids if collections_uuids.any? - preload_for_pdhs collections_pdhs if collections_pdhs.any? + preload_links_for_objects collections_uuids if collections_uuids.any? preload_objects_for_dataclass(Repository, [current_obj.repository], :name) if current_obj.repository + + # if container_X, preload mounted collections + if @object.is_a? Container or @object.is_a? ContainerRequest + # get any collections in mounts + mounts = current_obj.send(:mounts) if current_obj.respond_to?(:mounts) + input_obj = mounts.andand[:"/var/lib/cwl/cwl.input.json"].andand[:content] + if input_obj + input_obj.to_s.scan(/([0-9a-f]{32}\+\d+)/).each {|cs| collections_pdhs += cs} + end + + command = current_obj.send(:command) if current_obj.respond_to?(:command) + if command + command.to_s.scan(/([0-9a-f]{32}\+\d+)/).each {|cs| collections_pdhs += cs} + end + end + + collections_pdhs.compact.uniq + preload_for_pdhs collections_pdhs if collections_pdhs.any? + preload_links_for_objects collections_pdhs if collections_pdhs.any? %>
<%= k.to_s %>: | @@ -84,6 +107,8 @@ <%= link_to val, show_repository_commit_path(id: repo.uuid, commit: current_obj.script_version) %> <% elsif k == :runtime_constraints and val.any? %> <%= render partial: 'work_units/show_table_data', locals: {id: current_obj.uuid, name: k, data_map: val} %> + <% elsif k.to_s.end_with? 'uuid' %> + <%= link_to_arvados_object_if_readable(val, val, friendly_name: true) %> <% else %> <%= val %> <% end %> @@ -95,12 +120,13 @@ <% mounts = current_obj.send(:mounts) if current_obj.respond_to?(:mounts) mount_wf = mounts.andand[:"/var/lib/cwl/workflow.json"] + mount_wf = mount_wf[5..-1] if mount_wf.andand.is_a?(String) and mount_wf.start_with?('keep:') mount_wf_cls = resource_class_for_uuid(mount_wf) if mount_wf %>|
- mount workflow: + workflow.json: | <%= link_to_if_arvados_object mount_wf, friendly_name: true %> @@ -140,20 +166,21 @@ |
+ | <%= k.to_s %>: | -+ |
<% if k == :command %>
-
- <%=val%>
-
+ <% val = JSON.pretty_generate(val) %>
+ <%= render partial: 'show_text_with_locators', locals: {data_height: 200, text_data: val} %>
<% else %>
<%= val %>
<% end %>
@@ -164,24 +191,19 @@
<%
mounts = current_obj.send(:mounts) if current_obj.respond_to?(:mounts)
- input_obj =mounts.andand[:"/var/lib/cwl/cwl.input.json"].andand[:content] || mounts || {}
- mnt_inputs = []
- cwl_input_collections(input_obj) do |_, path|
- mnt_inputs << path
- end
- mnt_inputs = mnt_inputs.uniq.compact
+ input_obj = mounts.andand[:"/var/lib/cwl/cwl.input.json"].andand[:content]
+ mnt_inputs = JSON.pretty_generate(input_obj) if input_obj
%>
- |
- input_mounts: + <% if mnt_inputs %> + | |||
+ cwl.input.json: | -- <%= render partial: 'work_units/show_inputs', - locals: {id: current_obj.uuid, name: 'mount-inputs', inputs: mnt_inputs} %> + | + <%= render partial: 'show_text_with_locators', locals: {data_height: 400, text_data: mnt_inputs} %> | - <% end %> -
script_parameters:
<%= JSON.pretty_generate(current_obj.parameters) rescue nil %>