Torkel Ödegaard 6 лет назад
Родитель
Сommit
baeec495a2

+ 2 - 1
public/app/core/components/AlertBox/AlertBox.tsx

@@ -17,7 +17,8 @@ function getIconFromSeverity(severity: AppNotificationSeverity): string {
     case AppNotificationSeverity.Success: {
       return 'fa fa-check';
     }
-    default: return null;
+    default:
+      return null;
   }
 }
 

+ 20 - 0
public/app/features/dashboard/containers/DashboardPage.test.tsx

@@ -210,4 +210,24 @@ describe('DashboardPage', () => {
       expect(ctx.dashboard.panels[0].type).toBe('add-panel');
     });
   });
+
+  dashboardPageScenario("Given panel with id 0", (ctx) => {
+    ctx.setup(() => {
+      ctx.mount();
+      ctx.setDashboardProp({
+        panels: [{ id: 0, type: 'graph'}],
+        schemaVersion: 17,
+      });
+      ctx.wrapper.setProps({
+        urlEdit: true,
+        urlFullscreen: true,
+        urlPanelId: '0'
+      });
+    });
+
+    it('Should go into edit mode' , () => {
+      expect(ctx.wrapper.state().isEditing).toBe(true);
+      expect(ctx.wrapper.state().fullscreenPanel.id).toBe(0);
+    });
+  });
 });

+ 1 - 2
public/app/features/dashboard/containers/DashboardPage.tsx

@@ -90,7 +90,6 @@ export class DashboardPage extends PureComponent<Props, State> {
   }
 
   componentWillUnmount() {
-    console.log('unmount', this.props.cleanUpDashboard);
     if (this.props.dashboard) {
       this.props.cleanUpDashboard();
     }
@@ -118,7 +117,7 @@ export class DashboardPage extends PureComponent<Props, State> {
 
     // Sync url state with model
     if (urlFullscreen !== dashboard.meta.fullscreen || urlEdit !== dashboard.meta.isEditing) {
-      if (urlPanelId) {
+      if (!isNaN(parseInt(urlPanelId, 10))) {
         this.onEnterFullscreen();
       } else {
         this.onLeaveFullscreen();

+ 1 - 1
public/app/features/dashboard/services/DashboardSrv.ts

@@ -60,7 +60,7 @@ export class DashboardSrv {
       delete urlParams.edit;
     }
 
-    if (options.panelId) {
+    if (options.panelId !== undefined) {
       urlParams.panelId = options.panelId;
     } else {
       delete urlParams.panelId;