2753: Move Workbench object list rendering to application_helper.
authorBrett Smith <brett@curoverse.com>
Mon, 19 May 2014 15:22:48 +0000 (11:22 -0400)
committerBrett Smith <brett@curoverse.com>
Mon, 19 May 2014 16:08:02 +0000 (12:08 -0400)
I would like to be able to reuse this functionality in the upcoming
Collections view.

apps/workbench/app/helpers/application_helper.rb
apps/workbench/app/views/folders/show.html.erb

index dbb05d6ad4ae1d0b9a027194c93d596f9b8007c8..f363fb4047f97b40d052565373cf769deb3e40c5 100644 (file)
@@ -283,4 +283,16 @@ module ApplicationHelper
 
     lt
   end
+
+  def render_arvados_object_list_start(list, button_text, button_href,
+                                       params={}, *rest, &block)
+    show_max = params.delete(:show_max) || 3
+    params[:class] ||= 'btn btn-xs btn-default'
+    list[0...show_max].each { |item| yield item }
+    unless list[show_max].nil?
+      link_to(button_text +
+              raw(' &nbsp; <i class="fa fa-fw fa-arrow-circle-right"></i>'),
+              button_href, params, *rest)
+    end
+  end
 end
index 11bb52c70b7bbb8290f6dabf1e4670d354fa61c1..3cf7f1acbe6fbdba8d26aa6e4ec7dab57cbe6dab 100644 (file)
        <input type="text" class="form-control" placeholder="Search"/>
         -->
        <div style="height:0.5em;"></div>
-        <% @logs[0..2].each do |log| %>
-       <p>
-         <%= time_ago_in_words(log.event_at) %> ago: <%= log.summary %>
-          <% if log.object_uuid %>
-          <%= link_to_if_arvados_object log.object_uuid, link_text: raw('<i class="fa fa-hand-o-right"></i>') %>
-          <% end %>
-       </p>
-        <% end %>
         <% if @logs.any? %>
-       <%= link_to raw('Show all activity &nbsp; <i class="fa fa-fw fa-arrow-circle-right"></i>'),
-            logs_path(filters: [['object_uuid','=',@object.uuid]].to_json),
-            class: 'btn btn-xs btn-default' %>
+          <%= render_arvados_object_list_start(@logs, 'Show all activity',
+                logs_path(filters: [['object_uuid','=',@object.uuid]].to_json)) do |log| %>
+          <p>
+         <%= time_ago_in_words(log.event_at) %> ago: <%= log.summary %>
+            <% if log.object_uuid %>
+            <%= link_to_if_arvados_object log.object_uuid, link_text: raw('<i class="fa fa-hand-o-right"></i>') %>
+            <% end %>
+          </p>
+          <% end %>
         <% else %>
-        <p>
-          Created: <%= @object.created_at.to_s(:long) %>
-        </p>
-        <p>
-          Last modified: <%= @object.modified_at.to_s(:long) %> by <%= link_to_if_arvados_object @object.modified_by_user_uuid, friendly_name: true %>
-        </p>
+          <p>
+            Created: <%= @object.created_at.to_s(:long) %>
+          </p>
+          <p>
+            Last modified: <%= @object.modified_at.to_s(:long) %> by <%= link_to_if_arvados_object @object.modified_by_user_uuid, friendly_name: true %>
+          </p>
         <% end %>
       </div>
     </div>