Explorar el Código

Merge branch 'master' into filtering_overhaul

Conflicts:
	src/app/controllers/dashboardNavCtrl.js
Torkel Ödegaard hace 11 años
padre
commit
c4a4ecfc81
Se han modificado 2 ficheros con 17 adiciones y 15 borrados
  1. 1 0
      CHANGELOG.md
  2. 16 15
      src/app/controllers/dashboardNavCtrl.js

+ 1 - 0
CHANGELOG.md

@@ -15,6 +15,7 @@
 - [Issue #277](https://github.com/grafana/grafana/issues/277). Dashboard: Fix for timepicker date & tooltip when UTC timezone selected.
 - [Issue #699](https://github.com/grafana/grafana/issues/699). Dashboard: Fix for bug when adding rows from dashboard settings dialog.
 - [Issue #723](https://github.com/grafana/grafana/issues/723). Dashboard: Fix for hide controls setting not used/initialized on dashboard load
+- [Issue #724](https://github.com/grafana/grafana/issues/724). Dashboard: Fix for zoom out causing right hand "to" range to be set in the future.
 
 **Tech**
 - Upgraded from angularjs 1.1.5 to 1.3 beta 17;

+ 16 - 15
src/app/controllers/dashboardNavCtrl.js

@@ -23,6 +23,7 @@ function (angular, _, moment, config, store) {
       $scope.onAppEvent('zoom-out', function() {
         $scope.zoom(2);
       });
+
     };
 
     $scope.set_default = function() {
@@ -112,23 +113,23 @@ function (angular, _, moment, config, store) {
     };
 
     $scope.zoom = function(factor) {
-      var _range = timeSrv.timeRange();
-      var _timespan = (_range.to.valueOf() - _range.from.valueOf());
-      var _center = _range.to.valueOf() - _timespan/2;
-
-      var _to = (_center + (_timespan*factor)/2);
-      var _from = (_center - (_timespan*factor)/2);
-
-      // If we're not already looking into the future, don't.
-      if(_to > Date.now() && _range.to < Date.now()) {
-        var _offset = _to - Date.now();
-        _from = _from - _offset;
-        _to = Date.now();
+      var range = timeSrv.timeRange();
+
+      var timespan = (range.to.valueOf() - range.from.valueOf());
+      var center = range.to.valueOf() - timespan/2;
+
+      var to = (center + (timespan*factor)/2);
+      var from = (center - (timespan*factor)/2);
+
+      if(to > Date.now() && range.to <= Date.now()) {
+        var offset = to - Date.now();
+        from = from - offset;
+        to = Date.now();
       }
 
-      timeSrv.setTime({
-        from:moment.utc(_from).toDate(),
-        to:moment.utc(_to).toDate(),
+      $scope.filter.setTime({
+        from:moment.utc(from).toDate(),
+        to:moment.utc(to).toDate(),
       });
     };