about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMisty De Meo <mistydemeo@gmail.com>2017-01-04 20:04:14 -0800
committerMisty De Meo <mistydemeo@gmail.com>2017-01-04 20:04:14 -0800
commitc100b83b98b8a6ce24d7f0d9140f47e722b17a06 (patch)
tree8904d8f8336ffbff2d87bee7bfac28082f202845
parent9bb1b97d2a31477ce3da83fb204dd5702323c1bb (diff)
Automatically position cursor when writing a reply toot
-rw-r--r--app/assets/javascripts/components/features/compose/components/compose_form.jsx7
1 files changed, 7 insertions, 0 deletions
diff --git a/app/assets/javascripts/components/features/compose/components/compose_form.jsx b/app/assets/javascripts/components/features/compose/components/compose_form.jsx
index 412c29310..44c44bcb0 100644
--- a/app/assets/javascripts/components/features/compose/components/compose_form.jsx
+++ b/app/assets/javascripts/components/features/compose/components/compose_form.jsx
@@ -86,6 +86,13 @@ const ComposeForm = React.createClass({
 
   componentDidUpdate (prevProps) {
     if (prevProps.in_reply_to !== this.props.in_reply_to) {
+      // If replying to zero or one users, places the cursor at the end of the textbox.
+      // If replying to more than one user, selects any usernames past the first;
+      // this provides a convenient shortcut to drop everyone else from the conversation.
+      let selectionStart = this.props.text.search(/\s/) + 1;
+      let selectionEnd = this.props.text.length;
+      this.autosuggestTextarea.textarea.setSelectionRange(selectionStart, selectionEnd);
+
       this.autosuggestTextarea.textarea.focus();
     }
   },