Browse Source

Merge branch '15048/navigate-from-not-saved-panel'

Torkel Ödegaard 7 years ago
parent
commit
994c79b59b

+ 0 - 1
public/app/features/dashboard/services/DashboardViewStateSrv.test.ts

@@ -58,7 +58,6 @@ describe('when updating view state', () => {
     it('should remove params from query string', () => {
     it('should remove params from query string', () => {
       viewState.update({ fullscreen: true, panelId: 1, edit: true });
       viewState.update({ fullscreen: true, panelId: 1, edit: true });
       viewState.update({ fullscreen: false });
       viewState.update({ fullscreen: false });
-      expect(viewState.dashboard.meta.fullscreen).toBe(false);
       expect(viewState.state.fullscreen).toBe(null);
       expect(viewState.state.fullscreen).toBe(null);
     });
     });
   });
   });

+ 11 - 2
public/app/features/dashboard/services/DashboardViewStateSrv.ts

@@ -72,7 +72,6 @@ export class DashboardViewStateSrv {
     }
     }
 
 
     _.extend(this.state, state);
     _.extend(this.state, state);
-    this.dashboard.meta.fullscreen = this.state.fullscreen;
 
 
     if (!this.state.fullscreen) {
     if (!this.state.fullscreen) {
       this.state.fullscreen = null;
       this.state.fullscreen = null;
@@ -117,10 +116,20 @@ export class DashboardViewStateSrv {
   }
   }
 
 
   syncState() {
   syncState() {
-    if (this.dashboard.meta.fullscreen) {
+    if (this.state.fullscreen) {
       const panel = this.dashboard.getPanelById(this.state.panelId);
       const panel = this.dashboard.getPanelById(this.state.panelId);
 
 
       if (!panel) {
       if (!panel) {
+        this.state.fullscreen = null;
+        this.state.panelId = null;
+        this.state.edit = null;
+
+        this.update(this.state);
+
+        setTimeout(() => {
+          appEvents.emit('alert-error', ['Error', 'Panel not found']);
+        }, 100);
+
         return;
         return;
       }
       }