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

ux(dashboard): fixes for changing panel tabs, #6442

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

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

@@ -100,7 +100,10 @@ export class KeybindingSrv {
     this.bind('e', () => {
       if (dashboard.meta.focusPanelId && dashboard.meta.canEdit) {
         this.$rootScope.appEvent('panel-change-view', {
-          fullscreen: true, edit: true, panelId: dashboard.meta.focusPanelId
+          fullscreen: true,
+          edit: true,
+          panelId: dashboard.meta.focusPanelId,
+          toggle: true
         });
       }
     });
@@ -108,7 +111,10 @@ export class KeybindingSrv {
     this.bind('v', () => {
       if (dashboard.meta.focusPanelId) {
         this.$rootScope.appEvent('panel-change-view', {
-          fullscreen: true, edit: null, panelId: dashboard.meta.focusPanelId
+          fullscreen: true,
+          edit: null,
+          panelId: dashboard.meta.focusPanelId,
+          toggle: true,
         });
       }
     });

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

@@ -84,9 +84,12 @@ function (angular, _, $) {
 
     DashboardViewState.prototype.update = function(state) {
       // implement toggle logic
-      if (this.state.fullscreen && state.fullscreen) {
-        if (this.state.edit === state.edit) {
-          state.fullscreen = !state.fullscreen;
+      if (state.toggle) {
+        delete state.toggle;
+        if (this.state.fullscreen && state.fullscreen) {
+          if (this.state.edit === state.edit) {
+            state.fullscreen = !state.fullscreen;
+          }
         }
       }
 
@@ -163,7 +166,7 @@ function (angular, _, $) {
       if (!render) { return false;}
 
       $timeout(function() {
-        if (self.oldTimeRange && self.oldTimeRange !== ctrl.range) {
+        if (self.oldTimeRange !== ctrl.range) {
           self.$scope.broadcastRefresh();
         } else {
           self.$scope.$broadcast('render');

+ 0 - 1
public/app/features/panel/panel_ctrl.ts

@@ -111,7 +111,6 @@ export class PanelCtrl {
   changeTab(newIndex) {
     this.editorTabIndex = newIndex;
     var route = this.$injector.get('$route');
-
     route.current.params.tab = this.editorTabs[newIndex].title.toLowerCase();
     route.updateParams();
   }

+ 1 - 1
public/sass/components/_row.scss

@@ -247,7 +247,7 @@ a.dash-row-header-actions--tight {
 
 .row-open {
   margin-top: 1px;
-  left: -22px;
+  left: -24px;
   position: absolute;
   z-index: 100;
   transition: .10s left;

+ 3 - 3
tasks/options/watch.js

@@ -33,9 +33,9 @@ module.exports = function(config, grunt) {
 
       // copy ts file also used by source maps
       //changes changed file source to that of the changed file
-      var option = 'typescript.build.src';
-      var result = filepath;
-      grunt.config(option, result);
+      grunt.config('typescript.build.src', filepath);
+      grunt.config('tslint.source.files.src', filepath);
+
       grunt.task.run('typescript:build');
       grunt.task.run('tslint');
     }