From 3e1b6492d064e55943b49edba819b30e051dedc4 Mon Sep 17 00:00:00 2001 From: Arlen Johnson Date: Mon, 5 Sep 2022 16:39:57 -0400 Subject: [PATCH] Skip display of loading animation when CMD, CTRL, or SHIFT is pressed (CO-2488) (#45) --- app/templates/element/javascript.php | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/app/templates/element/javascript.php b/app/templates/element/javascript.php index 3de10d6bd..6ad827fd5 100644 --- a/app/templates/element/javascript.php +++ b/app/templates/element/javascript.php @@ -188,13 +188,16 @@ // Add loading animation when a form is submitted, when any item with a "spin" class is clicked, // or on any anchor tag lacking the .nospin class. We do not automatically add this to buttons // because they are often on-page controls. Add a "spin" class to buttons that need it. - $("input[type='submit'], a:not('.nospin'), .spin").click(function() { + $("input[type='submit'], a:not('.nospin'), .spin").click(function(e) { - displaySpinner(); + // Start a spinner only if CTRL, CMD, or SHIFT is not pressed (which loads a new tab or window). + if(!(e.ctrlKey || e.metaKey || e.shiftKey)) { + displaySpinner(); - // Test for invalid fields (HTML5) and turn off spinner explicitly if found - if(document.querySelectorAll(":invalid").length) { - stopSpinner(); + // Test for invalid fields (HTML5) and turn off spinner explicitly if found + if (document.querySelectorAll(":invalid").length) { + stopSpinner(); + } } });