misago-markup.js 617 B

12345678910111213141516171819202122232425262728
  1. // jshint ignore:start
  2. import React from 'react';
  3. import onebox from 'misago/services/one-box';
  4. export default class extends React.Component {
  5. componentDidMount() {
  6. onebox.render(this.documentNode);
  7. }
  8. componentDidUpdate(prevProps, prevState) {
  9. onebox.render(this.documentNode);
  10. }
  11. shouldComponentUpdate(nextProps, nextState) {
  12. return nextProps.markup !== this.props.markup;
  13. }
  14. render() {
  15. return (
  16. <article
  17. className="misago-markup"
  18. dangerouslySetInnerHTML={{__html: this.props.markup}}
  19. ref={(node) => { this.documentNode = node; }}
  20. />
  21. );
  22. }
  23. }