From ff5b2f7fe6f92fbbc39d97656676173e1bd11939 Mon Sep 17 00:00:00 2001 From: Dmytro Lukashenko Date: Tue, 15 Aug 2023 13:49:18 +0300 Subject: [PATCH] fix: fix the unexpected behavior of the ConfirmDialog popup (#4252) * fix: fix top and left styles of the container by subtracting the margin-top and margin-left * fix: create getComputedStyle variable * fix: add subtracting of margins in else condition --------- Co-authored-by: Dmytro Lukashenko --- components/lib/dialog/Dialog.vue | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/components/lib/dialog/Dialog.vue b/components/lib/dialog/Dialog.vue index 8ce22dc27..97d52d491 100755 --- a/components/lib/dialog/Dialog.vue +++ b/components/lib/dialog/Dialog.vue @@ -323,24 +323,27 @@ export default { let leftPos = offset.left + deltaX; let topPos = offset.top + deltaY; let viewport = DomHandler.getViewport(); + let getComputedStyle = getComputedStyle(this.container) + let marginLeft = parseFloat(getComputedStyle.marginLeft); + let marginTop = parseFloat(getComputedStyle.marginTop); this.container.style.position = 'fixed'; if (this.keepInViewport) { if (leftPos >= this.minX && leftPos + width < viewport.width) { this.lastPageX = event.pageX; - this.container.style.left = leftPos + 'px'; + this.container.style.left = (leftPos - marginLeft) + 'px'; } if (topPos >= this.minY && topPos + height < viewport.height) { this.lastPageY = event.pageY; - this.container.style.top = topPos + 'px'; + this.container.style.top = (topPos - marginTop) + 'px'; } } else { this.lastPageX = event.pageX; - this.container.style.left = leftPos + 'px'; + this.container.style.left = (leftPos - marginLeft) + 'px'; this.lastPageY = event.pageY; - this.container.style.top = topPos + 'px'; + this.container.style.top = (topPos - marginTop) + 'px'; } } }; @@ -370,7 +373,7 @@ export default { window.document.removeEventListener('mouseup', this.documentDragEndListener); this.documentDragEndListener = null; } - } + }, }, computed: { maximizeIconComponent() {