diff options
Diffstat (limited to 'web')
-rw-r--r-- | web/src/js/components/editor.js | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/web/src/js/components/editor.js b/web/src/js/components/editor.js index 714a8e2a..129fef08 100644 --- a/web/src/js/components/editor.js +++ b/web/src/js/components/editor.js @@ -49,9 +49,15 @@ var EditorBase = React.createClass({ onBlur={this._stop} onKeyDown={this.onKeyDown} onInput={this.onInput} + onPaste={this.onPaste} dangerouslySetInnerHTML={html} />; }, + onPaste: function(e){ + e.preventDefault(); + var content = e.clipboardData.getData("text/plain"); + document.execCommand("insertHTML", false, content); + }, onFocus: function (e) { this.setState({editable: true}, function () { React.findDOMNode(this).focus(); @@ -89,7 +95,7 @@ var EditorBase = React.createClass({ this.cancel(); break; case utils.Key.ENTER: - if (this.props.submitOnEnter) { + if (this.props.submitOnEnter && !e.shiftKey) { e.preventDefault(); this.stop(); } @@ -101,7 +107,6 @@ var EditorBase = React.createClass({ onInput: function () { var node = React.findDOMNode(this); var content = this.props.nodeToContent(node); - node.innerHTML = this.props.contentToHtml(content); this.props.onInput && this.props.onInput(content); } }); |