diff --git a/public/app/features/dashboard/services/DashboardSrv.ts b/public/app/features/dashboard/services/DashboardSrv.ts index c82aed13e44..66e6d1d0b70 100644 --- a/public/app/features/dashboard/services/DashboardSrv.ts +++ b/public/app/features/dashboard/services/DashboardSrv.ts @@ -3,6 +3,7 @@ import { appEvents } from 'app/core/app_events'; import locationUtil from 'app/core/utils/location_util'; import { DashboardModel } from '../state/DashboardModel'; import { removePanel } from '../utils/panel'; +import { DashboardMeta } from 'app/types'; export class DashboardSrv { dashboard: DashboardModel; @@ -12,9 +13,12 @@ export class DashboardSrv { appEvents.on('save-dashboard', this.saveDashboard.bind(this), $rootScope); appEvents.on('panel-change-view', this.onPanelChangeView); appEvents.on('remove-panel', this.onRemovePanel); + + // Export to react + setDashboardSrv(this); } - create(dashboard, meta) { + create(dashboard: any, meta: DashboardMeta) { return new DashboardModel(dashboard, meta); } @@ -223,3 +227,17 @@ export class DashboardSrv { } coreModule.service('dashboardSrv', DashboardSrv); + +// +// Code below is to export the service to react components +// + +let singletonInstance: DashboardSrv; + +export function setDashboardSrv(instance: DashboardSrv) { + singletonInstance = instance; +} + +export function getDashboardSrv(): DashboardSrv { + return singletonInstance; +}