From 7fadbbfc6b1bc5af1309cddd657934fd15bcd47a Mon Sep 17 00:00:00 2001 From: Timo Tijhof Date: Tue, 19 Sep 2017 19:46:09 +0100 Subject: [PATCH] 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 --- etc/status/public_html/jquery.zuul.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/etc/status/public_html/jquery.zuul.js b/etc/status/public_html/jquery.zuul.js index d973948be8..9a966df712 100644 --- a/etc/status/public_html/jquery.zuul.js +++ b/etc/status/public_html/jquery.zuul.js @@ -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');