<% content_for :js do %> function ajaxRefreshTabPane(pane) { $.ajax('<%=j url_for @object %>?tab_pane='+pane, {dataType: 'html', type: 'GET'}). done(function(data, status, jqxhr) { $('#' + pane + ' > div > div').html(data); $(document).trigger('ajax:complete') }); } $(window).on('load', smart_scroll_fixup); $(document).on('shown.bs.tab', 'ul.nav-tabs > li > a', smart_scroll_fixup); $(document).on('shown.bs.tab', function(e) { ajaxRefreshTabPane(e.target.id.slice(0, -4)); }); $(document).on('arv-log-event', function() { ajaxRefreshTabPane($('.tab-pane.active')[0].id); }); <% end %> <% content_for :tab_panes do %> <% comparable = controller.respond_to? :compare %>
<% pane_list.each_with_index do |pane, i| %>
data-object-kind="arvados#<%= ArvadosApiClient.class_kind controller.model_class %>" <% else %> data-object-uuid="<%= @object.uuid %>" <% end %> > <% content_for :js do %> <% if i != 0 %> $(document).on('ready', function() { ajaxRefreshTabPane('<%=j pane %>'); }); <% end %> <% end %>
<% if i == 0 %> <%= render(partial: 'show_' + pane.downcase, locals: { comparable: comparable, objects: @objects }) %> <% else %> <%= image_tag 'ajax-loader.gif' %> <% end %>
<% end %>
<% end %>