Commit 01f46570 authored by Paul Slaughter's avatar Paul Slaughter

Merge branch '219323-no-event-fired-at-clicking-close-issue-button-in-issue-page' into 'master'

Fix "Close Issue" button by changing target selector

Closes #219323

See merge request gitlab-org/gitlab!33294
parents 3cc89120 6739ef6c
...@@ -100,9 +100,10 @@ export default class Issue { ...@@ -100,9 +100,10 @@ export default class Issue {
initIssueBtnEventListeners() { initIssueBtnEventListeners() {
const issueFailMessage = __('Unable to update this issue at this time.'); const issueFailMessage = __('Unable to update this issue at this time.');
return $(document).on( // NOTE: data attribute seems unnecessary but is actually necessary
return $('.js-issuable-buttons[data-action="close-reopen"]').on(
'click', 'click',
'.js-issuable-actions a.btn-close, .js-issuable-actions a.btn-reopen, a.btn-close-anyway', 'a.btn-close, a.btn-reopen, a.btn-close-anyway',
e => { e => {
e.preventDefault(); e.preventDefault();
e.stopImmediatePropagation(); e.stopImmediatePropagation();
...@@ -119,10 +120,7 @@ export default class Issue { ...@@ -119,10 +120,7 @@ export default class Issue {
} else { } else {
this.disableCloseReopenButton($button); this.disableCloseReopenButton($button);
const url = $button.data('close-reopen-url'); const url = $button.attr('href');
if (!url) {
return;
}
return axios return axios
.put(url) .put(url)
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
%a.btn.btn-default.float-right.d-block.d-sm-none.gutter-toggle.issuable-gutter-toggle.js-sidebar-toggle{ href: "#" } %a.btn.btn-default.float-right.d-block.d-sm-none.gutter-toggle.issuable-gutter-toggle.js-sidebar-toggle{ href: "#" }
= icon('angle-double-left') = icon('angle-double-left')
.detail-page-header-actions.js-issuable-actions .detail-page-header-actions.js-issuable-actions.js-issuable-buttons{ data: { "action": "close-reopen" } }
.clearfix.issue-btn-group.dropdown .clearfix.issue-btn-group.dropdown
%button.btn.btn-default.float-left.d-md-none.d-lg-none.d-xl-none{ type: "button", data: { toggle: "dropdown" } } %button.btn.btn-default.float-left.d-md-none.d-lg-none.d-xl-none{ type: "button", data: { toggle: "dropdown" } }
Options Options
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
.float-left.btn-group.prepend-left-10.issuable-close-dropdown.droplab-dropdown.js-issuable-close-dropdown .float-left.btn-group.prepend-left-10.issuable-close-dropdown.droplab-dropdown.js-issuable-close-dropdown
= link_to "#{display_button_action} #{display_issuable_type}", close_reopen_issuable_path(issuable), = link_to "#{display_button_action} #{display_issuable_type}", close_reopen_issuable_path(issuable),
method: button_method, class: "#{button_class} btn-#{button_action} #{(add_blocked_class ? 'btn-issue-blocked' : '')}", title: "#{display_button_action} #{display_issuable_type}", data: { qa_selector: 'close_issue_button', 'close-reopen-url': close_reopen_issuable_path(issuable) } method: button_method, class: "#{button_class} btn-#{button_action} #{(add_blocked_class ? 'btn-issue-blocked' : '')}", title: "#{display_button_action} #{display_issuable_type}", data: { qa_selector: 'close_issue_button' }
= button_tag type: 'button', class: "#{toggle_class} btn-#{button_action}-color", = button_tag type: 'button', class: "#{toggle_class} btn-#{button_action}-color",
data: { 'dropdown-trigger' => '#issuable-close-menu' }, 'aria-label' => _('Toggle dropdown') do data: { 'dropdown-trigger' => '#issuable-close-menu' }, 'aria-label' => _('Toggle dropdown') do
......
---
title: Fix close issue when user created the issue
merge_request: 33294
author:
type: fixed
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
- blocked_by_issues_links = blocked_by_issues.map { |blocking_issue| link_to "\##{blocking_issue.iid}", project_issue_path(blocking_issue.project, blocking_issue), class: 'gl-link' }.join(', ').html_safe - blocked_by_issues_links = blocked_by_issues.map { |blocking_issue| link_to "\##{blocking_issue.iid}", project_issue_path(blocking_issue.project, blocking_issue), class: 'gl-link' }.join(', ').html_safe
- if @issue.blocked? && @issue.blocked_by_issues(current_user).length > 0 - if @issue.blocked? && @issue.blocked_by_issues(current_user).length > 0
.hidden.js-close-blocked-issue-warning.gl-alert.gl-alert-warning.prepend-top-16{ role: 'alert' } .hidden.js-close-blocked-issue-warning.js-issuable-buttons.gl-alert.gl-alert-warning.prepend-top-16{ role: 'alert', data: { 'action': "close-reopen" } }
= sprite_icon('warning', size: 16, css_class: 'gl-icon gl-alert-icon') = sprite_icon('warning', size: 16, css_class: 'gl-icon gl-alert-icon')
%h4.gl-alert-title %h4.gl-alert-title
= _('Are you sure you want to close this blocked issue?') = _('Are you sure you want to close this blocked issue?')
...@@ -10,6 +10,6 @@ ...@@ -10,6 +10,6 @@
= _('This issue is currently blocked by the following issues: %{issues}.').html_safe % { issues: blocked_by_issues_links } = _('This issue is currently blocked by the following issues: %{issues}.').html_safe % { issues: blocked_by_issues_links }
.gl-alert-actions .gl-alert-actions
= link_to _("Yes, close issue"), close_issuable_path(issue), rel: 'nofollow', method: '', = link_to _("Yes, close issue"), close_issuable_path(issue), rel: 'nofollow', method: '',
class: "btn btn-close-anyway gl-alert-action btn-warning btn-md gl-button", title: _("Yes, close issue"), 'data-close-reopen-url' => close_issuable_path(issue) class: "btn btn-close-anyway gl-alert-action btn-warning btn-md gl-button", title: _("Yes, close issue")
%button.btn.gl-alert-action.btn-warning.btn-md.gl-button.btn-secondary %button.btn.gl-alert-action.btn-warning.btn-md.gl-button.btn-secondary
= s_('Cancel') = s_('Cancel')
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
module QA module QA
context 'Create' do context 'Create' do
describe 'Contribution Analytics', quarantine: { issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/219323', type: :bug } do describe 'Contribution Analytics' do
let(:group) do let(:group) do
Resource::Group.fabricate_via_api! do |group| Resource::Group.fabricate_via_api! do |group|
group.path = "contribution_analytics-#{SecureRandom.hex(8)}" group.path = "contribution_analytics-#{SecureRandom.hex(8)}"
......
...@@ -15,14 +15,14 @@ ...@@ -15,14 +15,14 @@
<g class="edgeLabels"></g> <g class="edgeLabels"></g>
<g class="nodes"> <g class="nodes">
<g <g
class="node js-issuable-actions btn-close clickable" class="node js-issuable-buttons btn-close clickable"
style="opacity: 1;" style="opacity: 1;"
id="A" id="A"
transform="translate(92.67500305175781,25.25)" transform="translate(92.67500305175781,25.25)"
title="click to PUT" title="click to PUT"
> >
<a <a
class="js-issuable-actions btn-close clickable" class="js-issuable-buttons btn-close clickable"
href="https://invalid" href="https://invalid"
rel="noopener" rel="noopener"
> >
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment