diff options
author | Luke "Jared" Bennett <lbennett@gitlab.com> | 2017-07-03 19:00:59 +0300 |
---|---|---|
committer | Luke "Jared" Bennett <lbennett@gitlab.com> | 2017-07-07 16:57:28 +0300 |
commit | 55dd0d722d87a24f3b83a8a7692666a64387d668 (patch) | |
tree | 673d318330c0ca8d14b0147d74707a87686ebddf /app/assets/javascripts/issue.js | |
parent | b8deafd0d8eacb5cbba9e868c445c92b514d537e (diff) |
Dont show toggle if only one action is available and do not show report as abuse for current_user's issuables
Diffstat (limited to 'app/assets/javascripts/issue.js')
-rw-r--r-- | app/assets/javascripts/issue.js | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/app/assets/javascripts/issue.js b/app/assets/javascripts/issue.js index 62ffde6c93c..70007d4d4af 100644 --- a/app/assets/javascripts/issue.js +++ b/app/assets/javascripts/issue.js @@ -31,6 +31,11 @@ class Issue { this.initCloseReopenReport(); + if (!this.closeReopenReportToggle) { + this.closeButtons = $('a.btn-close'); + this.reopenButtons = $('a.btn-reopen'); + } + if (Issue.createMrDropdownWrap) { this.createMergeRequestDropdown = new CreateMergeRequestDropdown(Issue.createMrDropdownWrap); } @@ -52,7 +57,7 @@ class Issue { Issue.submitNoteForm($button.closest('form')); } - this.closeReopenReportToggle.setDisable(true); + this.disableCloseReopenButton($button, true); url = $button.attr('href'); return $.ajax({ @@ -68,7 +73,7 @@ class Issue { isClosedBadge.toggleClass('hidden', !isClosed); isOpenBadge.toggleClass('hidden', isClosed); - this.closeReopenReportToggle.updateButton(isClosed); + this.toggleCloseReopenButton(isClosed); let numProjectIssues = Number(projectIssuesCounter.text().replace(/[^\d]/, '')); numProjectIssues = isClosed ? numProjectIssues - 1 : numProjectIssues + 1; @@ -87,13 +92,16 @@ class Issue { new Flash(issueFailMessage); } - this.closeReopenReportToggle.setDisable(false); + this.disableCloseReopenButton($button, false); }); }); } initCloseReopenReport() { const container = document.querySelector('.js-issuable-close-dropdown'); + + if (!container) return; + const dropdownTrigger = container.querySelector('.js-issuable-close-toggle'); const dropdownList = container.querySelector('.js-issuable-close-menu'); const button = container.querySelector('.js-issuable-close-button'); @@ -107,6 +115,23 @@ class Issue { this.closeReopenReportToggle.initDroplab(); } + disableCloseReopenButton($button, shouldDisable) { + if (this.closeReopenReportToggle) { + this.closeReopenReportToggle.setDisable(shouldDisable); + } else { + $button.prop('disabled', shouldDisable); + } + } + + toggleCloseReopenButton(isClosed) { + if (this.closeReopenReportToggle) { + this.closeReopenReportToggle.updateButton(isClosed); + } else { + this.closeButtons.toggleClass('hidden', isClosed); + this.reopenButtons.toggleClass('hidden', !isClosed); + } + } + static submitNoteForm(form) { var noteText; noteText = form.find("textarea.js-note-text").val(); |