mirror of
https://github.com/nasa/openmct.git
synced 2025-06-16 06:08:11 +00:00
[Time Conductor] Update fixed position from history
WTD-1515
This commit is contained in:
@ -43,7 +43,8 @@ define(
|
|||||||
handle,
|
handle,
|
||||||
names = {}, // Cache names by ID
|
names = {}, // Cache names by ID
|
||||||
values = {}, // Cache values by ID
|
values = {}, // Cache values by ID
|
||||||
elementProxiesById = {};
|
elementProxiesById = {},
|
||||||
|
maxDomainValue = Number.POSITIVE_INFINITY;
|
||||||
|
|
||||||
// Convert from element x/y/width/height to an
|
// Convert from element x/y/width/height to an
|
||||||
// appropriate ng-style argument, to position elements.
|
// appropriate ng-style argument, to position elements.
|
||||||
@ -81,26 +82,52 @@ define(
|
|||||||
return element.handles().map(generateDragHandle);
|
return element.handles().map(generateDragHandle);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update the displayed value for this object
|
// Update the value displayed in elements of this telemetry object
|
||||||
function updateValue(telemetryObject) {
|
function setDisplayedValue(telemetryObject, value, alarm) {
|
||||||
var id = telemetryObject && telemetryObject.getId(),
|
var id = telemetryObject.getId();
|
||||||
limit = telemetryObject &&
|
|
||||||
telemetryObject.getCapability('limit'),
|
|
||||||
datum = telemetryObject &&
|
|
||||||
handle.getDatum(telemetryObject),
|
|
||||||
alarm = limit && datum && limit.evaluate(datum);
|
|
||||||
|
|
||||||
if (id) {
|
|
||||||
(elementProxiesById[id] || []).forEach(function (element) {
|
(elementProxiesById[id] || []).forEach(function (element) {
|
||||||
names[id] = telemetryObject.getModel().name;
|
names[id] = telemetryObject.getModel().name;
|
||||||
values[id] = telemetryFormatter.formatRangeValue(
|
values[id] = telemetryFormatter.formatRangeValue(value);
|
||||||
handle.getRangeValue(telemetryObject)
|
|
||||||
);
|
|
||||||
element.name = names[id];
|
element.name = names[id];
|
||||||
element.value = values[id];
|
element.value = values[id];
|
||||||
element.cssClass = alarm && alarm.cssClass;
|
element.cssClass = alarm && alarm.cssClass;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Update the displayed value for this object, from a specific
|
||||||
|
// telemetry series
|
||||||
|
function updateValueFromSeries(telemetryObject, telemetrySeries) {
|
||||||
|
var index = telemetrySeries.getPointCount() - 1,
|
||||||
|
limit = telemetryObject &&
|
||||||
|
telemetryObject.getCapability('limit'),
|
||||||
|
datum = telemetryObject && handle.getDatum(
|
||||||
|
telemetryObject,
|
||||||
|
telemetrySeries,
|
||||||
|
index
|
||||||
|
);
|
||||||
|
|
||||||
|
setDisplayedValue(
|
||||||
|
telemetryObject,
|
||||||
|
telemetrySeries.getRangeValue(index),
|
||||||
|
limit && datum && limit.evaluate(datum)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update the displayed value for this object
|
||||||
|
function updateValue(telemetryObject) {
|
||||||
|
var limit = telemetryObject &&
|
||||||
|
telemetryObject.getCapability('limit'),
|
||||||
|
datum = telemetryObject &&
|
||||||
|
handle.getDatum(telemetryObject);
|
||||||
|
|
||||||
|
if (telemetryObject &&
|
||||||
|
handle.getDomainValue(telemetryObject) < maxDomainValue) {
|
||||||
|
setDisplayedValue(
|
||||||
|
telemetryObject,
|
||||||
|
handle.getRangeValue(telemetryObject),
|
||||||
|
limit && datum && limit.evaluate(datum)
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update element positions when grid size changes
|
// Update element positions when grid size changes
|
||||||
@ -207,8 +234,14 @@ define(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Trigger a new query for telemetry data
|
// Trigger a new query for telemetry data
|
||||||
function requery() {
|
function updateDisplayBounds(bounds) {
|
||||||
subscribe($scope.domainObject);
|
maxDomainValue = bounds.end;
|
||||||
|
if (handle) {
|
||||||
|
handle.request(
|
||||||
|
{ size: 1 }, // Only need a single data point
|
||||||
|
updateValueFromSeries
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add an element to this view
|
// Add an element to this view
|
||||||
@ -286,10 +319,7 @@ define(
|
|||||||
$scope.$on("mctDrop", handleDrop);
|
$scope.$on("mctDrop", handleDrop);
|
||||||
|
|
||||||
// Respond to external bounds changes
|
// Respond to external bounds changes
|
||||||
$scope.$on("telemetry:display:bounds", throttle(requery, 250));
|
$scope.$on("telemetry:display:bounds", updateDisplayBounds);
|
||||||
|
|
||||||
// Respond to external query range changes
|
|
||||||
$scope.$on("telemetry:query:bounds", throttle(requery, 250));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user