Merge branch 'master' of https://github.com/nasa/openmct into fix-telemetryview-styles

This commit is contained in:
Joshi 2020-04-02 10:30:07 -07:00
commit 666459be87
4 changed files with 61 additions and 43 deletions

View File

@ -238,7 +238,7 @@ export default class ConditionManager extends EventEmitter {
} }
requestLADConditionSetOutput() { requestLADConditionSetOutput() {
if (!this.conditionClassCollection.length || this.conditionClassCollection.length === 1) { if (!this.conditionClassCollection.length) {
return Promise.resolve([]); return Promise.resolve([]);
} }

View File

@ -105,6 +105,14 @@ export default {
} }
}, },
getCriterionDescription(criterion, index) { getCriterionDescription(criterion, index) {
if (!criterion.telemetry) {
let description = `Unknown ${criterion.metadata} ${this.getOperatorText(criterion.operation, criterion.input)}`;
this.criterionDescriptions.splice(index, 0, description);
} else if (criterion.telemetry === 'all' || criterion.telemetry === 'any') {
const telemetryDescription = criterion.telemetry === 'all' ? 'All telemetry' : 'Any telemetry';
let description = `${telemetryDescription} ${criterion.metadata} ${this.getOperatorText(criterion.operation, criterion.input)}`;
this.criterionDescriptions.splice(index, 0, description);
} else {
this.openmct.objects.get(criterion.telemetry).then((telemetryObject) => { this.openmct.objects.get(criterion.telemetry).then((telemetryObject) => {
if (telemetryObject.type === 'unknown') { if (telemetryObject.type === 'unknown') {
let description = `Unknown ${criterion.metadata} ${this.getOperatorText(criterion.operation, criterion.input)}`; let description = `Unknown ${criterion.metadata} ${this.getOperatorText(criterion.operation, criterion.input)}`;
@ -135,6 +143,7 @@ export default {
} }
} }
}); });
}
}, },
getOperatorText(operationName, values) { getOperatorText(operationName, values) {
const found = OPERATIONS.find((operation) => operation.name === operationName); const found = OPERATIONS.find((operation) => operation.name === operationName);

View File

@ -66,6 +66,13 @@ export default {
} }
}, },
getCriterionErrors(criterion, index) { getCriterionErrors(criterion, index) {
if (!criterion.telemetry) {
this.conditionErrors.push({
message: ERROR.TELEMETRY_NOT_FOUND,
additionalInfo: ''
});
} else {
if (criterion.telemetry !== 'all' && criterion.telemetry !== 'any') {
this.openmct.objects.get(criterion.telemetry).then((telemetryObject) => { this.openmct.objects.get(criterion.telemetry).then((telemetryObject) => {
if (telemetryObject.type === 'unknown') { if (telemetryObject.type === 'unknown') {
this.conditionErrors.push({ this.conditionErrors.push({
@ -76,5 +83,7 @@ export default {
}); });
} }
} }
}
}
} }
</script> </script>

View File

@ -137,28 +137,28 @@ export default class TelemetryCriterion extends EventEmitter {
return this.formatData({}, options.telemetryObjects); return this.formatData({}, options.telemetryObjects);
} }
const telemetryRequests = options.telemetryObjects let keys = Object.keys(Object.assign({}, options.telemetryObjects));
.map(telemetryObject => this.telemetryAPI.request( const telemetryRequests = keys
telemetryObject, .map(key => this.telemetryAPI.request(
options.telemetryObjects[key],
options options
)); ));
return Promise.all(telemetryRequests) return Promise.all(telemetryRequests)
.then(telemetryRequestsResults => { .then(telemetryRequestsResults => {
let latestDatum;
telemetryRequestsResults.forEach((results, index) => { telemetryRequestsResults.forEach((results, index) => {
const latestDatum = results.length ? results[results.length - 1] : {}; latestDatum = results.length ? results[results.length - 1] : {};
if (index === telemetryRequestsResults.length-1) { if (index < telemetryRequestsResults.length-1) {
//when the last result is computed, we return the result
return {
id: this.id,
data: this.formatData(latestDatum, options.telemetryObjects)
};
} else {
if (latestDatum) { if (latestDatum) {
this.telemetryDataCache[latestDatum.id] = this.computeResult(latestDatum); this.telemetryDataCache[latestDatum.id] = this.computeResult(latestDatum);
} }
} }
}); });
return {
id: this.id,
data: this.formatData(latestDatum, options.telemetryObjects)
};
}); });
} }