summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacob Schatz <jschatz1@gmail.com>2017-01-21 09:11:28 -0500
committerJacob Schatz <jschatz1@gmail.com>2017-01-21 15:31:56 -0500
commitb97fd7fad2bf185cd14bd8fe5346205d4daf5693 (patch)
treec86d8306dea183c04fd080365a8f37ebb5264f01
parent0ef587b6741d04d012561eab25362cb51685d682 (diff)
downloadgitlab-ce-b97fd7fad2bf185cd14bd8fe5346205d4daf5693.tar.gz
Add event delegation to prevent events from not firing in certain states.
-rw-r--r--app/assets/javascripts/merge_request_widget/ci_bundle.js.es645
1 files changed, 28 insertions, 17 deletions
diff --git a/app/assets/javascripts/merge_request_widget/ci_bundle.js.es6 b/app/assets/javascripts/merge_request_widget/ci_bundle.js.es6
index 2b074994b4a..9c4a7eabcb6 100644
--- a/app/assets/javascripts/merge_request_widget/ci_bundle.js.es6
+++ b/app/assets/javascripts/merge_request_widget/ci_bundle.js.es6
@@ -8,31 +8,42 @@
* temporarily.
* */
- if ($('.accept-mr-form').length) {
- $('.accept-mr-form').on('ajax:send', () => {
- $('.accept-mr-form :input').disable();
- });
+ $(document)
+ .off('ajax:send', '.accept-mr-form')
+ .on('ajax:send', '.accept-mr-form', () => {
+ $('.accept-mr-form :input').disable();
+ });
- $('.accept_merge_request').on('click', () => {
- $('.js-merge-button').html('<i class="fa fa-spinner fa-spin"></i> Merge in progress');
- });
+ $(document)
+ .off('click', '.accept_merge_request')
+ .on('click', '.accept_merge_request', () => {
+ $('.js-merge-button').html('<i class="fa fa-spinner fa-spin"></i> Merge in progress');
+ });
- $('.merge_when_build_succeeds').on('click', () => {
- $('#merge_when_build_succeeds').val('1');
- });
+ $(document)
+ .off('click', '.merge_when_build_succeeds')
+ .on('click', '.merge_when_build_succeeds', () => {
+ $('#merge_when_build_succeeds').val('1');
+ });
- $('.js-merge-dropdown a').on('click', (e) => {
- e.preventDefault();
- $(this).closest('form').submit();
- });
- } else if ($('.rebase-in-progress').length) {
+ $(document)
+ .off('click', '.js-merge-dropdown a')
+ .on('click', '.js-merge-dropdown a', (e) => {
+ e.preventDefault();
+ $(this).closest('form').submit();
+ });
+ if ($('.rebase-in-progress').length) {
merge_request_widget.rebaseInProgress();
} else if ($('.rebase-mr-form').length) {
- $('.rebase-mr-form').on('ajax:send', () => {
+ $(document)
+ .off('ajax:send', '.rebase-mr-form')
+ .on('ajax:send', '.rebase-mr-form', () => {
$('.rebase-mr-form :input').disable();
});
- $('.js-rebase-button').on('click', () => {
+ $(document)
+ .off('click', '.js-rebase-button')
+ .on('click', '.js-rebase-button', () => {
$('.js-rebase-button').html("<i class='fa fa-spinner fa-spin'></i> Rebase in progress");
});
} else {