From d1cc361b3bc807cf82f323379664e4d6b79a529f Mon Sep 17 00:00:00 2001 From: Vitor Mattos Date: Sat, 16 Nov 2024 21:38:28 -0300 Subject: [PATCH] chore: prevent to move element to outside of page Signed-off-by: Vitor Mattos --- src/Components/Image.vue | 12 +++++++----- src/Components/ItemEventsMixin.vue | 13 +++++++++++-- src/Components/TextItem.vue | 22 ++++++++++++++++++---- src/VuePdfEditor.vue | 10 ++++++++++ 4 files changed, 46 insertions(+), 11 deletions(-) diff --git a/src/Components/Image.vue b/src/Components/Image.vue index 77f7fa9..4f3c414 100644 --- a/src/Components/Image.vue +++ b/src/Components/Image.vue @@ -6,7 +6,7 @@ :style="{ width: `${width + dw}px`, height: `${Math.round((width + dw) / ratio)}px`, - transform: `translate(${x + dx}px, ${y + dy}px)`, + transform: translateCoordinates(), }">
@@ -157,6 +159,8 @@ :font-family="object.fontFamily" :current-page="object.currentPage" :page-scale="pagesScale[pIndex]" + :page-width="pageSizes[pIndex + 1].width" + :page-height="pageSizes[pIndex + 1].height" @onUpdate="updateObject(object.id, $event)" @onDelete="deleteObject(object.id)" @onSelectFont="selectFontFamily" /> @@ -473,6 +477,7 @@ export default { this.pdfDocument = null this.pages = [] this.pagesScale = [] + this.pageSizes = [] this.allObjects = [] }, async addPDF(file) { @@ -516,6 +521,7 @@ export default { width: measurement[2], height: measurement[3], } + this.pageSizes[page.pageNumber] = data.measurement[page.pageNumber] }) this.$emit('pdf-editor:end-init', data) } @@ -558,6 +564,8 @@ export default { originHeight: height, canvasWidth, canvasHeight, + pageWidth: this.pageSizes[this.selectedPageIndex + 1].width, + pageHeight: this.pageSizes[this.selectedPageIndex + 1].height, x, y, isSealImage, @@ -586,6 +594,8 @@ export default { width: 0, // recalculate after editing lineHeight: 1.4, fontFamily: this.currentFont, + pageWidth: this.pageSizes[currentPage + 1].width, + pageHeight: this.pageSizes[currentPage + 1].height, x, y, currentPage,