Olá
Estou com um problema no componente SCHEDULE do PrimeFaces 3.0M4. Quando usado no modo [b]lazyScheduleModel[/b] o evento [b]eventSelect[/b] retorna null. Todos os outros funcionam bem, somente este evento é que não funciona devidamente.
Se alguém já teve este problema e conhece a solução, agredeço se puder compartilhar.
XHTML CODE
<p:tab>
<p:schedule value="#{agendaBean.lazyEventModel}" editable="true" widgetVar="myschedule">
<p:ajax event="dateSelect" listener="#{agendaBean.onDateSelect}"
update="eventDetails" oncomplete="eventDialog.show()" />
<p:ajax event="eventSelect" listener="#{agendaBean.onEventSelect}"
update="eventDetails" oncomplete="eventDialog.show()" />
<p:ajax event="eventMove" listener="#{agendaBean.onEventMove}"
update="messages" />
<p:ajax event="eventResize" listener="#{agendaBean.onEventResize}"
update="messages" />
</p:schedule>
<p:dialog widgetVar="eventDialog" header="Event Details" showEffect="clip" hideEffect="clip">
<h:panelGrid id="eventDetails" columns="2">
<h:outputLabel for="title" value="Nome:" />
<p:selectOneMenu value="#{agendaBean.event.title}" effect="fade" >
<f:selectItem itemLabel="Select One" itemValue="" />
<f:selectItems value="#{agendaBean.carregaComboPessoa()}" var="cliente" itemLabel="#{cliente.nome}"
itemValue="#{cliente.nome}"/>
</p:selectOneMenu>
<h:outputLabel for="from" value="From:" />
<p:inputMask id="from" value="#{agendaBean.event.startDate}" mask="99/99/9999 99:99">
<f:convertDateTime pattern="dd/MM/yyyy HH:mm" />
</p:inputMask>
<h:outputLabel for="to" value="To:" />
<p:inputMask id="to" value="#{agendaBean.event.endDate}" mask="99/99/9999 99:99">
<f:convertDateTime pattern="dd/MM/yyyy HH:mm" />
</p:inputMask>
<h:outputLabel for="allDay" value="All Day:" />
<h:selectBooleanCheckbox id="allDay" value="#{agendaBean.event.allDay}" />
<p:commandButton type="reset" value="Reset" />
<p:commandButton value="Save" actionListener="#{agendaBean.addEvent}"
oncomplete="myschedule.update();eventDialog.hide();"/>
</h:panelGrid>
</p:dialog>
</p:tab>
Este é o método de inicialização. Ele é chamado no construtor do bean.
private void initLazyEventModel()
{
lazyEventModel = new LazyScheduleModel() {
@Override
public void loadEvents(Date start, Date end)
{
clear();
carregaAgendaFutura(start, end);
for (Iterator iterator = lstAgendaFutura.iterator(); iterator.hasNext(); ) {
ItemAgenda itemAgenda = (ItemAgenda) iterator.next();
event = new DefaultScheduleEvent(itemAgenda.getIdPessoa().getNome(),
itemAgenda.getDataAgenda(),itemAgenda.getDataAgenda());
event.setAllDay(false);
addEvent(event);
}
}
};
}
Método que trata o evento
public void onEventSelect(ScheduleEntrySelectEvent selectEvent) {
event = (DefaultScheduleEvent) selectEvent.getScheduleEvent();
}
Estou usando JSF2.0
PrimeFaces 3.0M4
Hibernate/JPA 2.0
TomCat 7.0.14
IDE Netbeans 7.0
Valeu
Otavio