From 888d3faa4c5badbdfbcb03cf51b8178771683439 Mon Sep 17 00:00:00 2001 From: Scott Tolksdorf Date: Sat, 20 Aug 2016 13:26:48 -0400 Subject: [PATCH] Editor and renderer redraw when you resize the browser --- changelog.md | 3 +++ client/homebrew/brewRenderer/brewRenderer.jsx | 9 +++++++++ client/homebrew/editor/editor.jsx | 14 ++++++++++---- client/homebrew/pages/editPage/editPage.jsx | 7 ------- 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/changelog.md b/changelog.md index 5b8ed4daa..3842385a8 100644 --- a/changelog.md +++ b/changelog.md @@ -7,6 +7,9 @@ - If you visit a deleted brew, it will now remove it from your recent list. (Thanks u/sIllverback!) - Improved parsing of embedded html text in brews. (Thanks u/com-charizard!) - Added in a new coverpage snippet +- Homebrewery will now try and onsert a good title for your brew if you don't provide one +- Homebrewery now re-renders properly when you zoom + ### Friday, 29/07/2016 - v2.2.7 - Adding in descriptive note blocks. (Thanks calculuschild!) diff --git a/client/homebrew/brewRenderer/brewRenderer.jsx b/client/homebrew/brewRenderer/brewRenderer.jsx index 9f18db9cd..34de1f416 100644 --- a/client/homebrew/brewRenderer/brewRenderer.jsx +++ b/client/homebrew/brewRenderer/brewRenderer.jsx @@ -23,11 +23,20 @@ var BrewRenderer = React.createClass({ height : 0, componentDidMount: function() { + this.updateSize(); + window.addEventListener("resize", this.updateSize); + }, + componentWillUnmount: function() { + window.removeEventListener("resize", this.updateSize); + }, + + updateSize : function() { this.setState({ height : this.refs.main.parentNode.clientHeight, isMounted : true }); }, + handleScroll : function(e){ this.setState({ viewablePageNumber : Math.floor(e.target.scrollTop / PAGE_HEIGHT) diff --git a/client/homebrew/editor/editor.jsx b/client/homebrew/editor/editor.jsx index dda0dce9c..7a8dcb061 100644 --- a/client/homebrew/editor/editor.jsx +++ b/client/homebrew/editor/editor.jsx @@ -28,9 +28,19 @@ var Editor = React.createClass({ }, componentDidMount: function() { + this.updateEditorSize(); + window.addEventListener("resize", this.updateEditorSize); + }, + componentWillUnmount: function() { + window.removeEventListener("resize", this.updateEditorSize); + }, + + updateEditorSize : function() { var paneHeight = this.refs.main.parentNode.clientHeight; paneHeight -= this.refs.snippetBar.clientHeight + 1; this.refs.codeEditor.codeMirror.setSize(null, paneHeight); + + this.refs.codeEditor.updateSize(); }, handleTextChange : function(text){ @@ -48,10 +58,6 @@ var Editor = React.createClass({ this.refs.codeEditor.setCursorPosition(this.cursorPosition.line, this.cursorPosition.ch + injectText.length); }, - //Called when there are changes to the editor's dimensions - update : function(){ - this.refs.codeEditor.updateSize(); - }, renderSnippetGroups : function(){ return _.map(Snippets, (snippetGroup)=>{ diff --git a/client/homebrew/pages/editPage/editPage.jsx b/client/homebrew/pages/editPage/editPage.jsx index b8f42b0a7..4b923b50f 100644 --- a/client/homebrew/pages/editPage/editPage.jsx +++ b/client/homebrew/pages/editPage/editPage.jsx @@ -52,14 +52,7 @@ var EditPage = React.createClass({ }, savedBrew : null, - test : ()=>{ - - }, - componentDidMount: function(){ - - console.log('getting here'); - this.debounceSave = _.debounce(this.save, SAVE_TIMEOUT); window.onbeforeunload = ()=>{ if(this.state.isSaving || this.state.isPending){