From fd5d142c1658ca0353c974a74cab286d130bb26c Mon Sep 17 00:00:00 2001 From: Rae Che Date: Mon, 7 May 2018 22:45:26 +0100 Subject: [PATCH] Fix calculation of currently-viewed page. Previously, this relied on a hard-coded constant determining the height of a page. However, that's unnecessary -- we know the scroll height of the window and the number of pages, so we can compute it. --- client/homebrew/brewRenderer/brewRenderer.jsx | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/client/homebrew/brewRenderer/brewRenderer.jsx b/client/homebrew/brewRenderer/brewRenderer.jsx index 2fd5b95f6..66735126a 100644 --- a/client/homebrew/brewRenderer/brewRenderer.jsx +++ b/client/homebrew/brewRenderer/brewRenderer.jsx @@ -36,7 +36,6 @@ const BrewRenderer = createClass({ }; }, height : 0, - pageHeight : PAGE_HEIGHT, lastRender :
, componentDidMount : function() { @@ -48,8 +47,6 @@ const BrewRenderer = createClass({ }, componentWillReceiveProps : function(nextProps) { - if(this.refs.pages && this.refs.pages.firstChild) this.pageHeight = this.refs.pages.firstChild.clientHeight; - const pages = nextProps.text.split('\\page'); this.setState({ pages : pages, @@ -58,10 +55,6 @@ const BrewRenderer = createClass({ }, updateSize : function() { - setTimeout(()=>{ - if(this.refs.pages && this.refs.pages.firstChild) this.pageHeight = this.refs.pages.firstChild.clientHeight; - }, 1); - this.setState({ height : this.refs.main.parentNode.clientHeight, isMounted : true @@ -70,7 +63,7 @@ const BrewRenderer = createClass({ handleScroll : function(e){ this.setState({ - viewablePageNumber : Math.floor(e.target.scrollTop / this.pageHeight) + viewablePageNumber : Math.floor(e.target.scrollTop / e.target.scrollHeight * this.state.pages.length) }); },