mirror of
https://github.com/nasa/openmct.git
synced 2025-05-12 13:33:14 +00:00
[Time Controller] Update inner span
Update inner span when outer dates change (if needed), WTD-1515
This commit is contained in:
parent
600ff1a3ee
commit
c58ffb4a52
@ -69,8 +69,22 @@ define(
|
|||||||
updateTicks();
|
updateTicks();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function updateViewForInnerSpanFromModel(ngModel) {
|
||||||
|
var span = ngModel.outer[1] - ngModel.outer[0];
|
||||||
|
|
||||||
|
// Expose readable dates for the knobs
|
||||||
|
$scope.startInnerText = formatTimestamp(ngModel.inner[0]);
|
||||||
|
$scope.endInnerText = formatTimestamp(ngModel.inner[1]);
|
||||||
|
|
||||||
|
// And positions for the knobs
|
||||||
|
$scope.startInnerPct =
|
||||||
|
toPercent((ngModel.inner[0] - ngModel.outer[0]) / span);
|
||||||
|
$scope.endInnerPct =
|
||||||
|
toPercent((ngModel.outer[1] - ngModel.inner[1]) / span);
|
||||||
|
}
|
||||||
|
|
||||||
function updateViewFromModel(ngModel) {
|
function updateViewFromModel(ngModel) {
|
||||||
var t = now(), span;
|
var t = now();
|
||||||
|
|
||||||
ngModel = ngModel || {};
|
ngModel = ngModel || {};
|
||||||
ngModel.outer = ngModel.outer || [ t - 24 * 3600 * 1000, t ];
|
ngModel.outer = ngModel.outer || [ t - 24 * 3600 * 1000, t ];
|
||||||
@ -80,16 +94,8 @@ define(
|
|||||||
$scope.startOuterDate = formatTimestamp(ngModel.outer[0]);
|
$scope.startOuterDate = formatTimestamp(ngModel.outer[0]);
|
||||||
$scope.endOuterDate = formatTimestamp(ngModel.outer[1]);
|
$scope.endOuterDate = formatTimestamp(ngModel.outer[1]);
|
||||||
|
|
||||||
// Then readable dates for the knobs
|
// Then various updates for the inner span
|
||||||
$scope.startInnerText = formatTimestamp(ngModel.inner[0]);
|
updateViewForInnerSpanFromModel(ngModel);
|
||||||
$scope.endInnerText = formatTimestamp(ngModel.inner[1]);
|
|
||||||
|
|
||||||
// And positions for the knobs
|
|
||||||
span = ngModel.outer[1] - ngModel.outer[0];
|
|
||||||
$scope.startInnerPct =
|
|
||||||
toPercent((ngModel.inner[0] - ngModel.outer[0]) / span);
|
|
||||||
$scope.endInnerPct =
|
|
||||||
toPercent((ngModel.outer[1] - ngModel.inner[1]) / span);
|
|
||||||
|
|
||||||
// Stick it back is scope (in case we just set defaults)
|
// Stick it back is scope (in case we just set defaults)
|
||||||
$scope.ngModel = ngModel;
|
$scope.ngModel = ngModel;
|
||||||
@ -162,11 +168,19 @@ define(
|
|||||||
function updateOuterStart(text) {
|
function updateOuterStart(text) {
|
||||||
var ngModel = $scope.ngModel;
|
var ngModel = $scope.ngModel;
|
||||||
ngModel.outer[0] = parseTimestamp(text, ngModel.outer[0]);
|
ngModel.outer[0] = parseTimestamp(text, ngModel.outer[0]);
|
||||||
|
ngModel.outer[1] = Math.max(ngModel.outer[0], ngModel.outer[1]);
|
||||||
|
ngModel.inner[0] = Math.max(ngModel.outer[0], ngModel.inner[0]);
|
||||||
|
ngModel.inner[1] = Math.max(ngModel.outer[0], ngModel.inner[1]);
|
||||||
|
updateViewForInnerSpanFromModel(ngModel);
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateOuterEnd(text) {
|
function updateOuterEnd(text) {
|
||||||
var ngModel = $scope.ngModel;
|
var ngModel = $scope.ngModel;
|
||||||
ngModel.outer[1] = parseTimestamp(text, ngModel.outer[1]);
|
ngModel.outer[1] = parseTimestamp(text, ngModel.outer[1]);
|
||||||
|
ngModel.outer[0] = Math.min(ngModel.outer[1], ngModel.outer[0]);
|
||||||
|
ngModel.inner[0] = Math.min(ngModel.outer[1], ngModel.inner[0]);
|
||||||
|
ngModel.inner[1] = Math.min(ngModel.outer[1], ngModel.inner[1]);
|
||||||
|
updateViewForInnerSpanFromModel(ngModel);
|
||||||
}
|
}
|
||||||
|
|
||||||
$scope.startLeftDrag = startLeftDrag;
|
$scope.startLeftDrag = startLeftDrag;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user