Skip to content

Commit 8ee60a8

Browse files
authored
Merge pull request #126 from NeetigyaPod/feat/remove-inline-buildtrigger
Remove inline javascript code from BuildTriggerStep
2 parents 1f58ef7 + 84643bf commit 8ee60a8

File tree

2 files changed

+22
-17
lines changed

2 files changed

+22
-17
lines changed

src/main/resources/org/jenkinsci/plugins/workflow/support/steps/build/BuildTriggerStep/config.jelly

+4-17
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,9 @@ THE SOFTWARE.
2727
<j:jelly xmlns:j="jelly:core" xmlns:f="/lib/form" xmlns:st="jelly:stapler">
2828
<j:set var="jobFieldId" value="${h.generateId()}"/>
2929
<f:entry field="job" title="Project to Build">
30-
<f:textbox onblur="loadParams()" id="${jobFieldId}"/>
30+
<span class="textbox-params-reference-holder" data-id="${jobFieldId}"/>
31+
<f:textbox id="${jobFieldId}"/>
32+
<st:adjunct includes="org.jenkinsci.plugins.workflow.support.steps.build.BuildTriggerStep.configLoad"/>
3133
</f:entry>
3234
<f:entry field="wait">
3335
<f:checkbox default="true" title="Wait for completion"/>
@@ -42,21 +44,6 @@ THE SOFTWARE.
4244
<f:number clazz="number"/>
4345
</f:entry>
4446
<f:entry field="parameters" title="Parameters">
45-
<div id="params"/>
46-
<script>
47-
function loadParams() {
48-
var div = document.getElementById('params');
49-
fetch('${descriptor.descriptorUrl}/parameters?job=' + encodeURIComponent(document.getElementById('${jobFieldId}').value) + '&amp;context=${descriptor.contextEncoded}').then((rsp) => {
50-
rsp.text().then((responseText) => {
51-
if (rsp.ok) {
52-
div.innerHTML = responseText;
53-
Behaviour.applySubtree(div);
54-
} else {
55-
div.innerHTML = "<b>ERROR</b>: Failed to load parameter definitions: " + rsp.statusText;
56-
}
57-
});
58-
});
59-
}
60-
</script>
47+
<div id="params" data-jobfield = '${jobFieldId}' data-descriptor = '${descriptor.descriptorUrl}'/>
6148
</f:entry>
6249
</j:jelly>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
Behaviour.specify(".textbox-params-reference-holder", 'textbox-onblur-function', 0, function (e) {
2+
var id = e.getAttribute('data-id');
3+
var textbox = document.getElementById(id);
4+
5+
textbox.onblur = function(el) {
6+
var div = document.getElementById('params');
7+
fetch(document.querySelector('#params').dataset.descriptor + '/parameters?job=' + encodeURIComponent(document.getElementById(document.querySelector('#params').dataset.jobfield).value) + '&amp;context=${descriptor.contextEncoded}').then((rsp) => {
8+
rsp.text().then((responseText) => {
9+
if (rsp.ok) {
10+
div.innerHTML = responseText;
11+
Behaviour.applySubtree(div);
12+
} else {
13+
div.innerHTML = "<b>ERROR</b>: Failed to load parameter definitions: " + rsp.statusText;
14+
}
15+
});
16+
});
17+
}
18+
});

0 commit comments

Comments
 (0)