mirror of
https://github.com/nasa/openmct.git
synced 2025-05-31 06:31:04 +00:00
Store styles for telemetry on domain objects
This commit is contained in:
parent
4e39d9fb84
commit
072bf361de
@ -37,7 +37,7 @@
|
|||||||
v-if="showLabel"
|
v-if="showLabel"
|
||||||
class="c-telemetry-view__label"
|
class="c-telemetry-view__label"
|
||||||
:class="[styleClass]"
|
:class="[styleClass]"
|
||||||
:style="objectStyle"
|
:style="telemetryObjectStyle"
|
||||||
>
|
>
|
||||||
<div class="c-telemetry-view__label-text">
|
<div class="c-telemetry-view__label-text">
|
||||||
{{ domainObject.name }}
|
{{ domainObject.name }}
|
||||||
@ -49,7 +49,7 @@
|
|||||||
:title="fieldName"
|
:title="fieldName"
|
||||||
class="c-telemetry-view__value"
|
class="c-telemetry-view__value"
|
||||||
:class="[telemetryClass, !telemetryClass && styleClass]"
|
:class="[telemetryClass, !telemetryClass && styleClass]"
|
||||||
:style="!telemetryClass && objectStyle"
|
:style="!telemetryClass && telemetryObjectStyle"
|
||||||
>
|
>
|
||||||
<div class="c-telemetry-view__value-text">
|
<div class="c-telemetry-view__value-text">
|
||||||
{{ telemetryValue }}
|
{{ telemetryValue }}
|
||||||
@ -62,7 +62,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import LayoutFrame from './LayoutFrame.vue'
|
import LayoutFrame from './LayoutFrame.vue'
|
||||||
import printj from 'printj'
|
import printj from 'printj'
|
||||||
import StyleRuleManager from "../../condition/StyleRuleManager";
|
import conditionalStylesMixin from "@/plugins/displayLayout/mixins/objectlStyles-mixin";
|
||||||
|
|
||||||
const DEFAULT_TELEMETRY_DIMENSIONS = [10, 5],
|
const DEFAULT_TELEMETRY_DIMENSIONS = [10, 5],
|
||||||
DEFAULT_POSITION = [1, 1],
|
DEFAULT_POSITION = [1, 1],
|
||||||
@ -91,6 +91,7 @@ export default {
|
|||||||
components: {
|
components: {
|
||||||
LayoutFrame
|
LayoutFrame
|
||||||
},
|
},
|
||||||
|
mixins: [conditionalStylesMixin],
|
||||||
props: {
|
props: {
|
||||||
item: {
|
item: {
|
||||||
type: Object,
|
type: Object,
|
||||||
@ -113,8 +114,7 @@ export default {
|
|||||||
datum: undefined,
|
datum: undefined,
|
||||||
formats: undefined,
|
formats: undefined,
|
||||||
domainObject: undefined,
|
domainObject: undefined,
|
||||||
currentObjectPath: undefined,
|
currentObjectPath: undefined
|
||||||
objectStyle: ''
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -135,7 +135,19 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
styleClass() {
|
styleClass() {
|
||||||
return this.objectStyle && this.objectStyle.isStyleInvisible;
|
return this.telemetryObjectStyle && this.telemetryObjectStyle.isStyleInvisible;
|
||||||
|
},
|
||||||
|
telemetryObjectStyle() {
|
||||||
|
let styleObj = Object.assign({}, this.itemStyle);
|
||||||
|
let keys = Object.keys(styleObj);
|
||||||
|
keys.forEach(key => {
|
||||||
|
if ((typeof styleObj[key] === 'string') && (styleObj[key].indexOf('transparent') > -1)) {
|
||||||
|
if (styleObj[key]) {
|
||||||
|
styleObj[key] = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return styleObj;
|
||||||
},
|
},
|
||||||
fieldName() {
|
fieldName() {
|
||||||
return this.valueMetadata && this.valueMetadata.name;
|
return this.valueMetadata && this.valueMetadata.name;
|
||||||
@ -190,15 +202,6 @@ export default {
|
|||||||
this.removeSelectable();
|
this.removeSelectable();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.unlistenStyles) {
|
|
||||||
this.unlistenStyles();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.styleRuleManager) {
|
|
||||||
this.styleRuleManager.destroy();
|
|
||||||
delete this.styleRuleManager;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.openmct.time.off("bounds", this.refreshData);
|
this.openmct.time.off("bounds", this.refreshData);
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@ -241,7 +244,6 @@ export default {
|
|||||||
},
|
},
|
||||||
setObject(domainObject) {
|
setObject(domainObject) {
|
||||||
this.domainObject = domainObject;
|
this.domainObject = domainObject;
|
||||||
this.initObjectStyles();
|
|
||||||
this.keyString = this.openmct.objects.makeKeyString(domainObject.identifier);
|
this.keyString = this.openmct.objects.makeKeyString(domainObject.identifier);
|
||||||
this.metadata = this.openmct.telemetry.getMetadata(this.domainObject);
|
this.metadata = this.openmct.telemetry.getMetadata(this.domainObject);
|
||||||
this.limitEvaluator = this.openmct.telemetry.limitEvaluator(this.domainObject);
|
this.limitEvaluator = this.openmct.telemetry.limitEvaluator(this.domainObject);
|
||||||
@ -266,30 +268,6 @@ export default {
|
|||||||
},
|
},
|
||||||
showContextMenu(event) {
|
showContextMenu(event) {
|
||||||
this.openmct.contextMenu._showContextMenuForObjectPath(this.currentObjectPath, event.x, event.y, CONTEXT_MENU_ACTIONS);
|
this.openmct.contextMenu._showContextMenuForObjectPath(this.currentObjectPath, event.x, event.y, CONTEXT_MENU_ACTIONS);
|
||||||
},
|
|
||||||
initObjectStyles() {
|
|
||||||
if (this.domainObject.configuration) {
|
|
||||||
this.styleRuleManager = new StyleRuleManager(this.domainObject.configuration.objectStyles, this.openmct, this.updateStyle.bind(this));
|
|
||||||
|
|
||||||
if (this.unlistenStyles) {
|
|
||||||
this.unlistenStyles();
|
|
||||||
}
|
|
||||||
this.unlistenStyles = this.openmct.objects.observe(this.domainObject, 'configuration.objectStyles', (newObjectStyle) => {
|
|
||||||
//Updating object styles in the inspector view will trigger this so that the changes are reflected immediately
|
|
||||||
this.styleRuleManager.updateObjectStyleConfig(newObjectStyle);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
|
||||||
updateStyle(styleObj) {
|
|
||||||
let keys = Object.keys(styleObj);
|
|
||||||
keys.forEach(key => {
|
|
||||||
if ((typeof styleObj[key] === 'string') && (styleObj[key].indexOf('transparent') > -1)) {
|
|
||||||
if (styleObj[key]) {
|
|
||||||
styleObj[key] = '';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
this.objectStyle = styleObj;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -8,9 +8,9 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.domainObject = this.$parent.domainObject;
|
this.parentDomainObject = this.$parent.domainObject;
|
||||||
this.itemId = this.item.id;
|
this.itemId = this.item.id;
|
||||||
this.objectStyle = this.getObjectStyleForItem(this.domainObject.configuration.objectStyles);
|
this.objectStyle = this.getObjectStyleForItem(this.parentDomainObject.configuration.objectStyles);
|
||||||
this.initObjectStyles();
|
this.initObjectStyles();
|
||||||
},
|
},
|
||||||
destroyed() {
|
destroyed() {
|
||||||
@ -37,7 +37,7 @@ export default {
|
|||||||
this.stopListeningObjectStyles();
|
this.stopListeningObjectStyles();
|
||||||
}
|
}
|
||||||
|
|
||||||
this.stopListeningObjectStyles = this.openmct.objects.observe(this.domainObject, 'configuration.objectStyles', (newObjectStyle) => {
|
this.stopListeningObjectStyles = this.openmct.objects.observe(this.parentDomainObject, 'configuration.objectStyles', (newObjectStyle) => {
|
||||||
//Updating object styles in the inspector view will trigger this so that the changes are reflected immediately
|
//Updating object styles in the inspector view will trigger this so that the changes are reflected immediately
|
||||||
let newItemObjectStyle = this.getObjectStyleForItem(newObjectStyle);
|
let newItemObjectStyle = this.getObjectStyleForItem(newObjectStyle);
|
||||||
if (this.objectStyle !== newItemObjectStyle) {
|
if (this.objectStyle !== newItemObjectStyle) {
|
||||||
|
@ -43,13 +43,11 @@ export default {
|
|||||||
isChildItem = true;
|
isChildItem = true;
|
||||||
//If there are more than 1 items in the selection[0] list, the first one could either be a sub domain object OR a layout drawing control.
|
//If there are more than 1 items in the selection[0] list, the first one could either be a sub domain object OR a layout drawing control.
|
||||||
//The second item in the selection[0] list is the container object (usually a layout)
|
//The second item in the selection[0] list is the container object (usually a layout)
|
||||||
if (!domainObject) {
|
|
||||||
styleProps = {};
|
styleProps = {};
|
||||||
layoutItem = selection[0][0].context.layoutItem;
|
layoutItem = selection[0][0].context.layoutItem;
|
||||||
styleProps = this.getStyleProperties(layoutItem);
|
styleProps = this.getStyleProperties(layoutItem);
|
||||||
domainObject = selection[0][1].context.item;
|
domainObject = selection[0][1].context.item;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (this.component) {
|
if (this.component) {
|
||||||
this.component.$destroy();
|
this.component.$destroy();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user