Просмотр исходного кода

ux(dashboard): added more shortcusts to v/edit panel, #6442

Torkel Ödegaard 9 лет назад
Родитель
Сommit
47aae7f1f2

+ 8 - 0
public/app/core/services/keybindingSrv.ts

@@ -105,6 +105,14 @@ export class KeybindingSrv {
       }
       }
     });
     });
 
 
+    this.bind('v', () => {
+      if (dashboard.meta.focusPanelId) {
+        this.$rootScope.appEvent('panel-change-view', {
+          fullscreen: true, edit: null, panelId: dashboard.meta.focusPanelId
+        });
+      }
+    });
+
     this.bind('d', () => {
     this.bind('d', () => {
       if (dashboard.meta.focusPanelId && dashboard.meta.canEdit) {
       if (dashboard.meta.focusPanelId && dashboard.meta.canEdit) {
         var panelInfo = dashboard.getPanelInfoById(dashboard.meta.focusPanelId);
         var panelInfo = dashboard.getPanelInfoById(dashboard.meta.focusPanelId);

+ 1 - 0
public/app/features/dashboard/row/add_panel.ts

@@ -93,6 +93,7 @@ export class AddPanelCtrl {
       isNew: true,
       isNew: true,
     };
     };
 
 
+    this.rowCtrl.dropView = 0;
     this.dashboard.addPanel(panel, this.row);
     this.dashboard.addPanel(panel, this.row);
     this.$timeout(() => {
     this.$timeout(() => {
       this.$rootScope.$broadcast('render');
       this.$rootScope.$broadcast('render');

+ 1 - 0
public/app/features/dashboard/row/row_ctrl.ts

@@ -70,6 +70,7 @@ export class DashRowCtrl {
       }
       }
     }
     }
 
 
+    this.dropView = 0;
     this.row.panelSpanChanged();
     this.row.panelSpanChanged();
     this.$timeout(() => {
     this.$timeout(() => {
       this.$rootScope.$broadcast('render');
       this.$rootScope.$broadcast('render');

+ 7 - 0
public/app/features/dashboard/viewStateSrv.js

@@ -83,6 +83,13 @@ function (angular, _, $) {
     };
     };
 
 
     DashboardViewState.prototype.update = function(state) {
     DashboardViewState.prototype.update = function(state) {
+      // implement toggle logic
+      if (this.state.fullscreen && state.fullscreen) {
+        if (this.state.edit === state.edit) {
+          state.fullscreen = !state.fullscreen;
+        }
+      }
+
       // remember if editStateChanged
       // remember if editStateChanged
       this.editStateChanged = state.edit !== this.state.edit;
       this.editStateChanged = state.edit !== this.state.edit;