Skip to content

Commit 005441d

Browse files
authored
Replace dropdown button to remove dependency on YUI (#483)
1 parent c9f7ca9 commit 005441d

File tree

3 files changed

+33
-21
lines changed

3 files changed

+33
-21
lines changed

pom.xml

+3-3
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
<revision>4</revision>
6666
<changelist>999999-SNAPSHOT</changelist>
6767
<gitHubRepo>jenkinsci/${project.artifactId}-plugin</gitHubRepo>
68-
<jenkins.version>2.401.3</jenkins.version>
68+
<jenkins.version>2.452.3</jenkins.version>
6969
<jenkinsRuleTimeout>0</jenkinsRuleTimeout>
7070
<skip.surefire.tests>${skipTests}</skip.surefire.tests>
7171
<skipITs>true</skipITs>
@@ -89,8 +89,8 @@
8989
<dependencies>
9090
<dependency>
9191
<groupId>io.jenkins.tools.bom</groupId>
92-
<artifactId>bom-2.401.x</artifactId>
93-
<version>2671.va_73a_b_4c103fb_</version>
92+
<artifactId>bom-2.452.x</artifactId>
93+
<version>3208.vb_21177d4b_cd9</version>
9494
<type>pom</type>
9595
<scope>import</scope>
9696
</dependency>

src/main/resources/com/google/jenkins/plugins/computeengine/ComputeEngineCloud/computerSet.jelly

+22-18
Original file line numberDiff line numberDiff line change
@@ -12,28 +12,32 @@
1212
License.
1313
-->
1414
<?jelly escape-by-default='true'?>
15-
<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:f="/lib/form">
15+
<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:f="/lib/form"
16+
xmlns:l="/lib/layout" xmlns:dd="/lib/layout/dropdowns">
1617
<j:if test="${it.hasPermission(it.PROVISION)}">
18+
<j:set var="formId" value="${h.generateId()}"/>
1719
<tr>
1820
<td/>
19-
<td colspan="${monitors.size()+1}">
20-
<f:form action="${rootURL}/${it.url}/provision" method="post" name="provision">
21-
<input type="submit" class="gce-provision-button" value="${%Provision via} ${it.displayName}"/>
22-
<select name="configuration">
23-
<j:forEach var="c" items="${it.configurations}">
24-
<option value="${c.description}">${c.description}</option>
25-
</j:forEach>
26-
</select>
27-
<st:once>
28-
<script>
29-
Behaviour.register({
30-
".gce-provision-button" : function (e) {
31-
new YAHOO.widget.Button(e, { type: "menu", menu: e.nextSibling });
32-
}
33-
});
34-
</script>
35-
</st:once>
21+
<td colspan="${monitors.size()+2}">
22+
<l:overflowButton icon="symbol-add"
23+
text="${%Provision via} ${it.displayName}"
24+
tooltip="${null}"
25+
clazz="jenkins-!-margin-top-2">
26+
<j:forEach var="t" items="${it.configurations}">
27+
<dd:custom>
28+
<button class="jenkins-dropdown__item"
29+
data-type="gcloud-provision"
30+
data-form="${formId}"
31+
data-url="${t.description}">
32+
${t.description}
33+
</button>
34+
</dd:custom>
35+
</j:forEach>
36+
</l:overflowButton>
37+
<f:form action="${rootURL}/${it.url}/provision" method="post" name="provision" id="${formId}">
38+
<input type="hidden" name="configuration"/>
3639
</f:form>
40+
<st:adjunct includes="com.google.jenkins.plugins.computeengine.ComputeEngineCloud.provision"/>
3741
</td>
3842
</tr>
3943
</j:if>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
Behaviour.specify("[data-type='gcloud-provision']", 'gcloud-provision', -99, function(e) {
2+
e.addEventListener("click", function (event) {
3+
const form = document.getElementById(e.dataset.form);
4+
form.querySelector("[name='configuration']").value = e.dataset.url;
5+
buildFormTree(form);
6+
form.submit();
7+
});
8+
});

0 commit comments

Comments
 (0)