Cuando deseamos lanzar eventos al presionar los botones siguiente, anterior, hoy de un <p:schedule>
El evento viewChange no se dispara directamente, en el siguiente enlace nos dan una soluciçon usando un script que debemos
<script type="text/javascript">
$('.fc-prev-button, .fc-next-button, .fc-today-button').on('click.schedule', function() {
PF('myschedule').callBehavior('viewChange');
});
</script>
<p:schedule id="schedule"
showHeader="true"
rightHeaderTemplate="month,agendaWeek,agendaDay,basicDay"
value="#{scheduleBoletasJefeUnidadController.eventModel}"
widgetVar="myschedule" timeZone="GMT-5" locale="es">
<p:ajax event="viewChange" listener="#{scheduleBoletasJefeUnidadController.onViewChange}" update=":form:growl" />
</p:schedule>
<script type="text/javascript">
$('.fc-prev-button, .fc-next-button, .fc-today-button').on('click.schedule', function() {
PF('myschedule').callBehavior('viewChange');
});
</script>
public void onViewChange(SelectEvent selectEvent) {
try {
String view = selectEvent.getObject().toString();
Schedule schedule = (Schedule) FacesContext.getCurrentInstance().getViewRoot().findComponent(":form:schedule");
if (schedule == null) {
System.out.println("------> es null es schedule..........");
}
AjaxBehaviorEvent behaviorEvent = (AjaxBehaviorEvent) selectEvent;
ZoneId zoneId = CalendarUtils.calculateZoneId(schedule.getTimeZone());
System.out.println("zoneId " + zoneId.toString());