瀏覽代碼

Merge pull request #15100 from grafana/annotation-dashboard-switch-fix

Fix for annotations not clearing when switching dashboards
Torkel Ödegaard 7 年之前
父節點
當前提交
459a93da10
共有 1 個文件被更改,包括 9 次插入5 次删除
  1. 9 5
      public/app/features/annotations/annotations_srv.ts

+ 9 - 5
public/app/features/annotations/annotations_srv.ts

@@ -21,12 +21,16 @@ export class AnnotationsSrv {
   constructor(private $rootScope, private $q, private datasourceSrv, private backendSrv, private timeSrv) {}
   constructor(private $rootScope, private $q, private datasourceSrv, private backendSrv, private timeSrv) {}
 
 
   init(dashboard: DashboardModel) {
   init(dashboard: DashboardModel) {
+    // always clearPromiseCaches when loading new dashboard
+    this.clearPromiseCaches();
     // clear promises on refresh events
     // clear promises on refresh events
-    dashboard.on('refresh', () => {
-      this.globalAnnotationsPromise = null;
-      this.alertStatesPromise = null;
-      this.datasourcePromises = null;
-    });
+    dashboard.on('refresh', this.clearPromiseCaches.bind(this));
+  }
+
+  clearPromiseCaches() {
+    this.globalAnnotationsPromise = null;
+    this.alertStatesPromise = null;
+    this.datasourcePromises = null;
   }
   }
 
 
   getAnnotations(options) {
   getAnnotations(options) {