Skip to content

Commit

Permalink
Merge pull request #126 from NeetigyaPod/feat/remove-inline-buildtrigger
Browse files Browse the repository at this point in the history
Remove inline javascript code from BuildTriggerStep
  • Loading branch information
jglick committed Oct 27, 2023
2 parents 1f58ef7 + 84643bf commit 8ee60a8
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,9 @@ THE SOFTWARE.
<j:jelly xmlns:j="jelly:core" xmlns:f="/lib/form" xmlns:st="jelly:stapler">
<j:set var="jobFieldId" value="${h.generateId()}"/>
<f:entry field="job" title="Project to Build">
<f:textbox onblur="loadParams()" id="${jobFieldId}"/>
<span class="textbox-params-reference-holder" data-id="${jobFieldId}"/>
<f:textbox id="${jobFieldId}"/>
<st:adjunct includes="org.jenkinsci.plugins.workflow.support.steps.build.BuildTriggerStep.configLoad"/>
</f:entry>
<f:entry field="wait">
<f:checkbox default="true" title="Wait for completion"/>
Expand All @@ -42,21 +44,6 @@ THE SOFTWARE.
<f:number clazz="number"/>
</f:entry>
<f:entry field="parameters" title="Parameters">
<div id="params"/>
<script>
function loadParams() {
var div = document.getElementById('params');
fetch('${descriptor.descriptorUrl}/parameters?job=' + encodeURIComponent(document.getElementById('${jobFieldId}').value) + '&amp;context=${descriptor.contextEncoded}').then((rsp) => {
rsp.text().then((responseText) => {
if (rsp.ok) {
div.innerHTML = responseText;
Behaviour.applySubtree(div);
} else {
div.innerHTML = "<b>ERROR</b>: Failed to load parameter definitions: " + rsp.statusText;
}
});
});
}
</script>
<div id="params" data-jobfield = '${jobFieldId}' data-descriptor = '${descriptor.descriptorUrl}'/>
</f:entry>
</j:jelly>
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Behaviour.specify(".textbox-params-reference-holder", 'textbox-onblur-function', 0, function (e) {
var id = e.getAttribute('data-id');
var textbox = document.getElementById(id);

textbox.onblur = function(el) {
var div = document.getElementById('params');
fetch(document.querySelector('#params').dataset.descriptor + '/parameters?job=' + encodeURIComponent(document.getElementById(document.querySelector('#params').dataset.jobfield).value) + '&amp;context=${descriptor.contextEncoded}').then((rsp) => {
rsp.text().then((responseText) => {
if (rsp.ok) {
div.innerHTML = responseText;
Behaviour.applySubtree(div);
} else {
div.innerHTML = "<b>ERROR</b>: Failed to load parameter definitions: " + rsp.statusText;
}
});
});
}
});

0 comments on commit 8ee60a8

Please sign in to comment.