Расписание PrimeFaces v2.2.1: перейти к определенной дате - PullRequest
0 голосов
/ 10 декабря 2011

Мне нужна такая функция, чтобы при щелчке пользователем по дате календарь отображал представление agendaDay этой даты.Я попытался сделать следующее:

<p:schedule id="timetable" widgetVar="mySchedule" editable="true"
    allDaySlot="false" value="#{cc.attrs.managedBean.eventModel}" 
    dateSelectListener="#{mrBean.onDateSelect}" 
    onDateSelectUpdate="timetable" 
    initialDate="#{mrBean.initialDate}"
    view="#{mrBean.view}">
</p:schedule>

И это мой ManagedBean:

@Named(value = "mrBean")
@RequestScoped
public class MrBean {
    private ScheduleModel eventModel;
    private String        view;
    private Date          initialDate;

    public MrBean() {
        eventModel = new DefaultScheduleModel();
    }

    public void onDateSelect(DateSelectEvent selectEvent) {
        view        = "agendaDay";
        initialDate = selectEvent.getDate();
    } 

    // Getters and Setters 
} 

Когда я пытаюсь нажать на дату, весь календарь исчез, и я увидел эту строку {"events" : []}в браузере.

Буду очень признателен, если кто-нибудь покажет мне, где я поступил неправильно.

С уважением,

Джеймс Тран

Ответы [ 2 ]

0 голосов
/ 03 мая 2012

Я попробовал это!Я добился успеха только через атрибут view="agendaDay" в теге расписания, иначе мы не будем точно знать, была ли выбрана дата, указанная нами, или нет.

0 голосов
/ 11 декабря 2011

http://forum.primefaces.org/viewtopic.php?f=3&t=1949

Это хорошо подводит итог. Он используется для начальной загрузки, но помимо этого он не работает. Вы можете посмотреть на 3.0M4, у которого есть новая модель (и лучшая модель) для расписания, или вы можете сделать что-то подлое, например переопределить Календарь FC, на котором он построен

http://www.planbox.com/blog/development/coding/full-calendar-jquery-widget-simply-awesome.html

через атрибут "widgetVar", чтобы при нажатии определенного клика он переключал представления. Честно говоря, это, вероятно, быстрее, чем на стороне клиента, и в нем уже есть все данные.

...