Explorar el Código

more efficient closing of full edit/view mode

Torkel Ödegaard hace 12 años
padre
commit
26c115f29f
Se han modificado 2 ficheros con 20 adiciones y 27 borrados
  1. 20 27
      src/app/panels/graphite/module.js
  2. 0 0
      src/css/bootstrap.light.min.css

+ 20 - 27
src/app/panels/graphite/module.js

@@ -259,29 +259,19 @@ function (angular, app, $, _, kbn, moment, timeSeries) {
       return $scope.panel.auto_int && interval === $scope.panel.interval ? interval+" (auto)" : interval;
     };
 
-    /**
-     * The time range effecting the panel
-     * @return {[type]} [description]
-     */
-    $scope.get_time_range = function () {
-      var range = $scope.range = filterSrv.timeRange();
-      return range;
-    };
-
-    $scope.get_interval = function () {
-      var interval = $scope.panel.interval;
-      var range;
+    $scope.updateTimeRange = function () {
+      $scope.range = filterSrv.timeRange();
+      $scope.interval = $scope.panel.interval;
 
       if ($scope.panel.auto_int) {
-        range = $scope.get_time_range();
-        if (range) {
-          interval = kbn.secondsToHms(
-            kbn.calculate_interval(range.from, range.to, $scope.panel.resolution, 0) / 1000
+        if ($scope.range) {
+          $scope.interval = kbn.secondsToHms(
+            kbn.calculate_interval($scope.range, $scope.range, $scope.panel.resolution, 0) / 1000
           );
         }
       }
-      $scope.panel.interval = interval || '10m';
-      return $scope.panel.interval;
+      $scope.panel.interval = $scope.interval || '10m';
+      $scope.interval = $scope.panel.interval;
     };
 
     $scope.colors = [
@@ -308,11 +298,10 @@ function (angular, app, $, _, kbn, moment, timeSeries) {
 
       $scope.panelMeta.loading = true;
 
-      var range = $scope.get_time_range();
-      var interval = $scope.get_interval(range);
+      $scope.updateTimeRange();
 
       var graphiteQuery = {
-        range: range,
+        range: $scope.range,
         targets: $scope.panel.targets,
         maxDataPoints: $scope.panel.span * 50
       };
@@ -320,7 +309,7 @@ function (angular, app, $, _, kbn, moment, timeSeries) {
       return graphiteSrv.query(graphiteQuery)
         .then(function(results) {
           $scope.panelMeta.loading = false;
-          var data = $scope.receiveGraphiteData(results, range, interval);
+          var data = $scope.receiveGraphiteData(results);
           $scope.$emit('render', data);
         })
         .then(null, function(err) {
@@ -328,7 +317,7 @@ function (angular, app, $, _, kbn, moment, timeSeries) {
         });
     };
 
-    $scope.receiveGraphiteData = function(results, range, interval) {
+    $scope.receiveGraphiteData = function(results) {
       results = results.data;
       $scope.legend = [];
       var data = [];
@@ -338,9 +327,9 @@ function (angular, app, $, _, kbn, moment, timeSeries) {
       }
 
       var tsOpts = {
-        interval: interval,
-        start_date: range && range.from,
-        end_date: range && range.to,
+        interval: $scope.interval,
+        start_date: $scope.range && $scope.range.from,
+        end_date: $scope.range && $scope.range.to,
         fill_style: 'no'
       };
 
@@ -383,6 +372,7 @@ function (angular, app, $, _, kbn, moment, timeSeries) {
     $scope.enterFullscreenMode = function(options) {
       var oldHeight = $scope.row.height;
       var docHeight = $(window).height();
+      var oldTimeRange = $scope.range;
 
       $scope.row.height = options.edit ? 200 : Math.floor(docHeight * 0.7);
       $scope.editMode = options.edit;
@@ -396,7 +386,10 @@ function (angular, app, $, _, kbn, moment, timeSeries) {
           closeEditMode();
 
           $timeout(function() {
-            $scope.dashboard.refresh();
+            $scope.$emit('render');
+            if (oldTimeRange !== $scope.range) {
+              $scope.dashboard.refresh();
+            }
           });
         });
       }

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
src/css/bootstrap.light.min.css


Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio