| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import React from 'react';
- import PropTypes from 'prop-types';
- export default class PageBody extends React.Component {
- constructor(props) {
- super(props);
- this.crowiRenderer = window.crowiRenderer; // FIXME
- this.getMarkupHTML = this.getMarkupHTML.bind(this);
- }
- getMarkupHTML() {
- let body = this.props.pageBody;
- if (body === '') {
- body = this.props.page.revision.body;
- }
- return { __html: this.crowiRenderer.render(body, this.props.rendererOptions) };
- }
- render() {
- const parsedBody = this.getMarkupHTML();
- return (
- <div
- className="content"
- dangerouslySetInnerHTML={parsedBody}
- />
- );
- }
- }
- PageBody.propTypes = {
- page: PropTypes.object.isRequired,
- pageBody: PropTypes.string,
- rendererOptions: React.PropTypes.object,
- };
- PageBody.defaultProps = {
- page: {},
- pageBody: '',
- rendererOptions: {},
- };
|