summaryrefslogtreecommitdiff
path: root/app/assets/javascripts
diff options
context:
space:
mode:
authorJacob Schatz <jschatz@gitlab.com>2016-08-03 04:15:39 +0000
committerJacob Schatz <jschatz@gitlab.com>2016-08-03 04:15:39 +0000
commit195b20e1b9ff08437c5a436dc14f04e7f1bee807 (patch)
treec72759b1b88720c7d3f54fcad14a5b76793fa519 /app/assets/javascripts
parent3552900733aa86035d8cc50a1180727cba5915bb (diff)
parent6e87ce282db9f5264f77ae2238c1fff23beece1a (diff)
downloadgitlab-ce-195b20e1b9ff08437c5a436dc14f04e7f1bee807.tar.gz
Merge branch 'discussion-reply-button-performance' into 'master'
Remove delay when hitting Reply... button on page with a lot of comments Every time the "Reply..." button was hit, a new `GLForm` was instantiated (which is fine), which would then call `GitLab.GfmAutoComplete.setup()` without specifying which textarea we needed autocompletion on, which resulted in `GitLab.GfmAutoComplete.setup` iterating through every single textarea on the page. On a page with a lot of comments, where each comment would have its own textarea that will be used to edit the comment, this would take a long time and cause the whole page to hang for 2 seconds when a "Reply..." button was clicked. See merge request !5602
Diffstat (limited to 'app/assets/javascripts')
-rw-r--r--app/assets/javascripts/gfm_auto_complete.js4
-rw-r--r--app/assets/javascripts/gl_form.js2
2 files changed, 3 insertions, 3 deletions
diff --git a/app/assets/javascripts/gfm_auto_complete.js b/app/assets/javascripts/gfm_auto_complete.js
index 41f4c1914f2..2e5b15f4b77 100644
--- a/app/assets/javascripts/gfm_auto_complete.js
+++ b/app/assets/javascripts/gfm_auto_complete.js
@@ -47,8 +47,8 @@
}
}
},
- setup: function(wrap) {
- this.input = $('.js-gfm-input');
+ setup: function(input) {
+ this.input = input || $('.js-gfm-input');
this.destroyAtWho();
this.setupAtWho();
if (this.dataSource) {
diff --git a/app/assets/javascripts/gl_form.js b/app/assets/javascripts/gl_form.js
index 6ac7564a848..528a673eb15 100644
--- a/app/assets/javascripts/gl_form.js
+++ b/app/assets/javascripts/gl_form.js
@@ -21,7 +21,7 @@
this.form.find('.div-dropzone').remove();
this.form.addClass('gfm-form');
disableButtonIfEmptyField(this.form.find('.js-note-text'), this.form.find('.js-comment-button'));
- GitLab.GfmAutoComplete.setup();
+ GitLab.GfmAutoComplete.setup(this.form.find('.js-gfm-input'));
new DropzoneInput(this.form);
autosize(this.textarea);
this.addEventListeners();