<% content_for :tab_panes do %>
+<% comparable = controller.respond_to? :compare %>
<% pane_list ||= %w(recent) %>
+<% panes = Hash[pane_list.map { |pane|
+ [pane, render(partial: 'show_' + pane.downcase,
+ locals: { comparable: comparable })]
+ }.compact] %>
<ul class="nav nav-tabs">
- <% pane_list.each_with_index do |pane, i| %>
- <li class="<%= 'active' if i==0 %>"><a href="#<%= pane %>" data-toggle="tab" id="<%= pane %>-tab"> <%= pane.capitalize.gsub('_', ' ') %></a></li>
+ <% panes.each_with_index do |(pane, content), i| %>
+ <li class="<%= 'active' if i==0 %>"><a href="#<%= pane %>" data-toggle="tab" id="<%= pane %>-tab"> <%= pane.gsub('_', ' ') %></a></li>
<% end %>
</ul>
<div class="tab-content">
-<% pane_list.each_with_index do |pane, i| %>
+<% panes.each_with_index do |(pane, content), i| %>
<div id="<%= pane %>" class="tab-pane fade <%= 'in active' if i==0 %>">
- <div class="smart-scroll">
- <%= render partial: 'show_' + pane %>
+ <div class="smart-scroll" style="margin-top:0.5em;">
+ <%= content %>
</div>
</div>
<% end %>
<% end %>
+<% content_for :js do %>
+ $(window).on('load', smart_scroll_fixup);
+ $(document).on('shown.bs.tab', 'ul.nav-tabs > li > a', smart_scroll_fixup);
+<% end %>