mirror of
https://github.com/nasa/openmct.git
synced 2025-05-29 05:34:18 +00:00
provide telemetry
* listen to realtime data
This commit is contained in:
parent
78cf75323f
commit
92ecf3af1d
24
src/plugins/condition/ConditionSetTelemetryProvider.js
Normal file
24
src/plugins/condition/ConditionSetTelemetryProvider.js
Normal file
@ -0,0 +1,24 @@
|
||||
import ConditionManager from './ConditionManager'
|
||||
|
||||
export default class ConditionSetTelemetryProvider {
|
||||
constructor(openmct) {
|
||||
this.openmct = openmct;
|
||||
}
|
||||
|
||||
supportsRequest(domainObject, options) {
|
||||
return false;
|
||||
}
|
||||
|
||||
supportsSubscribe(domainObject) {
|
||||
return domainObject.type === 'conditionSet';
|
||||
}
|
||||
|
||||
subscribe(domainObject, callback) {
|
||||
let conditionManager = new ConditionManager(domainObject, this.openmct);
|
||||
conditionManager.on('conditionSetResultUpdated', (output) => output);
|
||||
|
||||
return function unsubscribe() {
|
||||
conditionManager.off('conditionSetResultUpdated');
|
||||
}
|
||||
}
|
||||
}
|
@ -54,12 +54,21 @@ export default {
|
||||
},
|
||||
mounted() {
|
||||
this.conditionSetIdentifier = this.openmct.objects.makeKeyString(this.domainObject.identifier);
|
||||
this.provideTelemetry();
|
||||
},
|
||||
beforeDestroy() {
|
||||
if (this.stopProvidingTelemetry) {
|
||||
this.stopProvidingTelemetry();
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
updateCurrentOutput(currentConditionResult) {
|
||||
if (this.openmct.objects.makeKeyString(currentConditionResult.id) === this.conditionSetIdentifier) {
|
||||
this.currentConditionOutput = currentConditionResult.output;
|
||||
}
|
||||
},
|
||||
provideTelemetry() {
|
||||
this.stopProvidingTelemetry = this.openmct.telemetry.subscribe(this.domainObject);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
@ -21,6 +21,7 @@
|
||||
*****************************************************************************/
|
||||
import ConditionSetViewProvider from './ConditionSetViewProvider.js';
|
||||
import ConditionSetCompositionPolicy from "./ConditionSetCompositionPolicy";
|
||||
import ConditionSetTelemetryProvider from './ConditionSetTelemetryProvider';
|
||||
|
||||
export default function ConditionPlugin() {
|
||||
|
||||
@ -50,7 +51,7 @@ export default function ConditionPlugin() {
|
||||
});
|
||||
|
||||
openmct.composition.addPolicy(new ConditionSetCompositionPolicy(openmct).allow);
|
||||
|
||||
openmct.telemetry.addProvider(new ConditionSetTelemetryProvider(openmct));
|
||||
openmct.objectViews.addProvider(new ConditionSetViewProvider(openmct));
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user