From 619f52aa09dcbe930e289619fc44a71ac5d96166 Mon Sep 17 00:00:00 2001 From: Yaroslav <91559310+yaroslavafenkin@users.noreply.github.com> Date: Mon, 16 Dec 2024 14:27:21 +0200 Subject: [PATCH] [JENKINS-74110][JENKINS-74109] Extract inline JavaScript (#335) * [JENKINS-74109] Extract inline JavaScript from `AbstractClaimBuildAction/summary.jelly` * [JENKINS-74109] Extract JavaScript from `AbstractClaimBuildAction/tablerow.jelly` --- .../AbstractClaimBuildAction/resource.js | 42 +++++++++++++++ .../AbstractClaimBuildAction/summary.jelly | 31 +++-------- .../tablerow-resource.js | 53 +++++++++++++++++++ .../AbstractClaimBuildAction/tablerow.jelly | 42 +++------------ 4 files changed, 109 insertions(+), 59 deletions(-) create mode 100644 src/main/resources/hudson/plugins/claim/AbstractClaimBuildAction/resource.js create mode 100644 src/main/resources/hudson/plugins/claim/AbstractClaimBuildAction/tablerow-resource.js diff --git a/src/main/resources/hudson/plugins/claim/AbstractClaimBuildAction/resource.js b/src/main/resources/hudson/plugins/claim/AbstractClaimBuildAction/resource.js new file mode 100644 index 00000000..27105a0c --- /dev/null +++ b/src/main/resources/hudson/plugins/claim/AbstractClaimBuildAction/resource.js @@ -0,0 +1,42 @@ +function showPopup() { + var hp = document.getElementById("claimHoverPopup"); + hp.style.display = "block"; +} + +function hidePopup() { + var hp = document.getElementById("claimHoverPopup"); + hp.style.display = "none"; +} + +function display(error) { + var reasonText = document.getElementById("errordesc"); + claimBuildAction.getReason(error, function(content) { + reasonText.textContent = content.responseObject(); + }); +} + +Behaviour.specify("A#claim", "AbstractClaimBuildAction_claim", 0, function (element) { + element.addEventListener("click", (event) => { + event.preventDefault(); + showPopup(); + }); +}); + +Behaviour.specify("A#reassign", "AbstractClaimBuildAction_reassign", 0, function (element) { + element.addEventListener("click", (event) => { + event.preventDefault(); + showPopup(); + }); +}); + +Behaviour.specify(".claim-hide-popup", "AbstractClaimBuildAction_hide-popup", 0, function (element) { + element.addEventListener("click", (event) => { + hidePopup(); + }); +}); + +Behaviour.specify(".claim-bfa-display-error", "AbstractClaimBuildAction_display-bfa-error", 0, function (element) { + element.addEventListener("change", (event) => { + display(event.target.value); + }); +}); diff --git a/src/main/resources/hudson/plugins/claim/AbstractClaimBuildAction/summary.jelly b/src/main/resources/hudson/plugins/claim/AbstractClaimBuildAction/summary.jelly index 755f3380..f4651526 100644 --- a/src/main/resources/hudson/plugins/claim/AbstractClaimBuildAction/summary.jelly +++ b/src/main/resources/hudson/plugins/claim/AbstractClaimBuildAction/summary.jelly @@ -1,26 +1,8 @@ - + +

@@ -30,7 +12,7 @@ - + @@ -44,7 +26,7 @@ - + @@ -67,7 +49,7 @@ - + @@ -85,7 +67,8 @@

-
diff --git a/src/main/resources/hudson/plugins/claim/AbstractClaimBuildAction/tablerow-resource.js b/src/main/resources/hudson/plugins/claim/AbstractClaimBuildAction/tablerow-resource.js new file mode 100644 index 00000000..869c2957 --- /dev/null +++ b/src/main/resources/hudson/plugins/claim/AbstractClaimBuildAction/tablerow-resource.js @@ -0,0 +1,53 @@ +function showPopup(hoveritem) { + var row = hoveritem.closest('tr'); + var hp = row.querySelector(".claimHoverPopup"); + if (hp) { + hp.style.display = "block"; + } else { + console.error("Claim popup not found in the same row."); + } +} + +function hidePopup(hoveritem) { + var row = hoveritem.closest('tr'); + var hp = row.querySelector(".claimHoverPopup"); + if (hp) { + hp.style.display = "none"; + } else { + console.error("Claim popup not found in the same row."); + } +} + +function display(hoveritem, error) { + var row = hoveritem.closest('tr'); + var reasonText = row.querySelector('#errordesc'); + claimBuildAction.getReason(error, function(content) { + reasonText.textContent = content.responseObject(); + }); +} + +Behaviour.specify("A#claim", "AbstractClaimBuildAction_claim", 0, function (element) { + element.addEventListener("click", (event) => { + event.preventDefault(); + showPopup(event.target.closest("a#claim")); + }); +}); + +Behaviour.specify("A#reassign", "AbstractClaimBuildAction_reassign", 0, function (element) { + element.addEventListener("click", (event) => { + event.preventDefault(); + showPopup(event.target.closest("a#reassign")); + }); +}); + +Behaviour.specify(".claim-hide-popup", "AbstractClaimBuildAction_hide-popup", 0, function (element) { + element.addEventListener("click", (event) => { + hidePopup(event.target); + }); +}); + +Behaviour.specify(".claim-bfa-display-error", "AbstractClaimBuildAction_display-bfa-error", 0, function (element) { + element.addEventListener("change", (event) => { + display(event.target, event.target.value); + }); +}); \ No newline at end of file diff --git a/src/main/resources/hudson/plugins/claim/AbstractClaimBuildAction/tablerow.jelly b/src/main/resources/hudson/plugins/claim/AbstractClaimBuildAction/tablerow.jelly index 4e173343..4f47a240 100644 --- a/src/main/resources/hudson/plugins/claim/AbstractClaimBuildAction/tablerow.jelly +++ b/src/main/resources/hudson/plugins/claim/AbstractClaimBuildAction/tablerow.jelly @@ -2,42 +2,13 @@ - + + - + @@ -51,7 +22,7 @@ - + @@ -65,7 +36,7 @@ - + @@ -83,7 +54,8 @@
-