X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/c7bf82b621dae10a68a74b95439fa8f4ae3c502f..b6487d6773406f0da6724e24ad5ce6a94e1009cd:/apps/workbench/app/helpers/application_helper.rb
diff --git a/apps/workbench/app/helpers/application_helper.rb b/apps/workbench/app/helpers/application_helper.rb
index ec29b03a2d..e3f6fdc3c9 100644
--- a/apps/workbench/app/helpers/application_helper.rb
+++ b/apps/workbench/app/helpers/application_helper.rb
@@ -87,6 +87,7 @@ module ApplicationHelper
link_uuid = attrvalue
end
link_name = opts[:link_text]
+ tags = ""
if !link_name
link_name = object.andand.default_name || resource_class.default_name
@@ -106,13 +107,18 @@ module ApplicationHelper
end
end
end
+ if link_name.nil? or link_name.empty?
+ link_name = attrvalue
+ end
if opts[:with_class_name]
link_name = "#{resource_class.to_s}: #{link_name}"
end
if !opts[:no_tags] and resource_class == Collection
links_for_object(link_uuid).each do |tag|
if tag.link_class.in? ["tag", "identifier"]
- link_name += ' ' + html_escape(tag.name) + ''
+ tags += ' '
+ tags += link_to tag.name, controller: "links", filters: [["link_class", "=", "tag"], ["name", "=", tag.name]].to_json
+ tags += ''
end
end
end
@@ -130,11 +136,15 @@ module ApplicationHelper
if opts[:no_link]
raw(link_name)
else
- link_to raw(link_name), { controller: resource_class.to_s.tableize, action: 'show', id: ((opts[:name_link].andand.uuid) || link_uuid) }, style_opts
+ (link_to raw(link_name), { controller: resource_class.to_s.tableize, action: 'show', id: ((opts[:name_link].andand.uuid) || link_uuid) }, style_opts) + raw(tags)
end
else
# just return attrvalue if it is not recognizable as an Arvados object or uuid.
- attrvalue
+ if attrvalue.nil? or (attrvalue.is_a? String and attrvalue.empty?)
+ "(none)"
+ else
+ attrvalue
+ end
end
end
@@ -177,10 +187,10 @@ module ApplicationHelper
span_id = object.uuid.to_s + '-' + attr.to_s + '-' + (@unique_id += 1).to_s
span_tag = content_tag 'span', attrvalue.to_s, {
- "data-emptytext" => (object.andand.default_name || 'none'),
+ "data-emptytext" => ('(none)'),
"data-placement" => "bottom",
"data-type" => input_type,
- "data-title" => "Edit #{attr.gsub '_', ' '}",
+ "data-title" => "Edit #{attr.to_s.gsub '_', ' '}",
"data-name" => attr,
"data-object-uuid" => object.uuid,
"data-toggle" => "manual",
@@ -260,9 +270,14 @@ module ApplicationHelper
display_value = value_info[:link_name]
end
end
+ if (attr == :components) and (subattr.size > 2)
+ chooser_title = "Choose a dataset for #{object.component_input_title(subattr[0], subattr[2])}:"
+ else
+ chooser_title = "Choose a dataset:"
+ end
modal_path = choose_collections_path \
- ({ title: 'Choose a dataset:',
- filters: [['tail_uuid', '=', object.owner_uuid]].to_json,
+ ({ title: chooser_title,
+ filters: [['owner_uuid', '=', object.owner_uuid]].to_json,
action_name: 'OK',
action_href: pipeline_instance_path(id: object.uuid),
action_method: 'patch',