diff --git a/src/plugins/displayLayout/components/DisplayLayout.vue b/src/plugins/displayLayout/components/DisplayLayout.vue index c6a6115b93..a7b21e7f0a 100644 --- a/src/plugins/displayLayout/components/DisplayLayout.vue +++ b/src/plugins/displayLayout/components/DisplayLayout.vue @@ -35,6 +35,7 @@ v-if="isEditing" :grid-size="gridSize" :show-grid="showGrid" + :grid-dimensions="gridDimensions" />
{ + if (item.x + item.width > wMax) { + wMax = item.x + item.width + 2; + } + + if (item.y + item.height > hMax) { + hMax = item.y + item.height + 2; + } + }); + this.gridDimensions = [wMax * this.gridSize[0], hMax * this.gridSize[1]]; + }, + deep: true } }, mounted() { @@ -213,6 +232,7 @@ export default { this.composition.on('add', this.addChild); this.composition.on('remove', this.removeChild); this.composition.load(); + this.gridDimensions = [this.$el.offsetWidth, this.$el.scrollHeight]; }, destroyed: function () { this.openmct.selection.off('change', this.setSelection); diff --git a/src/plugins/displayLayout/components/DisplayLayoutGrid.vue b/src/plugins/displayLayout/components/DisplayLayoutGrid.vue index e6127277cd..315ccbff01 100644 --- a/src/plugins/displayLayout/components/DisplayLayoutGrid.vue +++ b/src/plugins/displayLayout/components/DisplayLayoutGrid.vue @@ -6,12 +6,12 @@
@@ -28,6 +28,12 @@ export default { showGrid: { type: Boolean, required: true + }, + gridDimensions: { + type: Array, + required: true, + validator: (arr) => arr && arr.length === 2 + && arr.every(el => typeof el === 'number') } } };