Preciso muito da ajuda de vocês…(TCC atrasado =)
Eu comecei a implementar alguns itens do primefaces em um gereciador e um deles é o Schedule.Só que o problema é que ele coloca compromisso em uma data anterior.E no proprio site do primefaces ele também faz isso =
Além disso ele gera uma especie de serial para o meu titulo.
Segue o código abaixo:
Bean
import java.io.Serializable;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import org.primefaces.event.DateSelectEvent;
import org.primefaces.event.ScheduleEntryMoveEvent;
import org.primefaces.event.ScheduleEntryResizeEvent;
import org.primefaces.event.ScheduleEntrySelectEvent;
import org.primefaces.model.DefaultScheduleEvent;
import org.primefaces.model.DefaultScheduleModel;
import org.primefaces.model.LazyScheduleModel;
import org.primefaces.model.ScheduleEvent;
import org.primefaces.model.ScheduleModel;
@SuppressWarnings("serial")
@ManagedBean
@ViewScoped
public class CalendarioBean implements Serializable{
private ScheduleModel eventModel;
private ScheduleModel lazyEventModel;
private ScheduleEvent event = new DefaultScheduleEvent();
private String theme;
public ScheduleModel getEventModel() {
return eventModel;
}
public void setEventModel(ScheduleModel eventModel) {
this.eventModel = eventModel;
}
public ScheduleModel getLazyEventModel() {
return lazyEventModel;
}
public void setLazyEventModel(ScheduleModel lazyEventModel) {
this.lazyEventModel = lazyEventModel;
}
public ScheduleEvent getEvent() {
return event;
}
public void setEvent(ScheduleEvent event) {
this.event = event;
}
public String getTheme() {
return theme;
}
public void setTheme(String theme) {
this.theme = theme;
}
public CalendarioBean() {
eventModel = new DefaultScheduleModel();
lazyEventModel = new LazyScheduleModel();
}
public void addEvent(ActionEvent actionEvent) {
if(event.getId() == null)
eventModel.addEvent(event);
else
eventModel.updateEvent(event);
event = new DefaultScheduleEvent();
}
public void onEventSelect(ScheduleEntrySelectEvent selectEvent) {
event = selectEvent.getScheduleEvent();
}
public void onDateSelect(DateSelectEvent selectEvent) {
event = new DefaultScheduleEvent(Math.random() + "", selectEvent.getDate(), selectEvent.getDate());
}
public void onEventMove(ScheduleEntryMoveEvent event) {
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Event moved", "Day delta:" + event.getDayDelta() + ", Minute delta:" + event.getMinuteDelta());
addMessage(message);
}
public void onEventResize(ScheduleEntryResizeEvent event) {
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Event resized", "Day delta:" + event.getDayDelta() + ", Minute delta:" + event.getMinuteDelta());
addMessage(message);
}
private void addMessage(FacesMessage message) {
FacesContext.getCurrentInstance().addMessage(null, message);
}
}
Códigoda da minha página xhtml:
<h:form style="font-size: 10px;">
<p:ajaxStatus style="height:24px;display:block;">
<f:facet name="start">
<h:graphicImage value="../design/ajaxloading.gif" />
</f:facet>
<f:facet name="complete">
<h:outputText value="" />
</f:facet>
</p:ajaxStatus>
<p:themeSwitcher buttonPreText="123" ></p:themeSwitcher>
<p:growl id="messages" showDetail="true" />
<p:schedule value="#{calendarioBean.eventModel}"
eventSelectListener="#{calendarioBean.onEventSelect}"
dateSelectListener="#{calendarioBean.onDateSelect}"
eventResizeListener="#{calendarioBean.onEventResize}" editable="true"
widgetVar="myschedule" onEventMoveUpdate="messages"
onEventResizeUpdate="messages" onDateSelectUpdate="eventDetails"
onDateSelectComplete="eventDialog.show()"
onEventSelectUpdate="eventDetails"
onEventSelectComplete="eventDialog.show()">
</p:schedule>
<p:dialog widgetVar="eventDialog" header="Event Details"
showEffect="clip" hideEffect="clip">
<h:panelGrid id="eventDetails" columns="2">
<h:outputLabel for="title" value="Title:" />
<p:inputText id="title" value="#{calendarioBean.event.title}" />
<h:outputLabel for="from" value="From:" />
<p:inputMask id="from" mask="99/99/9999"
value="#{calendarioBean.event.startDate}">
<f:convertDateTime pattern="dd/MM/yyyy" />
</p:inputMask>
<h:outputLabel for="to" value="To:" />
<p:inputMask id="to" mask="99/99/9999"
value="#{calendarioBean.event.endDate}">
<f:convertDateTime pattern="dd/MM/yyyy" />
</p:inputMask>
<h:outputLabel for="allDay" value="All Day:" />
<h:selectBooleanCheckbox id="allDay"
value="#{calendarioBean.event.allDay}" />
<p:commandButton type="reset" value="Reset" />
<p:commandButton value="Save"
oncomplete="myschedule.update();eventDialog.hide();"
actionListener="#{calendarioBean.addEvent}" />
</h:panelGrid>
</p:dialog>
</h:form>
Por favor quem puder ajudar…