var React = require('react'); var _ = require('lodash'); var cx = require('classnames'); var Markdown = require('naturalcrit/markdown.js'); var ErrorBar = require('./errorBar/errorBar.jsx'); var PAGE_HEIGHT = 1056 + 30; var BrewRenderer = React.createClass({ getDefaultProps: function() { return { text : '', errors : [] }; }, getInitialState: function() { return { viewablePageNumber: 0, height : 0, isMounted : false, errors : [] }; }, totalPages : 0, 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) }); }, //Implement later scrollToPage : function(pageNumber){ }, shouldRender : function(pageText, index){ if(!this.state.isMounted) return false; var viewIndex = this.state.viewablePageNumber; if(index == viewIndex - 1) return true; if(index == viewIndex) return true; if(index == viewIndex + 1) return true; //Check for style tages if(pageText.indexOf('