summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Knox <psimyn@gmail.com>2017-03-29 13:12:51 +1100
committerSimon Knox <psimyn@gmail.com>2017-04-18 21:29:32 +1000
commitee65f5eecb5bc08a135481cd8924e62125dc7dbe (patch)
tree344ddcfe4e7c9bc4e1b0185254c3b6f0fb97dac0
parent2b934a7f43feff6889b51a1cd2aadc9afb3f25d8 (diff)
downloadgitlab-ce-30008-textarea-focus.tar.gz
update textarea height and refocus when attaching files30008-textarea-focus
also fix extra newline when pasting image into textarea
-rw-r--r--app/assets/javascripts/dropzone_input.js11
-rw-r--r--changelogs/unreleased/30008-textarea-focus.yml4
2 files changed, 11 insertions, 4 deletions
diff --git a/app/assets/javascripts/dropzone_input.js b/app/assets/javascripts/dropzone_input.js
index df0e3f46827..c5fbbdaf465 100644
--- a/app/assets/javascripts/dropzone_input.js
+++ b/app/assets/javascripts/dropzone_input.js
@@ -130,13 +130,15 @@ window.DropzoneInput = (function() {
var afterSelection, beforeSelection, caretEnd, caretStart, textEnd;
var formattedText = text;
if (shouldPad) formattedText += "\n\n";
- caretStart = $(child)[0].selectionStart;
- caretEnd = $(child)[0].selectionEnd;
+ const textarea = child.get(0);
+ caretStart = textarea.selectionStart;
+ caretEnd = textarea.selectionEnd;
textEnd = $(child).val().length;
beforeSelection = $(child).val().substring(0, caretStart);
afterSelection = $(child).val().substring(caretEnd, textEnd);
$(child).val(beforeSelection + formattedText + afterSelection);
- child.get(0).setSelectionRange(caretStart + formattedText.length, caretEnd + formattedText.length);
+ textarea.setSelectionRange(caretStart + formattedText.length, caretEnd + formattedText.length);
+ textarea.style.height = `${textarea.scrollHeight}px`;
return form_textarea.trigger("input");
};
getFilename = function(e) {
@@ -180,7 +182,7 @@ window.DropzoneInput = (function() {
};
insertToTextArea = function(filename, url) {
return $(child).val(function(index, val) {
- return val.replace("{{" + filename + "}}", url + "\n");
+ return val.replace("{{" + filename + "}}", url);
});
};
appendToTextArea = function(url) {
@@ -215,6 +217,7 @@ window.DropzoneInput = (function() {
form.find(".markdown-selector").click(function(e) {
e.preventDefault();
$(this).closest('.gfm-form').find('.div-dropzone').click();
+ form_textarea.focus();
});
}
diff --git a/changelogs/unreleased/30008-textarea-focus.yml b/changelogs/unreleased/30008-textarea-focus.yml
new file mode 100644
index 00000000000..91837bbf96e
--- /dev/null
+++ b/changelogs/unreleased/30008-textarea-focus.yml
@@ -0,0 +1,4 @@
+---
+title: refocus textarea after attaching a file
+merge_request:
+author: