mirror of
https://github.com/nasa/openmct.git
synced 2025-01-27 14:49:28 +00:00
Merge branch 'telemetry-comps' into combined-rodap-stuff
This commit is contained in:
commit
4f13fd7fe3
@ -184,7 +184,7 @@ export default class TelemetryCollection extends EventEmitter {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
this._processNewTelemetry(historicalData);
|
this._processNewTelemetry(historicalData, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -200,7 +200,7 @@ export default class TelemetryCollection extends EventEmitter {
|
|||||||
options.strategy = this.openmct.telemetry.SUBSCRIBE_STRATEGY.BATCH;
|
options.strategy = this.openmct.telemetry.SUBSCRIBE_STRATEGY.BATCH;
|
||||||
this.unsubscribe = this.openmct.telemetry.subscribe(
|
this.unsubscribe = this.openmct.telemetry.subscribe(
|
||||||
this.domainObject,
|
this.domainObject,
|
||||||
(datum) => this._processNewTelemetry(datum),
|
(datum) => this._processNewTelemetry(datum, true),
|
||||||
options
|
options
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -211,9 +211,10 @@ export default class TelemetryCollection extends EventEmitter {
|
|||||||
*
|
*
|
||||||
* @param {(Object|Object[])} telemetryData - telemetry data object or
|
* @param {(Object|Object[])} telemetryData - telemetry data object or
|
||||||
* array of telemetry data objects
|
* array of telemetry data objects
|
||||||
|
* @param {boolean} isSubscriptionData - `true` if the telemetry data is new subscription data,
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
_processNewTelemetry(telemetryData) {
|
_processNewTelemetry(telemetryData, isSubscriptionData = false) {
|
||||||
if (telemetryData === undefined) {
|
if (telemetryData === undefined) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -228,16 +229,29 @@ export default class TelemetryCollection extends EventEmitter {
|
|||||||
let hasDataBeforeStartBound = false;
|
let hasDataBeforeStartBound = false;
|
||||||
let size = this.options.size;
|
let size = this.options.size;
|
||||||
let enforceSize = size !== undefined && this.options.enforceSize;
|
let enforceSize = size !== undefined && this.options.enforceSize;
|
||||||
|
const boundsToUse = this.lastBounds;
|
||||||
|
if (!isSubscriptionData && this.options.start) {
|
||||||
|
boundsToUse.start = this.options.start;
|
||||||
|
}
|
||||||
|
if (!isSubscriptionData && this.options.end) {
|
||||||
|
boundsToUse.end = this.options.end;
|
||||||
|
}
|
||||||
|
|
||||||
// loop through, sort and dedupe
|
// loop through, sort and dedupe
|
||||||
for (let datum of data) {
|
for (let datum of data) {
|
||||||
parsedValue = this.parseTime(datum);
|
parsedValue = this.parseTime(datum);
|
||||||
beforeStartOfBounds = parsedValue < this.lastBounds.start;
|
beforeStartOfBounds = parsedValue < boundsToUse.start;
|
||||||
afterEndOfBounds = parsedValue > this.lastBounds.end;
|
afterEndOfBounds = parsedValue > boundsToUse.end;
|
||||||
|
|
||||||
if (beforeStartOfBounds) {
|
if (beforeStartOfBounds) {
|
||||||
console.debug(
|
console.debug(
|
||||||
`🫙 Datum is before start of bounds: ${new Date(parsedValue).toISOString()} < ${new Date(this.lastBounds.start).toISOString()}`,
|
`🫙 Datum is BEFORE start of bounds: ${new Date(parsedValue).toISOString()} < ${new Date(this.lastBounds.start).toISOString()}`,
|
||||||
|
this.options
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (afterEndOfBounds) {
|
||||||
|
console.debug(
|
||||||
|
`🫙 Datum is AFTER start of bounds: ${new Date(parsedValue).toISOString()} < ${new Date(this.lastBounds.start).toISOString()}`,
|
||||||
this.options
|
this.options
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -352,14 +366,6 @@ export default class TelemetryCollection extends EventEmitter {
|
|||||||
|
|
||||||
this.lastBounds = bounds;
|
this.lastBounds = bounds;
|
||||||
|
|
||||||
// delete start/end if they are defined in options as we've got new bounds
|
|
||||||
if (!isTick && startChanged) {
|
|
||||||
delete this.options.start;
|
|
||||||
}
|
|
||||||
if (!isTick && endChanged) {
|
|
||||||
delete this.options.end;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isTick) {
|
if (isTick) {
|
||||||
if (this.timeKey === undefined) {
|
if (this.timeKey === undefined) {
|
||||||
return;
|
return;
|
||||||
@ -427,7 +433,10 @@ export default class TelemetryCollection extends EventEmitter {
|
|||||||
this.emit('add', added, [this.boundedTelemetry.length]);
|
this.emit('add', added, [this.boundedTelemetry.length]);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// user bounds change, reset
|
// user bounds change, reset and remove initial requested bounds (we're using new bounds)
|
||||||
|
delete this.options?.start;
|
||||||
|
delete this.options?.end;
|
||||||
|
this.lastBounds = bounds;
|
||||||
this._reset();
|
this._reset();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user