Status: Don't toggle panel when clicking patch link

Each patchset panel is clickable in its entirety. Clicks anywhere
on the header of the widget propagate to the wrapper element and
result in the panel being toggled.

This works as expected when clicking on non-interactive areas,
such as the title, ETA, background, or progress bar.

However, this doesn't work as expected when clicking on the
Gerrit patch link, which inadvertently also causes the panel
to be toggled.

Add logic to the click event handler to ignore the event if it
bubbled up from an anchor link.

Test Plan:
* http://localhost/zuul/etc/status/public_html/?demo=basic
* Click on a Gerrit patch link (e.g. "10101,1") in a panel.

Previously, it triggers a panel toggle. Now it doesn't.
Clicking elsewhere still toggles the panel.

Change-Id: Ifadf3dfabfc361e1e7d775a62c4c2643b0e2b2c2
This commit is contained in:
Timo Tijhof 2017-09-19 19:46:09 +01:00
parent b41c8cfa74
commit 7fadbbfc6b
1 changed files with 5 additions and 0 deletions

View File

@ -542,6 +542,11 @@
// Toggle showing/hiding the patchset when the header is
// clicked.
if (e.target.nodeName.toLowerCase() === 'a') {
// Ignore clicks from gerrit patch set link
return;
}
// Grab the patchset panel
var $panel = $(e.target).parents('.zuul-change');
var $body = $panel.children('.zuul-patchset-body');