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 {
initIssueBtnEventListeners() {
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',
'.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.preventDefault();
e.stopImmediatePropagation();
......@@ -119,10 +120,7 @@ export default class Issue {
} else {
this.disableCloseReopenButton($button);
const url = $button.data('close-reopen-url');
if (!url) {
return;
}
const url = $button.attr('href');
return axios
.put(url)
......
......@@ -33,7 +33,7 @@
%a.btn.btn-default.float-right.d-block.d-sm-none.gutter-toggle.issuable-gutter-toggle.js-sidebar-toggle{ href: "#" }
= 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
%button.btn.btn-default.float-left.d-md-none.d-lg-none.d-xl-none{ type: "button", data: { toggle: "dropdown" } }
Options
......
......@@ -11,7 +11,7 @@
.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),
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",
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 @@
- 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
.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')
%h4.gl-alert-title
= _('Are you sure you want to close this blocked issue?')
......@@ -10,6 +10,6 @@
= _('This issue is currently blocked by the following issues: %{issues}.').html_safe % { issues: blocked_by_issues_links }
.gl-alert-actions
= 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
= s_('Cancel')
......@@ -2,7 +2,7 @@
module QA
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
Resource::Group.fabricate_via_api! do |group|
group.path = "contribution_analytics-#{SecureRandom.hex(8)}"
......
......@@ -15,14 +15,14 @@
<g class="edgeLabels"></g>
<g class="nodes">
<g
class="node js-issuable-actions btn-close clickable"
class="node js-issuable-buttons btn-close clickable"
style="opacity: 1;"
id="A"
transform="translate(92.67500305175781,25.25)"
title="click to PUT"
>
<a
class="js-issuable-actions btn-close clickable"
class="js-issuable-buttons btn-close clickable"
href="https://invalid"
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