diff --git a/client/homebrew/brewRenderer/brewRenderer.jsx b/client/homebrew/brewRenderer/brewRenderer.jsx index 83eb61f32..9208a2b90 100644 --- a/client/homebrew/brewRenderer/brewRenderer.jsx +++ b/client/homebrew/brewRenderer/brewRenderer.jsx @@ -45,12 +45,13 @@ let rawPages = []; const BrewRenderer = (props)=>{ props = { - text : '', - style : '', - renderer : 'legacy', - theme : '5ePHB', - lang : '', - errors : [], + text : '', + style : '', + renderer : 'legacy', + theme : '5ePHB', + lang : '', + errors : [], + currentEditorPage : 0, ...props }; @@ -94,6 +95,9 @@ const BrewRenderer = (props)=>{ if(Math.abs(index - state.viewablePageNumber) <= 3) return true; + if(index + 1 == props.currentEditorPage) + return true; + return false; }; @@ -143,8 +147,8 @@ const BrewRenderer = (props)=>{ if(props.errors && props.errors.length) return renderedPages; - if(rawPages.length < renderedPages.length) // Remove out-of-view pages when page length changes - renderedPages.length = rawPages.length; + if(rawPages.length != renderedPages.length) // Re-render all pages when page count changes + renderedPages.length = 0; _.forEach(rawPages, (page, index)=>{ if((shouldRender(index) || !renderedPages[index]) && typeof window !== 'undefined'){ diff --git a/client/homebrew/pages/editPage/editPage.jsx b/client/homebrew/pages/editPage/editPage.jsx index bb9b5ca52..bec60d6a8 100644 --- a/client/homebrew/pages/editPage/editPage.jsx +++ b/client/homebrew/pages/editPage/editPage.jsx @@ -50,7 +50,8 @@ const EditPage = createClass({ url : '', autoSave : true, autoSaveWarning : false, - unsavedTime : new Date() + unsavedTime : new Date(), + currentEditorPage : 0 }; }, savedBrew : null, @@ -109,9 +110,10 @@ const EditPage = createClass({ if(htmlErrors.length) htmlErrors = Markdown.validate(text); this.setState((prevState)=>({ - brew : { ...prevState.brew, text: text }, - isPending : true, - htmlErrors : htmlErrors + brew : { ...prevState.brew, text: text }, + isPending : true, + htmlErrors : htmlErrors, + currentEditorPage : this.refs.editor.getCurrentPage() }), ()=>{if(this.state.autoSave) this.trySave();}); }, @@ -405,6 +407,7 @@ const EditPage = createClass({ theme={this.state.brew.theme} errors={this.state.htmlErrors} lang={this.state.brew.lang} + currentEditorPage={this.state.currentEditorPage} />