From b137cd21d3832213ba55ad0c8d74c466f67e96b3 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Wed, 15 Jan 2020 21:04:18 -0700 Subject: [PATCH] Replace the selected range instead of force-setting it This gives people the option of cutting parts or all of their message. --- src/components/views/rooms/BasicMessageComposer.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/components/views/rooms/BasicMessageComposer.js b/src/components/views/rooms/BasicMessageComposer.js index c605953473..0dd9d16e51 100644 --- a/src/components/views/rooms/BasicMessageComposer.js +++ b/src/components/views/rooms/BasicMessageComposer.js @@ -209,9 +209,8 @@ export default class BasicMessageEditor extends React.Component { const selectedParts = range.parts.map(p => p.serialize()); event.clipboardData.setData("application/x-riot-composer", JSON.stringify(selectedParts)); if (type === "cut") { - // Remove the text from the composer - const {caret} = getCaretOffsetAndText(this._editorRef, selection); - this.props.model.update("", event.inputType, caret); + // Remove the text, updating the model as appropriate + replaceRangeAndMoveCaret(range, []); } event.preventDefault(); }