From f5ee55d0ca45982b7eda61985575e5c055e73bdb Mon Sep 17 00:00:00 2001 From: Gazook89 Date: Mon, 19 Aug 2024 23:40:21 -0500 Subject: [PATCH] keep current page number within existing page range Make it so that if a user enters a page number higher than the total page count, it jumps them to last page. if lower than 1, it jumps them to first page. --- client/homebrew/brewRenderer/brewRenderer.jsx | 2 +- client/homebrew/brewRenderer/toolBar/toolBar.jsx | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/client/homebrew/brewRenderer/brewRenderer.jsx b/client/homebrew/brewRenderer/brewRenderer.jsx index b69473572..66b2e3fe2 100644 --- a/client/homebrew/brewRenderer/brewRenderer.jsx +++ b/client/homebrew/brewRenderer/brewRenderer.jsx @@ -82,7 +82,7 @@ const BrewRenderer = (props)=>{ }, []); const scrollToPage = (pageNumber) => { - pageNumber = pageNumber - 1; + pageNumber = _.clamp(pageNumber - 1, 0, rawPages.length - 1); const iframe = document.getElementById('BrewRenderer'); if(iframe && iframe.contentWindow) { const brewRenderer = iframe.contentWindow.document.querySelector('.brewRenderer'); diff --git a/client/homebrew/brewRenderer/toolBar/toolBar.jsx b/client/homebrew/brewRenderer/toolBar/toolBar.jsx index f7ae63fcc..d3184d025 100644 --- a/client/homebrew/brewRenderer/toolBar/toolBar.jsx +++ b/client/homebrew/brewRenderer/toolBar/toolBar.jsx @@ -26,8 +26,8 @@ const ToolBar = ({ onZoomChange, currentPage, onPageChange, totalPages })=>{ }; const handlePageChange = (page)=>{ - setPageInput((page)); - } + setPageInput(page); + }; return (
@@ -88,6 +88,7 @@ const ToolBar = ({ onZoomChange, currentPage, onPageChange, totalPages })=>{ onChange={(e)=>{ handlePageChange(e.target.value == false ? e.target.value : parseInt(e.target.value));}} onBlur={()=>onPageChange(pageInput)} + onKeyDown={(e)=>{e.key == 'Enter' ? onPageChange(pageInput) : null;}} /> / {totalPages}