Skip to content

Commit 5ac5a36

Browse files
authored
Merge pull request #194 from jenkinsci/flatpickr
use flatpickr to select maintenance dates/times
2 parents 405ff99 + 8624c41 commit 5ac5a36

File tree

6 files changed

+48
-35
lines changed

6 files changed

+48
-35
lines changed

pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,11 @@
6565
<groupId>io.jenkins.plugins</groupId>
6666
<artifactId>ionicons-api</artifactId>
6767
</dependency>
68+
<dependency>
69+
<groupId>io.jenkins.plugins</groupId>
70+
<artifactId>flatpickr-api</artifactId>
71+
<version>4.6.13-5.v534d8025a_a_59</version>
72+
</dependency>
6873
<dependency>
6974
<groupId>com.cronutils</groupId>
7075
<artifactId>cron-utils</artifactId>

src/main/resources/com/sap/prd/jenkins/plugins/agent_maintenance/MaintenanceWindow/config.jelly

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,29 @@
11
<?jelly escape-by-default='true'?>
22
<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form" xmlns:i="jelly:fmt">
3+
<st:adjunct includes="io.jenkins.plugins.flatpickr"/>
4+
<st:adjunct includes="com.sap.prd.jenkins.plugins.agent_maintenance.flatpickr"/>
35
<j:invokeStatic var="defaultStart" method="getDefaultStartTime" className="com.sap.prd.jenkins.plugins.agent_maintenance.MaintenanceAction"/>
46
<j:invokeStatic var="defaultEnd" method="getDefaultEndTime" className="com.sap.prd.jenkins.plugins.agent_maintenance.MaintenanceAction"/>
57
<f:entry title="${%startTime}" help="/descriptor/com.sap.prd.jenkins.plugins.agent_maintenance.MaintenanceWindow/help/startTime">
6-
<f:textbox name="startTime" value="${mw.startTime}" default="${defaultStart}"
7-
checkUrl="${rootURL}/descriptorByName/com.sap.prd.jenkins.plugins.agent_maintenance.MaintenanceWindow/checkStartTime" checkDependsOn="startTime endTime"/>
8+
<div class="am__flatpickr" data-now="${defaultStart}">
9+
<f:textbox name="startTime" value="${mw.startTime}" default="${defaultStart}"
10+
checkUrl="${rootURL}/descriptorByName/com.sap.prd.jenkins.plugins.agent_maintenance.MaintenanceWindow/checkStartTime"
11+
checkDependsOn="startTime endTime"
12+
data-input=""/>
13+
14+
<button class="jenkins-button" type="button" data-toggle="" tooltip="Open datetime picker">
15+
<l:icon src="symbol-calendar-outline plugin-ionicons-api"/>
16+
</button>
17+
</div>
818
</f:entry>
919
<f:entry title="${%endTime}" help="/descriptor/com.sap.prd.jenkins.plugins.agent_maintenance.MaintenanceWindow/help/endTime">
10-
<f:textbox name="endTime" value="${mw.endTime}" default="${defaultEnd}"/>
20+
<div class="am__flatpickr" data-now="${defaultStart}">
21+
<f:textbox name="endTime" value="${mw.endTime}" default="${defaultEnd}"
22+
data-input=""/>
23+
<button class="jenkins-button" type="button" data-toggle="" tooltip="Open datetime picker">
24+
<l:icon src="symbol-calendar-outline plugin-ionicons-api"/>
25+
</button>
26+
</div>
1127
</f:entry>
1228
<f:entry field="reason" title="${%Reason}" help="/plugin/agent-maintenance/help/help-reason.html">
1329
<f:textbox value="${mw.reason}"/>

src/main/resources/com/sap/prd/jenkins/plugins/agent_maintenance/agent-maintenance.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,3 +70,7 @@
7070
flex-wrap: wrap;
7171
row-gap: 5px;
7272
}
73+
74+
.jenkins-dialog__contents {
75+
padding-top: 5px;
76+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
.am__flatpickr {
2+
display: flex;
3+
gap: 5px;
4+
}
5+
6+
.am__flatpickr > input {
7+
width: 150px;
8+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Behaviour.specify(".am__flatpickr", "am-flatpickr", 0, function(fp) {
2+
flatpickr(fp, {
3+
allowInput: true,
4+
enableTime: true,
5+
wrap: true,
6+
clickOpens: false,
7+
dateFormat: "Y-m-d H:i",
8+
time_24hr: true,
9+
minDate: fp.dataset.now,
10+
static: true,
11+
});
12+
});

src/main/webapp/js/agent-maintenance.js

Lines changed: 0 additions & 32 deletions
This file was deleted.

0 commit comments

Comments
 (0)