Commit 52d57822 authored by Sean McGivern's avatar Sean McGivern

Start performance bar eagerly

On the issues page (for instance), we have an `Issue` class. The constructor for
that class makes some calls to get things like related branches using Axios.
However, those calls were happening before the performance bar app was mounted,
and so the interceptor wasn't configured - meaning we missed out on the
performance data for those calls.

This changes the performance bar app to be loaded eagerly instead of lazily,
which solves that problem - related branches calls will now show up in the
performance bar.

The downside is that now the performance bar app is always imported, even when
it's not used. However, it appears to be part of the main app bundle anyway, so
this shouldn't affect the size of our assets.
parent 87f7597a
/* eslint-disable consistent-return, no-new */ /* eslint-disable consistent-return, no-new */
import $ from 'jquery'; import $ from 'jquery';
import Flash from './flash';
import GfmAutoComplete from './gfm_auto_complete'; import GfmAutoComplete from './gfm_auto_complete';
import { convertPermissionToBoolean } from './lib/utils/common_utils'; import { convertPermissionToBoolean } from './lib/utils/common_utils';
import GlFieldErrors from './gl_field_errors'; import GlFieldErrors from './gl_field_errors';
import Shortcuts from './shortcuts'; import Shortcuts from './shortcuts';
import SearchAutocomplete from './search_autocomplete'; import SearchAutocomplete from './search_autocomplete';
import performanceBar from './performance_bar';
function initSearch() { function initSearch() {
// Only when search form is present // Only when search form is present
...@@ -72,9 +72,7 @@ function initGFMInput() { ...@@ -72,9 +72,7 @@ function initGFMInput() {
function initPerformanceBar() { function initPerformanceBar() {
if (document.querySelector('#js-peek')) { if (document.querySelector('#js-peek')) {
import('./performance_bar') performanceBar({ container: '#js-peek' });
.then(m => new m.default({ container: '#js-peek' })) // eslint-disable-line new-cap
.catch(() => Flash('Error loading performance bar module'));
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment