Merge branch '1968-monitor-disk-usage'
[arvados.git] / apps / workbench / app / views / folders / show.html.erb
1 <div class="row row-fill-height">
2   <div class="col-md-6">
3     <div class="panel panel-info">
4       <div class="panel-heading">
5         <h3 class="panel-title">
6           <%= render_editable_attribute @object, 'name', nil, {data: {emptytext: "New folder"}} %>
7         </h3>
8       </div>
9       <div class="panel-body">
10         <img src="/favicon.ico" class="pull-right" alt="" style="opacity: 0.3"/>
11         <%= render_editable_attribute @object, 'description', nil, { 'data-emptytext' => "Created: #{@object.created_at.to_s(:long)}", 'data-toggle' => 'manual', 'id' => "#{@object.uuid}-description" } %>
12         <% if @object.attribute_editable? 'description' %>
13         <div style="margin-top: 1em;">
14           <a href="#" class="btn btn-xs btn-default" data-toggle="x-editable" data-toggle-selector="#<%= @object.uuid %>-description"><i class="fa fa-fw fa-pencil"></i> Edit description</a>
15         </div>
16         <% end %>
17       </div>
18     </div>
19   </div>
20   <div class="col-md-3">
21     <div class="panel panel-default">
22       <div class="panel-heading">
23         <h3 class="panel-title">
24           Activity
25         </h3>
26       </div>
27       <div class="panel-body smaller-text">
28         <!--
29         <input type="text" class="form-control" placeholder="Search"/>
30         -->
31         <div style="height:0.5em;"></div>
32         <% @logs[0..2].each do |log| %>
33         <p>
34           <%= time_ago_in_words(log.event_at) %> ago: <%= log.summary %>
35           <% if log.object_uuid %>
36           <%= link_to_if_arvados_object log.object_uuid, link_text: raw('<i class="fa fa-hand-o-right"></i>') %>
37           <% end %>
38         </p>
39         <% end %>
40         <% if @logs.any? %>
41         <%= link_to raw('Show all activity &nbsp; <i class="fa fa-fw fa-arrow-circle-right"></i>'),
42             logs_path(filters: [['object_uuid','=',@object.uuid]].to_json),
43             class: 'btn btn-xs btn-default' %>
44         <% else %>
45         <p>
46           Created: <%= @object.created_at.to_s(:long) %>
47         </p>
48         <p>
49           Last modified: <%= @object.modified_at.to_s(:long) %> by <%= link_to_if_arvados_object @object.modified_by_user_uuid, friendly_name: true %>
50         </p>
51         <% end %>
52       </div>
53     </div>
54   </div>
55   <div class="col-md-3">
56     <div class="panel panel-default">
57       <div class="panel-heading">
58         <h3 class="panel-title">
59           Sharing and permissions
60         </h3>
61       </div>
62       <div class="panel-body">
63         <!--
64         <input type="text" class="form-control" placeholder="Search"/>
65         -->
66         <div style="height:0.5em;"></div>
67         <p>Owner: <%= link_to_if_arvados_object @object.owner_uuid, friendly_name: true %></p>
68         <% if @share_links.any? %>
69         <p>Shared with:
70           <% @share_links.andand.each do |link| %>
71           <br /><%= link_to_if_arvados_object link.tail_uuid, friendly_name: true %>
72           <% end %>
73         </p>
74         <% end %>
75       </div>
76     </div>
77   </div>
78 </div>
79
80 <% if @show_cards %>
81 <!-- disable cards section until we have bookmarks -->
82 <div class="row">
83   <% @objects[0..3].each do |object| %>
84   <div class="card arvados-object">
85     <div class="card-top blue">
86       <a href="#">
87         <img src="/favicon.ico" alt=""/>
88       </a>
89     </div>
90     <div class="card-info">
91       <span class="title"><%= @objects.name_for(object) || object.class_for_display %></span>
92       <div class="desc"><%= object.respond_to?(:description) ? object.description : object.uuid %></div>
93     </div>
94     <div class="card-bottom">
95       <%= render :partial => "show_object_button", :locals => {object: object, htmloptions: {class: 'btn-default btn-block'}} %>
96     </div>
97   </div>
98   <% end %>
99 </div>
100 <!-- end disabled cards section -->
101 <% end %>
102
103 <div class="row">
104   <div class="col-md-12">
105     <div class="panel panel-info">
106       <div class="panel-heading">
107         <div class="row">
108           <div class="col-md-6">
109             <h3 class="panel-title" style="vertical-align:middle;">
110               Contents
111             </h3>
112           </div>
113           <div class="col-md-6">
114             <div class="input-group input-group-sm pull-right">
115               <input type="text" class="form-control search-folder-contents" placeholder="Search folder contents"/>
116             </div>
117           </div>
118         </div>
119       </div>
120       <div class="panel-body">
121         <p>
122         </p>
123         <table class="table table-condensed arv-index">
124           <tbody>
125             <colgroup>
126               <col width="3%" />
127               <col width="8%" />
128               <col width="30%" />
129               <col width="15%" />
130               <col width="15%" />
131               <col width="20%" />
132               <col width="8%" />
133             </colgroup>
134             <% @objects_and_names.each do |object, name_link| %>
135               <tr data-object-uuid="<%= (name_link && name_link.uuid) || object.uuid %>">
136                 <td>
137                   <%= render :partial => "selection_checkbox", :locals => {object: object} %>
138                 </td>
139                 <td>
140                   <%= render :partial => "show_object_button", :locals => {object: object, size: 'xs'} %>
141                 </td>
142                 <td>
143                   <%= render_editable_attribute name_link, 'name', nil, {data: {emptytext: "Unnamed #{object.class_for_display}"}} %>
144                 </td>
145                 <td>
146                   <%= object.content_summary %>
147                 </td>
148                 <td title="<%= object.modified_at %>">
149                   <span>
150                     <%= raw distance_of_time_in_words(object.modified_at, Time.now).sub('about ','~').sub(' ','&nbsp;') + '&nbsp;ago' rescue object.modified_at %>
151                   </span>
152                 </td>
153                 <td class="arvados-uuid">
154                   <%= object.uuid %>
155                 </td>
156                 <td>
157                   <% if @object.editable? %>
158                     <%= link_to({action: 'remove_item', id: @object.uuid, item_uuid: ((name_link && name_link.uuid) || object.uuid)}, method: :delete, remote: true, data: {confirm: "You are about to remove #{object.class_for_display} #{object.uuid} from this folder.\n\nAre you sure?"}, class: 'btn btn-xs btn-default') do %>
159                       Remove <i class="fa fa-fw fa-ban"></i>
160                     <% end %>
161                   <% end %>
162                 </td>
163               </tr>
164             <% end %>
165           </tbody>
166           <thead>
167             <tr>
168               <th>
169               </th>
170               <th>
171               </th>
172               <th>
173                 name
174               </th>
175               <th>
176                 type
177               </th>
178               <th>
179                 modified
180               </th>
181               <th>
182                 uuid
183               </th>
184               <th>
185               </th>
186             </tr>
187           </thead>
188         </table>
189         <p></p>
190       </div>
191     </div>
192   </div>
193 </div>