From f738f84075dd8509f6946dd7c9ed06aa5ccba8bf Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Thu, 8 Oct 2015 16:02:47 -0700 Subject: [PATCH] [Time Conductor] Enforce minimum outer span --- .../src/controllers/TimeRangeController.js | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/platform/commonUI/general/src/controllers/TimeRangeController.js b/platform/commonUI/general/src/controllers/TimeRangeController.js index 60df6343bb..c3ded37832 100644 --- a/platform/commonUI/general/src/controllers/TimeRangeController.js +++ b/platform/commonUI/general/src/controllers/TimeRangeController.js @@ -34,7 +34,8 @@ define( */ function TimeConductorController($scope, now) { var tickCount = 2, - innerMinimum = 1000, // 1 second + innerMinimumSpan = 1000, // 1 second + outerMinimumSpan = 1000 * 60 * 60, // 1 hour initialDragValue; function formatTimestamp(ts) { @@ -140,7 +141,7 @@ define( $scope.ngModel.inner.start = clamp( initialDragValue + delta, $scope.ngModel.outer.start, - $scope.ngModel.inner.end - innerMinimum + $scope.ngModel.inner.end - innerMinimumSpan ); updateViewFromModel($scope.ngModel); } @@ -149,7 +150,7 @@ define( var delta = toMillis(pixels); $scope.ngModel.inner.end = clamp( initialDragValue + delta, - $scope.ngModel.inner.start + innerMinimum, + $scope.ngModel.inner.start + innerMinimumSpan, $scope.ngModel.outer.end ); updateViewFromModel($scope.ngModel); @@ -175,8 +176,12 @@ define( function updateOuterStart(t) { var ngModel = $scope.ngModel; - ngModel.outer.end = - Math.max(ngModel.outer.start, ngModel.outer.end); + + ngModel.outer.end = Math.max( + ngModel.outer.start + outerMinimumSpan, + ngModel.outer.end + ); + ngModel.inner.start = Math.max(ngModel.outer.start, ngModel.inner.start); ngModel.inner.end = @@ -189,8 +194,12 @@ define( function updateOuterEnd(t) { var ngModel = $scope.ngModel; - ngModel.outer.start = - Math.min(ngModel.outer.end, ngModel.outer.start); + + ngModel.outer.start = Math.min( + ngModel.outer.end - outerMinimumSpan, + ngModel.outer.start + ); + ngModel.inner.start = Math.min(ngModel.outer.end, ngModel.inner.start); ngModel.inner.end =