fix pasting of plaintext content (prevent loads of <p>s) Fixes vector-im/riot-web#7043

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
This commit is contained in:
Michael Telatynski 2018-07-17 16:02:37 +01:00
parent 414908611d
commit 1b467f6ca8
No known key found for this signature in database
GPG Key ID: 3F879DA5AD802A5E

View File

@ -970,19 +970,21 @@ export default class MessageComposerInput extends React.Component {
onPaste = (event: Event, change: Change, editor: Editor): Change => {
const transfer = getEventTransfer(event);
if (transfer.type === "files") {
return this.props.onFilesPasted(transfer.files);
}
else if (transfer.type === "html") {
// FIXME: https://github.com/ianstormtaylor/slate/issues/1497 means
// that we will silently discard nested blocks (e.g. nested lists) :(
const fragment = this.html.deserialize(transfer.html);
if (this.state.isRichTextEnabled) {
return change.insertFragment(fragment.document);
}
else {
return change.insertText(this.md.serialize(fragment));
switch (transfer.type) {
case 'files':
return this.props.onFilesPasted(transfer.files);
case 'html': {
// FIXME: https://github.com/ianstormtaylor/slate/issues/1497 means
// that we will silently discard nested blocks (e.g. nested lists) :(
const fragment = this.html.deserialize(transfer.html);
if (this.state.isRichTextEnabled) {
return change.insertFragment(fragment.document);
} else {
return change.insertText(this.md.serialize(fragment));
}
}
case 'text':
return change.insertText(transfer.text);
}
};