瀏覽代碼

DashboardSrv: export getDashboardSrv to react (#16687)

Ryan McKinley 6 年之前
父節點
當前提交
36d88cc994
共有 1 個文件被更改,包括 19 次插入1 次删除
  1. 19 1
      public/app/features/dashboard/services/DashboardSrv.ts

+ 19 - 1
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;
+}