require('./brewRenderer.less'); const React = require('react'); const createClass = require('create-react-class'); const _ = require('lodash'); const cx = require('classnames'); const MarkdownLegacy = require('naturalcrit/markdownLegacy.js'); const Markdown = require('naturalcrit/markdown.js'); const ErrorBar = require('./errorBar/errorBar.jsx'); //TODO: move to the brew renderer const RenderWarnings = require('homebrewery/renderWarnings/renderWarnings.jsx'); const NotificationPopup = require('./notificationPopup/notificationPopup.jsx'); const Frame = require('react-frame-component').default; const PAGE_HEIGHT = 1056; const PPR_THRESHOLD = 50; const BrewRenderer = createClass({ getDefaultProps : function() { return { text : '', renderer : '', errors : [] }; }, getInitialState : function() { const pages = this.props.text.split(/^\\page/gm); let renderer = 'legacy'; if(this.props.renderer) renderer = this.props.renderer; return { viewablePageNumber : 0, height : 0, isMounted : false, pages : pages, usePPR : pages.length >= PPR_THRESHOLD, visibility : 'hidden', renderer : renderer, initialContent : `