From df3fca88349ee1b7a1fc1174ea66d4ddf5975584 Mon Sep 17 00:00:00 2001 From: Chantal Keller Date: Wed, 22 Nov 2023 10:17:11 +0100 Subject: [PATCH] Add a way to go directly to some page number --- layouts/shortcodes/embed-pdf.html | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/layouts/shortcodes/embed-pdf.html b/layouts/shortcodes/embed-pdf.html index 1c2ecd6..e9b982a 100644 --- a/layouts/shortcodes/embed-pdf.html +++ b/layouts/shortcodes/embed-pdf.html @@ -104,6 +104,7 @@
+     / @@ -180,6 +181,7 @@ // Update page counters document.getElementById('pdf-pagenum-{{ substr (.Get "url" | md5) 0 8 }}').textContent = num; + document.getElementById('pdf-desired-page-{{ substr (.Get "url" | md5) 0 8 }}').value = num; } /** @@ -231,6 +233,28 @@ } document.getElementById('pdf-prev-{{ substr (.Get "url" | md5) 0 8 }}').addEventListener('click', onPrevPage); + /** + * Displays a desired page. + */ + function onDesiredPage() { + // Get the new page number and render it. + let desiredPage = document.getElementById('pdf-desired-page-{{ substr (.Get "url" | md5) 0 8 }}').valueAsNumber; + pageNum = Math.min( + Math.max(desiredPage, 1), + pdfDoc.numPages, + ); + queueRenderPage(pageNum); + } + function onDesiredPageEnter(event) { + // Get the key code. + const keycode = event.keyCode ? event.keyCode : event.which; + if (keycode === 13) { + onDesiredPage(); + } + } + document.getElementById('pdf-desired-page-{{ substr (.Get "url" | md5) 0 8 }}').addEventListener('keypress', onDesiredPageEnter); + document.getElementById('pdf-desired-page-{{ substr (.Get "url" | md5) 0 8 }}').addEventListener('click', onDesiredPage); + /** * Displays next page. */