Schedule Primefaces 2.2 - Guardando compromisso na data errada

5 respostas
T

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…

5 Respostas

T

Alguém que tenha testado esse item ??

Estou precisando muito =\

[ ]'s

T

Administradores ultima vez e fecho o post se ninguém responder.

Ainda sim obrigado… mesmo não sendo esse sempre tenho outras duvidas esclarecidas…

WRYEL

Qual o intervalo da data errada ? As datas são aleatorias ou são diferença de horas?

alves.Felipe

faça imprimir no console a data de inicio para verificar se esta errada…
estou usando esse schedule, mas na hora que eu adiciono um evento, eu faço a consulta dos eventos que foi adicionado e
recrio o obj DefaultScheduleEvent passando a data certa.

T

Vixi…

Acabei duplicando o post…

Enfim, ele adianta em um dia.Vou verificar o que o colega disse com um syso e posto o resultado.

Criado 12 de novembro de 2011
Ultima resposta 16 de nov. de 2011
Respostas 5
Participantes 3