--- /dev/null
+<% if attrvalue.is_a? Array and attrvalue.collect(&:class).uniq.compact == [String] %>
+ <% attrvalue.each do |message| %>
+ <%= message %><br />
+ <% end %>
+<% else %>
+ <% if attr == 'uuid' and (uuid = attrvalue.split('-')).size == 3 %>
+ <%= uuid[0..-2].join('-') %>-<b><%= uuid[-1] %></b>
+ <% elsif obj.attribute_editable?(attr) %>
+ <%= render_editable_attribute obj, attr %>
+ <% else %>
+ <%= link_to_if_arvados_object attrvalue, {referring_attr: attr, referring_object: obj, with_class_name: true} %>
+ <% end %>
+ <% if resource_class_for_uuid(attrvalue, {referring_object: obj, referring_attr: attr}) %>
+ <%= link_to_if_arvados_object(attrvalue, { referring_object: obj, link_text: raw('<span class="icon-hand-right"></span>'), referring_attr: attr }) %>
+ <% end %>
+<% end %>
<% content_for :arvados_object_table do %>
+<h2><%= @object.class %> <%= @object.uuid %></h2>
<%= form_for @object do |f| %>
<table class="table topalign">
<thead>
<% end %>
</tbody>
</table>
+
+<% incoming = Link.where(tail_uuid: @object.uuid) %>
+<% if incoming.items_available > 0 %>
+<h3>Incoming Links</h3>
+<table class="table topalign">
+ <thead>
+ </thead>
+ <tbody>
+ <% incoming.each do |link| %>
+ <tr>
+ <td><%= render partial: 'application/arvados_attr_value', locals: { obj: link, attr: "uuid", attrvalue: link.uuid } %></td>
+ <td><%= render partial: 'application/arvados_attr_value', locals: { obj: link, attr: "link_class", attrvalue: link.link_class } %></td>
+ <td><%= render partial: 'application/arvados_attr_value', locals: { obj: link, attr: "name", attrvalue: link.name } %></td>
+ <td><%= render partial: 'application/arvados_attr_value', locals: { obj: link, attr: "head_uuid", attrvalue: link.head_uuid } %></td>
+ <td><%= render partial: 'application/arvados_attr_value', locals: { obj: link, attr: "properties", attrvalue: link.properties } %></td>
+ </tr>
+ <% end %>
+ </tbody>
+</table>
+<% end %>
+
+<% outgoing = Link.where(head_uuid: @object.uuid) %>
+<% if outgoing.items_available > 0 %>
+<h3>Outgoing Links</h3>
+<table class="table topalign">
+ <thead>
+ </thead>
+ <tbody>
+ <% outgoing.each do |link| %>
+ <tr>
+ <td><%= render partial: 'application/arvados_attr_value', locals: { obj: link, attr: "uuid", attrvalue: link.uuid } %></td>
+ <td><%= render partial: 'application/arvados_attr_value', locals: { obj: link, attr: "link_class", attrvalue: link.link_class } %></td>
+ <td><%= render partial: 'application/arvados_attr_value', locals: { obj: link, attr: "name", attrvalue: link.name } %></td>
+ <td><%= render partial: 'application/arvados_attr_value', locals: { obj: link, attr: "tail_uuid", attrvalue: link.tail_uuid } %></td>
+ <td><%= render partial: 'application/arvados_attr_value', locals: { obj: link, attr: "properties", attrvalue: link.properties } %></td>
+ </tr>
+ <% end %>
+ </tbody>
+</table>
+<% end %>
+
<% end %>
<% end %>
<tr class="info">
<td><%= attr %>[<%= infokey %>]</td>
<td>
- <tt>
- <% if infocontent.is_a? Array and infocontent.collect(&:class).uniq.compact == [String] then infocontent.each do |message| %>
- <%= message %><br />
- <% end; elsif infocontent.is_a? String %>
- <%= infocontent %>
- <% else %>
- <%= infocontent.inspect %>
- <% end %>
- </tt>
+ <%= render partial: 'application/arvados_attr_value', locals: { obj: @object, attr: nil, attrvalue: infocontent } %>
</td>
</tr>
<% end %>
<tr class="<%= 'info' if %w(uuid owner_uuid created_at modified_at modified_by_user_uuid modified_by_client_uuid updated_at).index(attr.to_s).nil? %>">
<td><%= attr %></td>
<td>
- <% if attr == 'uuid' and (uuid = attrvalue.split('-')).size == 3 %>
- <%= uuid[0..-2].join('-') %>-<b><%= uuid[-1] %></b>
- <% elsif @object.attribute_editable?(attr) %>
- <%= render_editable_attribute @object, attr %>
- <% else %>
- <%= link_to_if_arvados_object attrvalue, {referring_attr: attr, referring_object: @object, with_class_name: true} %>
- <% end %>
- <%= link_to_if_arvados_object(attrvalue, { referring_object: @object, link_text: raw('<i class="icon-hand-right"></i>') }) if resource_class_for_uuid(attrvalue, {referring_object: @object}) %>
+ <%= render partial: 'application/arvados_attr_value', locals: { obj: @object, attr: attr, attrvalue: attrvalue } %>
</td>
</tr>
<% end %>