From: soufiane Date: Tue, 14 Oct 2025 14:30:59 +0000 (+0200) Subject: wip #7785 @3:30 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=8d3869f745bb390edfe659de6255a3ad12796fe3;p=fluidbook-toolbox.git wip #7785 @3:30 --- diff --git a/resources/linkeditor/js/linkeditor.previewLinks.js b/resources/linkeditor/js/linkeditor.previewLinks.js index 4b579ab82..a908c568d 100644 --- a/resources/linkeditor/js/linkeditor.previewLinks.js +++ b/resources/linkeditor/js/linkeditor.previewLinks.js @@ -67,26 +67,34 @@ LinkeditorPreviewLinks.prototype = { $("[data-id-preview=" + $this.linkData.uid + "]").css("transform","rotate("+$this.linkData.rot+"deg)") } - const clipLimit = $("#linkeditor-fluidbook")[0].getBoundingClientRect() const z = this.linkeditor.zoom.normalizeZoom(this.linkeditor.zoom.getZoom()) // Cropper les bords pour éviter que les animations de type scale etc... ne fassent sortir le calque // du fb afin d'obtenir un rendu plus proche du rendu final if(type !== '39') { - const { right, bottom } = $("#linkeditor-layer-links")[0].getBoundingClientRect() + const { right, bottom, top } = $("#linkeditor-fluidbook")[0].getBoundingClientRect() - const wLink = $(".link[fb-uid="+$this.linkData.uid+"]")[0].getBoundingClientRect().width - const hLink = $(".link[fb-uid="+$this.linkData.uid+"]")[0].getBoundingClientRect().height - const rLink = $(".link[fb-uid="+$this.linkData.uid+"]")[0].getBoundingClientRect().right - const bLink = $(".link[fb-uid="+$this.linkData.uid+"]")[0].getBoundingClientRect().bottom + const {width: wLink, height: hLink, right: rLink, bottom: bLink, left: lLink, top: tLink} = $(".link[fb-uid="+$this.linkData.uid+"]")[0].getBoundingClientRect() - const limitX = wLink + (right - rLink) - const limitY = hLink + (bottom - bLink) + let limitRight = wLink + (right - rLink) + const limitBottom = hLink + (bottom - bLink) - const x = -$this.linkData.left - const y = -$this.linkData.top + // Pour la première page si c'est un fb à double page + const { left: pageRightDimensionX} = $("#linkeditor-page-right")[0].getBoundingClientRect() + const { left: pageLeftDimensionX, right: pageLeftDimensionXRight} = $("#linkeditor-page-left")[0].getBoundingClientRect() + let limitLeft = pageLeftDimensionX - lLink + if($("#linkeditor").hasClass("double") && this.linkeditor.currentPage === 0) { + limitLeft = pageRightDimensionX - lLink + } + + // Pour la dernière page on modifie la limite à droite + if($("#linkeditor").hasClass("double") && this.linkeditor.currentPage === FLUIDBOOK_DATA.settings.pages) { + limitRight = wLink + (pageLeftDimensionXRight - rLink) + } + + const limitTop = top - tLink - $(".link[fb-uid="+$this.linkData.uid+"]").css('clip-path',`polygon(${x}px ${y}px, ${limitX}px ${y}px, ${limitX}px ${limitY}px, ${x}px ${limitY}px)`) + $(".link[fb-uid="+$this.linkData.uid+"]").css('clip-path',`polygon(${limitLeft}px ${limitTop}px, ${limitRight}px ${limitTop}px, ${limitRight}px ${limitBottom}px, ${limitLeft}px ${limitBottom}px)`) } /*$("#linkeditor-editor").css({ diff --git a/resources/linkeditor/style/inc/_links.sass b/resources/linkeditor/style/inc/_links.sass index c2c17c911..72d8a961f 100644 --- a/resources/linkeditor/style/inc/_links.sass +++ b/resources/linkeditor/style/inc/_links.sass @@ -109,10 +109,6 @@ body:not(.preview) height: 100% position: absolute - &:not([fb-type='35']) - [data-id-preview-wrap] - overflow: hidden - &[fb-type='14'] [data-id-preview] mix-blend-mode: normal position: absolute