From 88aebb7cbddba591a22c458c76c5da3580ac4433 Mon Sep 17 00:00:00 2001 From: Gabriel Poma Date: Wed, 2 Jul 2025 19:07:43 +0200 Subject: [PATCH] toolbox: opti positionnement de la toolbox suit le scroll se place correctement quand on rotate --- public/js/signature.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/public/js/signature.js b/public/js/signature.js index c9c508b..2205c7e 100644 --- a/public/js/signature.js +++ b/public/js/signature.js @@ -1275,7 +1275,7 @@ const toolBox = (function () { const _elToolbox = document.createElement('div') _elToolbox.id = 'toolbox' - _elToolbox.classList.add('position-fixed', 'border', 'p-1', 'bg-body-secondary', 'shadow-sm', 'ms-3', 'mt-3', 'd-none', 'd-md-block') + _elToolbox.classList.add('position-absolute', 'border', 'p-1', 'bg-body-secondary', 'shadow-sm', 'ms-3', 'mt-3', 'd-none', 'd-md-block') _elToolbox.style['z-index'] = 1030 _elToolbox.style.width = 'max-content' @@ -1328,7 +1328,8 @@ const toolBox = (function () { } _elSelected = el - document.body.appendChild(_elToolbox) + const container = document.getElementById('container-pages') + container.appendChild(_elToolbox) _elToolbox.style.left = ( _elSelected.getBoundingRect().left @@ -1337,9 +1338,9 @@ const toolBox = (function () { + +window.getComputedStyle(_elToolbox).getPropertyValue("margin-left").replace('px', '') ) + 'px' _elToolbox.style.top = ( - _elSelected.getBoundingRect().top - + _elSelected.getScaledHeight() - + +window.getComputedStyle(_elToolbox).getPropertyValue("height").replace('px', '') / 2 + Math.max(..._elSelected.getCoords().map((c) => c.y)) // on sélectionne le coin le plus bas + + _elSelected.canvas._offset.top // hauteur du canvas dans le viewport + + container.scrollTop // haut du container ) + 'px' }