diff --git a/changelog.md b/changelog.md index 87bd61bf3..4854aff95 100644 --- a/changelog.md +++ b/changelog.md @@ -8,7 +8,7 @@ - Changed icon for the metadata - Made links useable in footer (thanks u/Dustfinger1 re:249) - Added print media queries to remove box shadow on print (thanks u/dmmagic re: 246) - +- Fixed realtime renderer not functioning if loaded with malformed html on load (thanks u/RattiganIV re:247) diff --git a/client/homebrew/brewRenderer/brewRenderer.jsx b/client/homebrew/brewRenderer/brewRenderer.jsx index 7e1c432aa..5e39bde1e 100644 --- a/client/homebrew/brewRenderer/brewRenderer.jsx +++ b/client/homebrew/brewRenderer/brewRenderer.jsx @@ -33,6 +33,7 @@ const BrewRenderer = React.createClass({ }, height : 0, pageHeight : PAGE_HEIGHT, + lastRender :
, componentDidMount: function() { this.updateSize(); @@ -43,7 +44,7 @@ const BrewRenderer = React.createClass({ }, componentWillReceiveProps: function(nextProps) { - if(this.refs.pages.firstChild) this.pageHeight = this.refs.pages.firstChild.clientHeight; + if(this.refs.pages && this.refs.pages.firstChild) this.pageHeight = this.refs.pages.firstChild.clientHeight; const pages = nextProps.text.split('\\page'); this.setState({ @@ -54,7 +55,7 @@ const BrewRenderer = React.createClass({ updateSize : function() { setTimeout(()=>{ - if(this.refs.pages.firstChild) this.pageHeight = this.refs.pages.firstChild.clientHeight; + if(this.refs.pages && this.refs.pages.firstChild) this.pageHeight = this.refs.pages.firstChild.clientHeight; }, 1); this.setState({ @@ -117,10 +118,11 @@ const BrewRenderer = React.createClass({ } }); } - - return _.map(this.state.pages, (page, index)=>{ + if(this.props.errors && this.props.errors.length) return this.lastRender; + this.lastRender = _.map(this.state.pages, (page, index)=>{ return this.renderPage(page, index); }); + return this.lastRender; }, render : function(){ diff --git a/client/homebrew/pages/editPage/editPage.jsx b/client/homebrew/pages/editPage/editPage.jsx index 4ce6669e1..cc0e27b56 100644 --- a/client/homebrew/pages/editPage/editPage.jsx +++ b/client/homebrew/pages/editPage/editPage.jsx @@ -47,7 +47,7 @@ const EditPage = React.createClass({ isSaving : false, isPending : false, errors : null, - htmlErrors : [], + htmlErrors : Markdown.validate(this.props.brew.text), lastUpdated : this.props.brew.updatedAt }; },