Как получить событие, когда предыдущая, следующая нажата: Расписание с простыми лицами - PullRequest
0 голосов
/ 03 апреля 2020

Я добавил расписание PrimeFaces с этой страницы и получил результаты, подобные следующим:

enter image description here

Я получил следующее события работают нормально, но как мне получать и обрабатывать события при нажатии prev или next?

Я также выделил еще несколько изображений:

<p:ajax event="dateSelect" listener="#{scheduleJava8View.onDateSelect}" update="eventDetails" oncomplete="PF('eventDialog').show();" />
            <p:ajax event="eventSelect" listener="#{scheduleJava8View.onEventSelect}" update="eventDetails" oncomplete="PF('eventDialog').show();" />
            <p:ajax event="eventMove" listener="#{scheduleJava8View.onEventMove}" update="messages" />
            <p:ajax event="eventResize" listener="#{scheduleJava8View.onEventResize}" update="messages" />

1 Ответ

3 голосов
/ 03 апреля 2020

Для захвата дат / просмотра изменений на сервере / в вашем bean-компоненте мне показалось, что проще всего просто go для отложенной загрузки ( витрина , документация ). Это в основном позволит вам иметь метод в компоненте, в котором передаются дата начала и окончания в случае изменения представления:

lazyModel = new LazyScheduleModel() {
  @Override
  public void loadEvents(LocalDateTime start, LocalDateTime end) {
    //
  }
};

.. и в качестве бонуса ваши события будут загружаться лениво!

Обратите внимание, что тип дат (java.time.LocalDateTime или java.util.Date) будет зависеть от версии PrimeFaces. См. Руководство по миграции .

Чтобы изменить пользовательский интерфейс, вам необходимо знать, что PrimeFaces использует FullCalendar для компонента p:schedule. Вы можете использовать атрибут extender и настроить FullCalendar в соответствии со своими потребностями. См. документация панели инструментов . Обратите внимание, что версия FullCalendar будет зависеть от версии PrimeFaces. Снова, см. Руководство по миграции.

Чтобы установить формат времени, используйте атрибут timeFormat. Используется Момент. js. Вы можете использовать hh:mmA. Попробуйте на https://www.primefaces.org/showcase/ui/data/schedule/configureable.xhtml

...