aboutsummaryrefslogtreecommitdiffstats
path: root/web/src/js/components/editor.js
diff options
context:
space:
mode:
Diffstat (limited to 'web/src/js/components/editor.js')
-rw-r--r--web/src/js/components/editor.js9
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);
}
});