2872: Merge branch '2872-folder-nav' closes #2872
[arvados.git] / apps / workbench / app / views / projects / _show_contents.html.erb
diff --git a/apps/workbench/app/views/projects/_show_contents.html.erb b/apps/workbench/app/views/projects/_show_contents.html.erb
new file mode 100644 (file)
index 0000000..c3d509f
--- /dev/null
@@ -0,0 +1,122 @@
+<% content_for :content_top do %>
+
+<h2>
+  <%= render_editable_attribute @object, 'name', nil, { 'data-emptytext' => "New project" } %>
+</h2>
+
+<div class="arv-description-as-subtitle">
+  <%= render_editable_attribute @object, 'description', nil, { 'data-emptytext' => "(No description provided)", 'data-toggle' => 'manual' } %>
+</div>
+
+<% end %>
+
+<% content_for :tab_line_buttons do %>
+  <% if @object.editable? %>
+    <%= link_to(
+         choose_collections_path(
+           title: 'Add data to project:',
+           multiple: true,
+           action_name: 'Add',
+           action_href: actions_path(id: @object.uuid),
+           action_method: 'post',
+           action_data: {selection_param: 'selection[]', copy_selections_into_project: @object.uuid, success: 'page-refresh'}.to_json),
+         { class: "btn btn-primary btn-sm", remote: true, method: 'get', data: {'event-after-select' => 'page-refresh'} }) do %>
+      <i class="fa fa-fw fa-plus"></i> Add data...
+    <% end %>
+    <%= link_to(
+         choose_pipeline_templates_path(
+           title: 'Choose a pipeline to run:',
+           action_name: 'Next: choose inputs <i class="fa fa-fw fa-arrow-circle-right"></i>',
+           action_href: pipeline_instances_path,
+           action_method: 'post',
+           action_data: {'selection_param' => 'pipeline_instance[pipeline_template_uuid]', 'pipeline_instance[owner_uuid]' => @object.uuid, 'success' => 'redirect-to-created-object'}.to_json),
+         { class: "btn btn-primary btn-sm", remote: true, method: 'get' }) do %>
+      <i class="fa fa-fw fa-gear"></i> Run a pipeline...
+    <% end %>
+    <%= link_to projects_path('project[owner_uuid]' => @object.uuid), method: 'post', class: 'btn btn-sm btn-primary' do %>
+      <i class="fa fa-fw fa-plus"></i>
+      Add a subproject
+    <% end %>
+    <%= link_to(
+       choose_projects_path(
+        title: 'Move this project to...',
+        editable: true,
+        action_name: 'Move',
+        action_href: project_path(@object.uuid),
+        action_method: 'put',
+        action_data: {selection_param: 'project[owner_uuid]', success: 'page-refresh'}.to_json),
+       { class: "btn btn-sm btn-primary arv-move-to-project", remote: true, method: 'get' }) do %>
+      <i class="fa fa-fw fa-truck"></i> Move project...
+    <% end %>
+    <%= link_to(project_path(id: @object.uuid), method: 'delete', class: 'btn btn-sm btn-primary', data: {confirm: "Really delete project '#{@object.name}'?"}) do %>
+      <i class="fa fa-fw fa-trash-o"></i> Delete project
+    <% end %>
+  <% end %>
+<% end %>
+
+<div class="selection-action-container">
+  <div class="row">
+    <div class="col-sm-5">
+      <div class="btn-group btn-group-sm">
+        <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">Selection...</button>
+        <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
+          <span class="caret"></span>
+          <span class="sr-only">Toggle Dropdown</span>
+        </button>
+        <ul class="dropdown-menu" role="menu">
+          <li><%= link_to "Compare selected", '#',
+                  'data-href' => compare_pipeline_instances_path,
+                  'data-selection-param-name' => 'uuids[]',
+                  'data-selection-action' => 'compare'
+            %></li>
+          <li><%= link_to "Remove selected", '#',
+                  'data-href' => url_for(action: :remove_items),
+                  'data-selection-param-name' => 'item_uuids[]',
+                  'data-selection-action' => 'remove',
+                  'data-remote' => true,
+                  'method' => 'delete'
+            %></li>
+        </ul>
+      </div>
+    </div>
+    <div class="col-sm-3">
+      <form class="form-inline" role="form">
+        Show:
+        <select class="form-control form-control-sm filterable-control" data-filterable-attribute="data-kind" data-filterable-target="table.arv-index.arv-project-contents tbody">
+          <option value="">Everything</option>
+          <option value="arvados#collection">Data</option>
+          <option value="arvados#pipelineInstance arvados#job">Compute jobs</option>
+          <option value="arvados#pipelineTemplate">Pipelines</option>
+          <!--
+          <option value="arvados#specimen">Specimens</option>
+          <option value="arvados#human">Humans</option>
+          <option value="arvados#trait">Traits</option>
+          -->
+        </select>
+      </form>
+    </div>
+    <div class="col-sm-4">
+      <input type="text" class="form-control filterable-control" placeholder="Search project contents" data-filterable-target="table.arv-index.arv-project-contents tbody"/>
+    </div>
+  </div>
+
+  <table class="table table-condensed table-fixedlayout arv-index arv-project-contents" style="overflow-x: hidden">
+    <colgroup>
+      <col width="40%" />
+      <col width="60%" />
+    </colgroup>
+    <tbody data-infinite-scroller="#Contents-scroll" data-infinite-content-href="<%= url_for(format: :json, partial: :contents_rows, offset: next_page_offset) if next_page_offset %>">
+      <%= render partial: 'show_contents_rows', locals: {project: @object, objects_and_names: @objects_and_names} %>
+    </tbody>
+    <thead>
+      <tr>
+        <th>
+        </th>
+        <th>
+          description
+        </th>
+      </tr>
+    </thead>
+  </table>
+
+</div>