1
0
mirror of https://github.com/Pomax/BezierInfo-2.git synced 2025-02-26 10:32:28 +01:00
2015-12-29 16:59:12 -08:00

33 lines
884 B
JavaScript

var React = require("react");
var ReactDOM = require("react-dom");
var noop = require("../lib/noop");
var MathJax = (typeof window !== "undefined" ? window.MathJax : false);
// fallback will simply do nothing when typesetting.
if(!MathJax){MathJax={Hub:{Queue:noop}};}
var LaTeX = React.createClass({
getInitialState() {
var data = this.props.children;
if (!data.forEach) data = [data];
return { latex: data.join('') };
},
componentDidMount: function() {
MathJax.Hub.Queue(["Typeset", MathJax.Hub, this.refs.latex, false]);
MathJax.Hub.Queue(this.bindHTML);
},
bindHTML: function() {
this.setState({ html: this.refs.latex.innerHTML });
},
render: function() {
var content = this.state.html ? this.state.html : this.state.latex;
return <p ref="latex" dangerouslySetInnerHTML={{__html: content }} />;
}
});
module.exports = LaTeX;