From 83244485abe56279ca958a0380f121e850749739 Mon Sep 17 00:00:00 2001 From: Gazook89 Date: Tue, 20 Aug 2024 15:15:36 -0500 Subject: [PATCH] Move scrollToPage to toolbar component Keeps toolbar functions within the toolbar component and reduces props that need to be sent down. --- client/homebrew/brewRenderer/brewRenderer.jsx | 17 +------------ .../homebrew/brewRenderer/toolBar/toolBar.jsx | 25 ++++++++++++++++--- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/client/homebrew/brewRenderer/brewRenderer.jsx b/client/homebrew/brewRenderer/brewRenderer.jsx index 66b2e3fe2..338bcdc4e 100644 --- a/client/homebrew/brewRenderer/brewRenderer.jsx +++ b/client/homebrew/brewRenderer/brewRenderer.jsx @@ -81,22 +81,7 @@ const BrewRenderer = (props)=>{ return ()=>{window.removeEventListener('resize', updateSize);}; }, []); - const scrollToPage = (pageNumber) => { - pageNumber = _.clamp(pageNumber - 1, 0, rawPages.length - 1); - const iframe = document.getElementById('BrewRenderer'); - if(iframe && iframe.contentWindow) { - const brewRenderer = iframe.contentWindow.document.querySelector('.brewRenderer'); - if(brewRenderer) { - const pages = brewRenderer.querySelectorAll('.page'); - if(pageNumber + 1 > pages.length || pageNumber < 0) { - console.log('page not found'); - } else { - pages[pageNumber].scrollIntoView({ block: 'start' }); - } - } - } - }; const updateSize = ()=>{ setState((prevState)=>({ @@ -247,7 +232,7 @@ const BrewRenderer = (props)=>{ - + {/*render in iFrame so broken code doesn't crash the site.*/} diff --git a/client/homebrew/brewRenderer/toolBar/toolBar.jsx b/client/homebrew/brewRenderer/toolBar/toolBar.jsx index d3184d025..e20f0820f 100644 --- a/client/homebrew/brewRenderer/toolBar/toolBar.jsx +++ b/client/homebrew/brewRenderer/toolBar/toolBar.jsx @@ -29,6 +29,23 @@ const ToolBar = ({ onZoomChange, currentPage, onPageChange, totalPages })=>{ setPageInput(page); }; + const scrollToPage = (pageNumber) => { + pageNumber = _.clamp(pageNumber - 1, 0, totalPages - 1); + const iframe = document.getElementById('BrewRenderer'); + if(iframe && iframe.contentWindow) { + const brewRenderer = iframe.contentWindow.document.querySelector('.brewRenderer'); + if(brewRenderer) { + const pages = brewRenderer.querySelectorAll('.page'); + + if(pageNumber + 1 > pages.length || pageNumber < 0) { + console.log('page not found'); + } else { + pages[pageNumber].scrollIntoView({ block: 'start' }); + } + } + } + }; + return (
@@ -71,7 +88,7 @@ const ToolBar = ({ onZoomChange, currentPage, onPageChange, totalPages })=>{