diff --git a/public/app/angular/GrafanaCtrl.ts b/public/app/angular/GrafanaCtrl.ts index edac9ec1961..395c3ed97f1 100644 --- a/public/app/angular/GrafanaCtrl.ts +++ b/public/app/angular/GrafanaCtrl.ts @@ -3,7 +3,7 @@ import $ from 'jquery'; import _ from 'lodash'; // eslint-disable-line lodash/import-scope import { AppEvent } from '@grafana/data'; -import { setLegacyAngularInjector, setAppEvents, setAngularLoader } from '@grafana/runtime'; +import { setLegacyAngularInjector, setAngularLoader } from '@grafana/runtime'; import { colors } from '@grafana/ui'; import coreModule from 'app/angular/core_module'; import { AngularLoader } from 'app/angular/services/AngularLoader'; @@ -31,7 +31,6 @@ export class GrafanaCtrl { // make angular loader service available to react components setAngularLoader(angularLoader); setLegacyAngularInjector($injector); - setAppEvents(appEvents); initGrafanaLive(); diff --git a/public/app/app.ts b/public/app/app.ts index 8b8473de5e7..82728cc801c 100644 --- a/public/app/app.ts +++ b/public/app/app.ts @@ -34,6 +34,7 @@ import { setRunRequest, setPluginImportUtils, setPluginsExtensionRegistry, + setAppEvents, } from '@grafana/runtime'; import { setPanelDataErrorView } from '@grafana/runtime/src/components/PanelDataErrorView'; import { setPanelRenderer } from '@grafana/runtime/src/components/PanelRenderer'; @@ -46,6 +47,7 @@ import { getStandardTransformers } from 'app/features/transformers/standardTrans import getDefaultMonacoLanguages from '../lib/monaco-languages'; import { AppWrapper } from './AppWrapper'; +import appEvents from './core/app_events'; import { AppChromeService } from './core/components/AppChrome/AppChromeService'; import { getAllOptionEditors, getAllStandardFieldConfigs } from './core/components/OptionsUI/registry'; import { PluginPage } from './core/components/PageNew/PluginPage'; @@ -124,6 +126,9 @@ export class GrafanaApp { setLocationSrv(locationService); setTimeZoneResolver(() => config.bootData.user.timezone); + // Expose the app-wide eventbus + setAppEvents(appEvents); + // We must wait for translations to load because some preloaded store state requires translating await initI18nPromise;