diff options
Diffstat (limited to 'web/src/js/components/common')
-rw-r--r-- | web/src/js/components/common/Button.jsx | 8 | ||||
-rw-r--r-- | web/src/js/components/common/CodeEditor.jsx | 30 | ||||
-rw-r--r-- | web/src/js/components/common/Splitter.jsx | 1 |
3 files changed, 35 insertions, 4 deletions
diff --git a/web/src/js/components/common/Button.jsx b/web/src/js/components/common/Button.jsx index 574288df..cd01af22 100644 --- a/web/src/js/components/common/Button.jsx +++ b/web/src/js/components/common/Button.jsx @@ -2,7 +2,8 @@ import React, { PropTypes } from 'react' Button.propTypes = { onClick: PropTypes.func.isRequired, - text: PropTypes.string.isRequired + text: PropTypes.string, + icon: PropTypes.string } export default function Button({ onClick, text, icon, disabled }) { @@ -10,9 +11,8 @@ export default function Button({ onClick, text, icon, disabled }) { <div className={"btn btn-default"} onClick={onClick} disabled={disabled}> - <i className={"fa fa-fw " + icon}/> - - {text} + {icon && (<i className={"fa fa-fw " + icon}/> )} + {text && text} </div> ) } 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> + ) + } +} diff --git a/web/src/js/components/common/Splitter.jsx b/web/src/js/components/common/Splitter.jsx index 9d22b6fd..bd4fb3d2 100644 --- a/web/src/js/components/common/Splitter.jsx +++ b/web/src/js/components/common/Splitter.jsx @@ -12,6 +12,7 @@ export default class Splitter extends Component { this.state = { applied: false, startX: false, startY: false } this.onMouseMove = this.onMouseMove.bind(this) + this.onMouseDown = this.onMouseDown.bind(this) this.onMouseUp = this.onMouseUp.bind(this) this.onDragEnd = this.onDragEnd.bind(this) } |