Merge branch '8784-dir-listings'
[arvados.git] / apps / workbench / app / views / application / _show_text_with_locators.html.erb
1 <%# Copyright (C) The Arvados Authors. All rights reserved.
2
3 SPDX-License-Identifier: AGPL-3.0 %>
4
5 <%# The locators in the given text are expected to be of the form JSON_KEEP_LOCATOR_REGEXP %>
6
7 <% data_height = data_height || 100 %>
8   <div style="max-height:<%=data_height%>px; overflow:auto;">
9     <% text_data.each_line do |l| %>
10       <% text_part = l %>
11       <% match = keep_locator_in_json l %>
12
13       <%
14         if match
15           text_part = match[1]
16           rindex = match[2].rindex('"'); match2 = match[2][0..rindex-1]
17           quote_char = '"'
18
19           pdh_readable = object_readable(match2)
20           file_link = ''
21           if pdh_readable and match[4].size > 0
22             link_params = {controller: 'collections', action: 'show_file', uuid: match[3], file: match[4][1..-1]}
23             preview_allowed = preview_allowed_for(match[4])
24             if preview_allowed
25               file_link = link_to(raw(match[4]), link_params.merge(disposition: 'inline'))
26             else
27               file_link = link_to(raw(match[4]), link_params.merge(disposition: 'attachment'))
28             end
29           end
30         end
31       %>
32
33       <span style="white-space: pre-wrap; margin: none;"><%= text_part %><% if match %><% if pdh_readable then %><%= link_to_arvados_object_if_readable(match[3], match[3], friendly_name: true) %><%= file_link%><% else %><%= match2%><% end %><%=quote_char+match[5]%><br/><% end %></span>
34     <% end %>
35   </div>