diff --git a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Components/PdfEditor/SenderPdfImageEditor.razor b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Components/PdfEditor/SenderPdfImageEditor.razor index 8d0cb290..da9f1f46 100644 --- a/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Components/PdfEditor/SenderPdfImageEditor.razor +++ b/EnvelopeGenerator.Server/EnvelopeGenerator.Server.Client/Components/PdfEditor/SenderPdfImageEditor.razor @@ -1,5 +1,6 @@ @using EnvelopeGenerator.Application.Resources @using EnvelopeGenerator.Application.Common.Dto +@using System.Globalization @using Microsoft.Extensions.Localization @inject IStringLocalizer UiLocalizer @inject IJSRuntime JSRuntime @@ -39,7 +40,7 @@ data-page-height-pt="@heightPt">
+ style="@GetPageCanvasStyle(widthPt, heightPt)"> @if (!string.IsNullOrWhiteSpace(pagePreview?.ImageDataUrl)) { { + const state = window.envelopeEditor._moveThrottle; + state.latest = { viewerCssClass, clientX, clientY }; + state.waiters.push(resolve); + + if (state.rafId !== 0) { + return; + } + + state.rafId = window.requestAnimationFrame(() => { + state.rafId = 0; + + const args = state.latest; + state.latest = null; + + const result = args + ? window.envelopeEditor.getClickCoordsOnPdfPage(args.viewerCssClass, args.clientX, args.clientY) + : null; + + const waiters = state.waiters.splice(0, state.waiters.length); + for (const waiter of waiters) { + waiter(result); + } + }); + }); } };