diff --git a/src/plugins/LADTable/components/LADRow.vue b/src/plugins/LADTable/components/LADRow.vue
index 39e8092ebb..cc7a0da9d0 100644
--- a/src/plugins/LADTable/components/LADRow.vue
+++ b/src/plugins/LADTable/components/LADRow.vue
@@ -32,6 +32,12 @@
class="js-third-data"
:class="valueClass"
>{{ value }}
+
+ {{ unit }}
+ |
@@ -48,6 +54,10 @@ export default {
domainObject: {
type: Object,
required: true
+ },
+ hasUnits: {
+ type: Boolean,
+ requred: true
}
},
data() {
@@ -59,7 +69,8 @@ export default {
timestamp: undefined,
value: '---',
valueClass: '',
- currentObjectPath
+ currentObjectPath,
+ unit: ''
}
},
computed: {
@@ -101,6 +112,10 @@ export default {
.subscribe(this.domainObject, this.updateValues);
this.requestHistory();
+
+ if(this.hasUnits) {
+ this.setUnit();
+ }
},
destroyed() {
this.stopWatchingMutation();
@@ -185,6 +200,9 @@ export default {
console.warn(`No formatter for ${this.timestampKey} time system for ${this.domainObject.name}.`);
return false;
}
+ },
+ setUnit() {
+ this.unit = this.valueMetadata.unit || '';
}
}
}
diff --git a/src/plugins/LADTable/components/LADTable.vue b/src/plugins/LADTable/components/LADTable.vue
index f5d073be07..1d04692e48 100644
--- a/src/plugins/LADTable/components/LADTable.vue
+++ b/src/plugins/LADTable/components/LADTable.vue
@@ -28,6 +28,7 @@
Name |
Timestamp |
Value |
+ Unit |
@@ -35,6 +36,7 @@
v-for="item in items"
:key="item.key"
:domain-object="item.domainObject"
+ :has-units="hasUnits"
/>
@@ -51,7 +53,8 @@ export default {
},
data() {
return {
- items: []
+ items: [],
+ hasUnits: false
}
},
mounted() {
@@ -73,6 +76,9 @@ export default {
item.key = this.openmct.objects.makeKeyString(domainObject.identifier);
this.items.push(item);
+ if(!this.hasUnits) {
+ this.checkForUnits(domainObject);
+ }
},
removeItem(identifier) {
let index = this.items.findIndex(item => this.openmct.objects.makeKeyString(identifier) === item.key);
@@ -84,6 +90,15 @@ export default {
reorderPlan.forEach((reorderEvent) => {
this.$set(this.items, reorderEvent.newIndex, oldItems[reorderEvent.oldIndex]);
});
+ },
+ checkForUnits(domainObject) {
+ let metadata = this.openmct.telemetry.getMetadata(domainObject);
+ metadata.valueMetadatas.forEach((metadatum) => {
+ if(metadatum.unit) {
+ this.hasUnits = true;
+ return;
+ }
+ });
}
}
}
diff --git a/src/plugins/LADTable/components/LadTableSet.vue b/src/plugins/LADTable/components/LadTableSet.vue
index ff2bf349a4..56e1e1acb6 100644
--- a/src/plugins/LADTable/components/LadTableSet.vue
+++ b/src/plugins/LADTable/components/LadTableSet.vue
@@ -27,6 +27,7 @@
Name |
Timestamp |
Value |
+ Unit |
@@ -45,6 +46,7 @@
v-for="secondary in secondaryTelemetryObjects[primary.key]"
:key="secondary.key"
:domain-object="secondary.domainObject"
+ :has-units="hasUnits"
/>
@@ -63,7 +65,8 @@ export default {
return {
primaryTelemetryObjects: [],
secondaryTelemetryObjects: {},
- compositions: []
+ compositions: [],
+ hasUnits: false
}
},
mounted() {
@@ -108,6 +111,7 @@ export default {
this.$set(this.secondaryTelemetryObjects, primary.key, undefined);
this.primaryTelemetryObjects.splice(index,1);
primary = undefined;
+ this.checkForUnits();
},
reorderPrimary(reorderPlan) {
let oldComposition = this.primaryTelemetryObjects.slice();
@@ -125,6 +129,9 @@ export default {
array.push(secondary);
this.$set(this.secondaryTelemetryObjects, primary.key, array);
+ if(!this.hasUnits) {
+ this.checkForUnits(domainObject);
+ }
}
},
removeSecondary(primary) {
@@ -135,7 +142,25 @@ export default {
array.splice(index, 1);
this.$set(this.secondaryTelemetryObjects, primary.key, array);
+ this.checkForUnits();
}
+ },
+ checkForUnits() {
+ let hasUnits = false;
+ for(let telemetryObject in this.secondaryTelemetryObjects) {
+ if(this.secondaryTelemetryObjects[telemetryObject]) {
+ let objects = this.secondaryTelemetryObjects[telemetryObject];
+ for(let current of objects) {
+ let metadata = this.openmct.telemetry.getMetadata(current.domainObject);
+ for(let metadatum of metadata.valueMetadatas) {
+ if(metadatum.unit) {
+ hasUnits = true;
+ }
+ };
+ }
+ }
+ }
+ this.hasUnits = hasUnits;
}
}
}
diff --git a/src/plugins/displayLayout/DisplayLayoutToolbar.js b/src/plugins/displayLayout/DisplayLayoutToolbar.js
index c07c58d26a..b1c4432c05 100644
--- a/src/plugins/displayLayout/DisplayLayoutToolbar.js
+++ b/src/plugins/displayLayout/DisplayLayoutToolbar.js
@@ -521,7 +521,6 @@ define(['lodash'], function (_) {
applicableSelectedItems: applicableItems,
contextMethod: 'toggleUnits',
property: function (selectionPath) {
- console.log('path', selectionPath, getPath(selectionPath) + '.showUnits');
return getPath(selectionPath) + '.showUnits';
},
options: [
diff --git a/src/plugins/telemetryTable/TelemetryTableUnitColumn.js b/src/plugins/telemetryTable/TelemetryTableUnitColumn.js
index b98e8a35be..a26bdf85e7 100644
--- a/src/plugins/telemetryTable/TelemetryTableUnitColumn.js
+++ b/src/plugins/telemetryTable/TelemetryTableUnitColumn.js
@@ -29,12 +29,12 @@ define([
super(openmct, metadatum);
this.isUnit = true;
this.titleValue += ' Unit';
- this.formatter = {
- format(datum) {
- return metadatum.unit;
+ this.formatter = {
+ format: (datum) => {
+ return this.metadatum.unit;
},
- parse(datum) {
- return metadatum.unit;
+ parse: (datum) => {
+ return this.metadatum.unit;
}
};
}
@@ -54,10 +54,6 @@ define([
getFormattedValue(telemetryDatum) {
return this.formatter.format(telemetryDatum);
}
-
- getParsedValue(telemetryDatum) {
- return this.formatter.parse(telemetryDatum);
- }
}
return TelemetryTableUnitColumn;
diff --git a/src/plugins/telemetryTable/components/table-configuration.vue b/src/plugins/telemetryTable/components/table-configuration.vue
index cffbda0750..f92c8a2b1c 100644
--- a/src/plugins/telemetryTable/components/table-configuration.vue
+++ b/src/plugins/telemetryTable/components/table-configuration.vue
@@ -69,6 +69,7 @@