diff --git a/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/components/Graph.vue b/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/components/Graph.vue index c1bed9ece7..3b639db354 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/components/Graph.vue +++ b/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/components/Graph.vue @@ -334,8 +334,8 @@ :colors="colors" :item="selectedItem" @changeColor="changeColor" + @changeLimits="changeLimits" @close="closeEditItem" - @enableLimits="enableLimits" /> @@ -518,7 +518,7 @@ export default { graphEndDateTime: null, indexes: {}, items: this.initialItems || [], - limits: [], + limitsValues: [], drawInterval: null, zoomChart: false, zoomOverview: false, @@ -1223,19 +1223,24 @@ export default { let key = this.subscriptionKey(this.selectedItem) let index = this.indexes[key] this.items[index - 1].color = event + this.selectedItem.color = event this.graph.root.querySelectorAll('.u-marker')[index].style.borderColor = event }, - enableLimits: function (event) { - this.limits = event + changeLimits: function (limits, limitsValues) { + let key = this.subscriptionKey(this.selectedItem) + let index = this.indexes[key] + this.items[index - 1].limits = limits + this.selectedItem.limits = limits + this.limitsValues = limitsValues }, linesPlugin: function () { return { hooks: { draw: (u) => { const { ctx, bbox } = u - for (var i = 0; i < this.limits.length; i++) { - let yPos = u.valToPos(this.limits[i], 'y', true) + for (var i = 0; i < this.limitsValues.length; i++) { + let yPos = u.valToPos(this.limitsValues[i], 'y', true) ctx.save() ctx.beginPath() if (i === 0 || i === 3) { @@ -1275,6 +1280,9 @@ export default { if (item.color === undefined) { item.color = this.colors[this.colorIndex] } + if (item.limits === undefined) { + item.limits = 'NONE' + } this.colorIndex++ if (this.colorIndex === this.colors.length) { this.colorIndex = 0 diff --git a/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/components/GraphEditItemDialog.vue b/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/components/GraphEditItemDialog.vue index 737c8c29b0..a44bcd4e6b 100644 --- a/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/components/GraphEditItemDialog.vue +++ b/openc3-cosmos-init/plugins/packages/openc3-tool-common/src/components/GraphEditItemDialog.vue @@ -61,11 +61,13 @@ hide-details label="Display Limits" :items="limitsNames" - v-model="selectedLimits" - @change="$emit('enableLimits', limits[selectedLimits])" + v-model="editItem.limits" + @change=" + $emit('changeLimits', editItem.limits, limits[editItem.limits]) + " />
- {{ selectedLimits }}: {{ limits[selectedLimits] }} + {{ editItem.limits }}: {{ limits[editItem.limits] }}
@@ -93,7 +95,6 @@ export default { return { editItem: null, limits: { NONE: [] }, - selectedLimits: null, valueTypes: ['CONVERTED', 'RAW'], reduction: [ // Map NONE to DECOM for clarity @@ -120,13 +121,15 @@ export default { }, async created() { this.editItem = { ...this.item } + console.log('editItem:') + console.log(this.editItem) await this.api this.api = new OpenC3Api() .get_item(this.item.targetName, this.item.packetName, this.item.itemName) .then((details) => { - console.log(details.limits) + // console.log(details.limits) for (const [key, value] of Object.entries(details.limits)) { - console.log(`${key}: ${value} keys:${Object.keys(value)}`) + // console.log(`${key}: ${value} keys:${Object.keys(value)}`) if (Object.keys(value).includes('red_low')) { // Must call this.$set to allow Vue to make the limits object reactive this.$set(this.limits, key, Object.values(value))