$pane.removeClass('pane-loaded');
$pane.removeClass('pane-stale');
- if (!$pane.hasClass('active')) {
- // When the user selects e.target tab, show a spinner instead of
- // old content while loading.
+ if (!$pane.hasClass('active') &&
+ $pane.parent().hasClass('tab-content')) {
+ // $pane is one of the content areas in a bootstrap tabs
+ // widget, and it isn't the currently selected tab. If and
+ // when the user does select the corresponding tab, it will
+ // get a shown.bs.tab event, which will invoke this reload
+ // function again (see handler above). For now, we just insert
+ // a spinner, which will be displayed while the new content is
+ // loading.
$pane.html('<div class="spinner spinner-32px spinner-h-center"></div>');
return;
}
<% content_for :tab_line_buttons do %>
- <div class="active pane-loaded arv-log-event-listener arv-refresh-on-state-change"
+ <div class="pane-loaded arv-log-event-listener arv-refresh-on-state-change"
data-pane-content-url="<%= url_for(params.merge(tab_pane: "job_buttons")) %>"
data-object-uuid="<%= @object.uuid %>"
style="display: inline">
<% log_uuids = [@object.uuid] + pipeline_jobs(@object).collect{|x|x[:job].andand[:uuid]}.compact %>
<% log_history = stderr_log_history(log_uuids) %>
<div id="pipeline_event_log_div"
- class="active arv-log-event-listener arv-log-event-handler-append-logs arv-log-event-subscribe-to-pipeline-job-uuids arv-job-log-window"
+ class="arv-log-event-listener arv-log-event-handler-append-logs arv-log-event-subscribe-to-pipeline-job-uuids arv-job-log-window"
data-object-uuids="<%= log_uuids.join(' ') %>"
><%= log_history.join("\n") %></div>
<div class="arv-log-refresh-control"