mirror of
https://github.com/naturalcrit/homebrewery.git
synced 2026-01-07 16:22:42 +00:00
remove redundant handleScroll() method
handleScroll is replaced by getCurrentPage(), which effectively does the same thing. The math is slightly different, though very similar, and result seems to be the same.
This commit is contained in:
@@ -61,12 +61,11 @@ const BrewRenderer = (props)=>{
|
|||||||
};
|
};
|
||||||
|
|
||||||
const [state, setState] = useState({
|
const [state, setState] = useState({
|
||||||
viewablePageNumber : 0,
|
height : PAGE_HEIGHT,
|
||||||
height : PAGE_HEIGHT,
|
isMounted : false,
|
||||||
isMounted : false,
|
visibility : 'hidden',
|
||||||
visibility : 'hidden',
|
zoom : 100,
|
||||||
zoom : 100,
|
currentPageNumber : 1,
|
||||||
currentPageNumber : 1,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const mainRef = useRef(null);
|
const mainRef = useRef(null);
|
||||||
@@ -90,16 +89,6 @@ const BrewRenderer = (props)=>{
|
|||||||
}));
|
}));
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleScroll = (e)=>{
|
|
||||||
const target = e.target;
|
|
||||||
setState((prevState)=>({
|
|
||||||
...prevState,
|
|
||||||
viewablePageNumber : Math.floor(target.scrollTop / target.scrollHeight * rawPages.length)
|
|
||||||
}));
|
|
||||||
|
|
||||||
getCurrentPage(e);
|
|
||||||
};
|
|
||||||
|
|
||||||
const getCurrentPage = (e) => {
|
const getCurrentPage = (e) => {
|
||||||
const target = e.target;
|
const target = e.target;
|
||||||
const { scrollTop, clientHeight, scrollHeight } = target;
|
const { scrollTop, clientHeight, scrollHeight } = target;
|
||||||
@@ -109,7 +98,7 @@ const BrewRenderer = (props)=>{
|
|||||||
|
|
||||||
setState((prevState) => ({
|
setState((prevState) => ({
|
||||||
...prevState,
|
...prevState,
|
||||||
currentPageNumber: currentPageNumber || 1
|
currentPageNumber : currentPageNumber || 1
|
||||||
}));
|
}));
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -120,7 +109,7 @@ const BrewRenderer = (props)=>{
|
|||||||
if(index == props.currentEditorPage) //Already rendered before this step
|
if(index == props.currentEditorPage) //Already rendered before this step
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if(Math.abs(index - state.viewablePageNumber) <= 3)
|
if(Math.abs(index - state.currentPageNumber) <= 3)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
@@ -132,7 +121,7 @@ const BrewRenderer = (props)=>{
|
|||||||
{props.renderer}
|
{props.renderer}
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
{state.viewablePageNumber + 1} / {rawPages.length}
|
{state.currentPageNumber} / {rawPages.length}
|
||||||
</div>
|
</div>
|
||||||
</div>;
|
</div>;
|
||||||
};
|
};
|
||||||
@@ -219,7 +208,7 @@ const BrewRenderer = (props)=>{
|
|||||||
<>
|
<>
|
||||||
{/*render dummy page while iFrame is mounting.*/}
|
{/*render dummy page while iFrame is mounting.*/}
|
||||||
{!state.isMounted
|
{!state.isMounted
|
||||||
? <div className='brewRenderer' onScroll={handleScroll}>
|
? <div className='brewRenderer' onScroll={getCurrentPage}>
|
||||||
<div className='pages'>
|
<div className='pages'>
|
||||||
{renderDummyPage(1)}
|
{renderDummyPage(1)}
|
||||||
</div>
|
</div>
|
||||||
@@ -242,7 +231,7 @@ const BrewRenderer = (props)=>{
|
|||||||
onClick={()=>{emitClick();}}
|
onClick={()=>{emitClick();}}
|
||||||
>
|
>
|
||||||
<div className={'brewRenderer'}
|
<div className={'brewRenderer'}
|
||||||
onScroll={handleScroll}
|
onScroll={getCurrentPage}
|
||||||
onKeyDown={handleControlKeys}
|
onKeyDown={handleControlKeys}
|
||||||
tabIndex={-1}
|
tabIndex={-1}
|
||||||
style={{ height: state.height }}>
|
style={{ height: state.height }}>
|
||||||
|
|||||||
Reference in New Issue
Block a user