aboutsummaryrefslogtreecommitdiffstats
path: root/web/src/js/components/common/CodeEditor.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'web/src/js/components/common/CodeEditor.jsx')
-rw-r--r--web/src/js/components/common/CodeEditor.jsx30
1 files changed, 30 insertions, 0 deletions
diff --git a/web/src/js/components/common/CodeEditor.jsx b/web/src/js/components/common/CodeEditor.jsx
new file mode 100644
index 00000000..5b2305a8
--- /dev/null
+++ b/web/src/js/components/common/CodeEditor.jsx
@@ -0,0 +1,30 @@
+import React, { Component, PropTypes } from 'react'
+import { render } from 'react-dom';
+import Codemirror from 'react-codemirror';
+
+
+export default class CodeEditor extends Component{
+ static propTypes = {
+ content: PropTypes.string.isRequired,
+ onChange: PropTypes.func.isRequired,
+ }
+
+ constructor(props){
+ super(props)
+ }
+
+ componentWillMount(){
+ this.props.onChange(this.props.content)
+ }
+
+ render() {
+ let options = {
+ lineNumbers: true
+ };
+ return (
+ <div onKeyDown={e => e.stopPropagation()}>
+ <Codemirror value={this.props.content} onChange={this.props.onChange} options={options}/>
+ </div>
+ )
+ }
+}