<h:panelGroup id="timePickerGroup" layout="block">
<p>AM/PM with Auto-Close</p>
<pe:clockpicker id="autoclose" widgetVar="autocloseWidget" autoClose="true" value="#{clockPickerController.time}"
twelveHour="true" locale="es"/>
<p>24 Hour with Manual Close Mode</p>
<pe:clockpicker id="closeable" widgetVar="closeableWidget" autoClose="false" value="#{clockPickerController.time2}" showOn="button">
<p:ajax listener="#{clockPickerController.showTime2}" />
</pe:clockpicker>
<p>Open In Dialog</p>
<p:commandButton value="Open Dialog" type="button" icon="pi pi-external-link" onclick="PF('dlg1').show()"/>
<p:dialog header="ClockPicker" widgetVar="dlg1" height="350" width="350" showEffect="fade" closeOnEscape="true">
<pe:clockpicker id="dlgClockPicker" widgetVar="dialogClockPickerWidget" autoClose="false" value="#{clockPickerController.time3}" showOn="button">
<p:ajax listener="#{clockPickerController.showTime3}" />
</pe:clockpicker>
</p:dialog>
</h:panelGroup>
<p:commandButton type="button" value="Disable clock pickers" styleClass="mt-2 mr-2"
onclick="PF('autocloseWidget').disable();PF('closeableWidget').disable();"/>
<p:commandButton type="button" value="Enable clock pickers" styleClass="mt-2 mr-2"
onclick="PF('autocloseWidget').enable();PF('closeableWidget').enable();"/>
<p:commandButton id="submitButton" value="Submit" actionListener="#{clockPickerController.showTime1}" update="timePickerGroup"
styleClass="mt-2 mr-2" icon="pi pi-save"/>
@Named
@ViewScoped
public class ClockPickerController implements Serializable {
private static final long serialVersionUID = 897540091000342926L;
private LocalTime time;
private LocalTime time2;
private LocalTime time3;
public ClockPickerController() {
// Initialize time to 8:15 AM
time = LocalTime.of(8, 15);
time2 = LocalTime.of(9, 28);
time3 = LocalTime.of(13, 44);
}
public void showTime1() {
if (time != null) {
int hour = time.getHour();
int min = time.getMinute();
String message = String.format("Selected hour: %d, Selected min: %d", hour, min);
addMessage(FacesMessage.SEVERITY_INFO, "Info Message", message);
}
else {
addMessage(FacesMessage.SEVERITY_ERROR, "Error Message", "Time is not selected.");
}
}
public void showTime2() {
if (time2 != null) {
addMessage(FacesMessage.SEVERITY_INFO, "Info Message", String.format("Ajax Event: %s", time2));
}
else {
addMessage(FacesMessage.SEVERITY_ERROR, "Error Message", "Time is not selected.");
}
}
public void showTime3() {
if (time3 != null) {
addMessage(FacesMessage.SEVERITY_INFO, "Info Message", String.format("Ajax Event: %s", time3));
}
else {
addMessage(FacesMessage.SEVERITY_ERROR, "Error Message", "Time is not selected.");
}
}
private void addMessage(FacesMessage.Severity severity, String summary, String detail) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(severity, summary, detail));
}
public LocalTime getTime() {
return time;
}
public void setTime(LocalTime time) {
this.time = time;
}
public LocalTime getTime2() {
return time2;
}
public void setTime2(LocalTime time2) {
this.time2 = time2;
}
public LocalTime getTime3() {
return time3;
}
public void setTime3(LocalTime time3) {
this.time3 = time3;
}
}