mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-05-23 17:19:37 +02:00
Merge pull request #9085 from overleaf/ii-pdf-click-position-fix
[web] PDF preview click position error fix GitOrigin-RevId: f2ac73f2a4050b707402c373193ae7a0ecd8ac53
This commit is contained in:
@@ -193,11 +193,19 @@ function PdfJsViewer({ url, pdfFile }) {
|
||||
const pageElement = textLayer.source.textLayerDiv.closest('.page')
|
||||
|
||||
const doubleClickListener = event => {
|
||||
window.dispatchEvent(
|
||||
new CustomEvent('synctex:sync-to-position', {
|
||||
detail: pdfJsWrapper.clickPosition(event, pageElement, textLayer),
|
||||
})
|
||||
const clickPosition = pdfJsWrapper.clickPosition(
|
||||
event,
|
||||
pageElement,
|
||||
textLayer
|
||||
)
|
||||
|
||||
if (clickPosition) {
|
||||
window.dispatchEvent(
|
||||
new CustomEvent('synctex:sync-to-position', {
|
||||
detail: clickPosition,
|
||||
})
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
pageElement.addEventListener('dblclick', doubleClickListener)
|
||||
|
||||
@@ -152,7 +152,13 @@ export default class PDFJSWrapper {
|
||||
clickPosition(event, pageElement, textLayer) {
|
||||
const { viewport } = this.viewer.getPageView(textLayer.pageNumber - 1)
|
||||
|
||||
const pageRect = pageElement.querySelector('canvas').getBoundingClientRect()
|
||||
const pageCanvas = pageElement.querySelector('canvas')
|
||||
|
||||
if (!pageCanvas) {
|
||||
return
|
||||
}
|
||||
|
||||
const pageRect = pageCanvas.getBoundingClientRect()
|
||||
|
||||
const dx = event.clientX - pageRect.left
|
||||
const dy = event.clientY - pageRect.top
|
||||
|
||||
Reference in New Issue
Block a user