mirror of
https://github.com/nasa/openmct.git
synced 2025-01-31 08:25:31 +00:00
fix(imagery): Unblock 'latest' strategy requests for Related Telemetry in realtime mode (#6080)
* fix: use ephemeral timeContext for thumbnail metadata requests * fix(TEMP): use `eval-source-map` - **!!! REVERT THIS CHANGE BEFORE MERGE !!!** * fix: only mutate if object supports mutation * fix: pass identifier instead of whole domainObject * fix: add start and end bounds to request * Revert "fix(TEMP): use `eval-source-map`" This reverts commit 7972d8c33ab621e8852d65743e2adf946e5c14fb. * docs: add comments
This commit is contained in:
parent
a9e3eca35c
commit
327fc826c1
@ -788,7 +788,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
persistVisibleLayers() {
|
persistVisibleLayers() {
|
||||||
if (this.domainObject.configuration) {
|
if (this.domainObject.configuration && this.openmct.objects.supportsMutation(this.domainObject.identifier)) {
|
||||||
this.openmct.objects.mutate(this.domainObject, 'configuration.layers', this.layers);
|
this.openmct.objects.mutate(this.domainObject, 'configuration.layers', this.layers);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,6 +28,7 @@ function copyRelatedMetadata(metadata) {
|
|||||||
return copiedMetadata;
|
return copiedMetadata;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
import IndependentTimeContext from "@/api/time/IndependentTimeContext";
|
||||||
export default class RelatedTelemetry {
|
export default class RelatedTelemetry {
|
||||||
|
|
||||||
constructor(openmct, domainObject, telemetryKeys) {
|
constructor(openmct, domainObject, telemetryKeys) {
|
||||||
@ -88,9 +89,31 @@ export default class RelatedTelemetry {
|
|||||||
this[key].historicalDomainObject = await this._openmct.objects.get(this[key].historical.telemetryObjectId);
|
this[key].historicalDomainObject = await this._openmct.objects.get(this[key].historical.telemetryObjectId);
|
||||||
|
|
||||||
this[key].requestLatestFor = async (datum) => {
|
this[key].requestLatestFor = async (datum) => {
|
||||||
const options = {
|
// We need to create a throwaway time context and pass it along
|
||||||
|
// as a request option. We do this to "trick" the Time API
|
||||||
|
// into thinking we are in fixed time mode in order to bypass this logic:
|
||||||
|
// https://github.com/akhenry/openmct-yamcs/blob/1060d42ebe43bf346dac0f6a8068cb288ade4ba4/src/providers/historical-telemetry-provider.js#L59
|
||||||
|
// Context: https://github.com/akhenry/openmct-yamcs/pull/217
|
||||||
|
const ephemeralContext = new IndependentTimeContext(
|
||||||
|
this._openmct,
|
||||||
|
this._openmct.time,
|
||||||
|
[this[key].historicalDomainObject]
|
||||||
|
);
|
||||||
|
|
||||||
|
// Stop following the global context, stop the clock,
|
||||||
|
// and set bounds.
|
||||||
|
ephemeralContext.resetContext();
|
||||||
|
const newBounds = {
|
||||||
start: this._openmct.time.bounds().start,
|
start: this._openmct.time.bounds().start,
|
||||||
end: this._parseTime(datum),
|
end: this._parseTime(datum)
|
||||||
|
};
|
||||||
|
ephemeralContext.stopClock();
|
||||||
|
ephemeralContext.bounds(newBounds);
|
||||||
|
|
||||||
|
const options = {
|
||||||
|
start: newBounds.start,
|
||||||
|
end: newBounds.end,
|
||||||
|
timeContext: ephemeralContext,
|
||||||
strategy: 'latest'
|
strategy: 'latest'
|
||||||
};
|
};
|
||||||
let results = await this._openmct.telemetry
|
let results = await this._openmct.telemetry
|
||||||
|
Loading…
x
Reference in New Issue
Block a user