diff --git a/src/plugins/displayLayout/components/layout-frame.scss b/src/plugins/displayLayout/components/layout-frame.scss index d036814021..656a535c8f 100644 --- a/src/plugins/displayLayout/components/layout-frame.scss +++ b/src/plugins/displayLayout/components/layout-frame.scss @@ -28,7 +28,6 @@ &[s-selected] { // All frames selected while editing - border: $editFrameSelectedBorder; box-shadow: $editFrameSelectedShdw; .c-frame__move-bar { diff --git a/src/plugins/flexibleLayout/components/flexible-layout.scss b/src/plugins/flexibleLayout/components/flexible-layout.scss index ac44eb3d3c..6fe96a446b 100644 --- a/src/plugins/flexibleLayout/components/flexible-layout.scss +++ b/src/plugins/flexibleLayout/components/flexible-layout.scss @@ -141,6 +141,10 @@ } } } + + [s-selected].c-fl-frame__drag-wrapper { + border: $editFrameSelectedBorder; + } } /****** THEIR FRAMES */ diff --git a/src/plugins/plot/MctPlot.vue b/src/plugins/plot/MctPlot.vue index 8ae4f08bf5..c1ff233ac5 100644 --- a/src/plugins/plot/MctPlot.vue +++ b/src/plugins/plot/MctPlot.vue @@ -26,6 +26,7 @@ :class="[plotLegendExpandedStateClass, plotLegendPositionClass]" > pathObject.type === 'telemetry.plot.stacked'); + }, isFrozen() { return this.config.xAxis.get('frozen') === true && this.config.yAxis.get('frozen') === true; }, plotLegendPositionClass() { - return `plot-legend-${this.config.legend.get('position')}`; + return !this.isNestedWithinAStackedPlot ? `plot-legend-${this.config.legend.get('position')}` : ''; }, plotLegendExpandedStateClass() { + if (this.isNestedWithinAStackedPlot) { + return ''; + } + if (this.config.legend.get('expanded')) { return 'plot-legend-expanded'; } else { @@ -292,6 +314,12 @@ export default { } }, watch: { + limitLineLabels: { + handler(limitLineLabels) { + this.legendHoverChanged(limitLineLabels); + }, + deep: true + }, initGridLines(newGridLines) { this.gridLines = newGridLines; }, @@ -310,6 +338,11 @@ export default { this.config = this.getConfig(); this.legend = this.config.legend; + if (this.isNestedWithinAStackedPlot) { + const configId = this.openmct.objects.makeKeyString(this.domainObject.identifier); + this.$emit('configLoaded', configId); + } + this.listenTo(this.config.series, 'add', this.addSeries, this); this.listenTo(this.config.series, 'remove', this.removeSeries, this); @@ -375,6 +408,7 @@ export default { id: configId, domainObject: this.domainObject, openmct: this.openmct, + palette: this.colorPalette, callback: (data) => { this.data = data; } @@ -758,6 +792,8 @@ export default { }; }); } + + this.$emit('highlights', this.highlights); }, untrackMousePosition() { @@ -792,6 +828,7 @@ export default { if (this.isMouseClick()) { this.lockHighlightPoint = !this.lockHighlightPoint; + this.$emit('lockHighlightPoint', this.lockHighlightPoint); } if (this.pan) { diff --git a/src/plugins/plot/configuration/PlotConfigurationModel.js b/src/plugins/plot/configuration/PlotConfigurationModel.js index 0f6a56cd6f..ce0c6e532e 100644 --- a/src/plugins/plot/configuration/PlotConfigurationModel.js +++ b/src/plugins/plot/configuration/PlotConfigurationModel.js @@ -68,7 +68,8 @@ export default class PlotConfigurationModel extends Model { this.series = new SeriesCollection({ models: options.model.series, plot: this, - openmct: options.openmct + openmct: options.openmct, + palette: options.palette }); if (this.get('domainObject').type === 'telemetry.plot.overlay') { diff --git a/src/plugins/plot/configuration/SeriesCollection.js b/src/plugins/plot/configuration/SeriesCollection.js index 33160a8fa3..b5bb81dbbc 100644 --- a/src/plugins/plot/configuration/SeriesCollection.js +++ b/src/plugins/plot/configuration/SeriesCollection.js @@ -39,7 +39,7 @@ export default class SeriesCollection extends Collection { this.modelClass = PlotSeries; this.plot = options.plot; this.openmct = options.openmct; - this.palette = new ColorPalette(); + this.palette = options.palette || new ColorPalette(); this.listenTo(this, 'add', this.onSeriesAdd, this); this.listenTo(this, 'remove', this.onSeriesRemove, this); this.listenTo(this.plot, 'change:domainObject', this.trackPersistedConfig, this); diff --git a/src/plugins/plot/configuration/YAxisModel.js b/src/plugins/plot/configuration/YAxisModel.js index aaedcaae30..8c03631d6a 100644 --- a/src/plugins/plot/configuration/YAxisModel.js +++ b/src/plugins/plot/configuration/YAxisModel.js @@ -260,7 +260,7 @@ export default class YAxisModel extends Model { const plotModel = this.plot.get('domainObject'); const label = plotModel.configuration?.yAxis?.label; const sampleSeries = seriesCollection.first(); - if (!sampleSeries) { + if (!sampleSeries || !sampleSeries.metadata) { if (!label) { this.unset('label'); } diff --git a/src/plugins/plot/inspector/PlotOptionsBrowse.vue b/src/plugins/plot/inspector/PlotOptionsBrowse.vue index b85a2683f8..12ee36e7d8 100644 --- a/src/plugins/plot/inspector/PlotOptionsBrowse.vue +++ b/src/plugins/plot/inspector/PlotOptionsBrowse.vue @@ -24,7 +24,10 @@ v-if="loaded" class="js-plot-options-browse" > -