我與schedule demo code from the primefaces showcase(使用版本3.3.1)擺弄,我需要調整計劃itens的一些價值觀上移動/調整事件偵聽器。 (我將使用「計劃項目」來提及數據模型對象「計劃的事件」,併爲API觸發的用戶交互響應保留術語「事件」)。primefaces安排:在移動編輯事件細節/調整事件偵聽器
所以在界面上每當用戶移動/調整大小的調度的項目,註冊事件偵聽器火災,示出了當天增量,增量分鐘消息,如陳列櫃示例那樣。
但我需要做的關於該項目的一些修改,即:
一)確保計劃的項目不上開始了爲期一週的結束日(假期也/結束,但讓我們忽略這個)。將項目的開始/結束向後或向前移動到上一個工作日(如果它開始於週末)或移動到下一個工作日(如果它在週末結束)
b)使項目捕捉到最近的一刻鐘。
三)確保計劃的項目沒有開始700點之前或之後2100pm /結束。如果超過這些限制,則將開始/結束小時對齊到這些限制。
並在用戶界面上顯示結果更改。但是我無法在事件偵聽器方法中編輯數據模型。
這裏的時間表標籤:
<p:schedule value="#{scheduleController.eventModel}"
widgetVar="myschedule" view="agendaWeek" allDaySlot="false"
slotMinutes="15" firstHour="7" showWeekends="FALSE"
leftHeaderTemplate="prev,next" rightHeaderTemplate=""
minTime="7am" maxTime="21pm" timeFormat="dd/MM H:mm{ - dd/MM H:mm}"
axisFormat="HH" timeZone="#{rotulo.timeZone}">
<p:ajax event="dateSelect"
listener="#{scheduleController.onDateSelect}"
update="eventDetails" oncomplete="eventDialog.show()" />
<p:ajax event="eventSelect"
listener="#{scheduleController.onEventSelect}"
update="eventDetails" oncomplete="eventDialog.show()" />
<p:ajax event="eventMove"
listener="#{scheduleController.onEventMove}" update="messages" />
<p:ajax event="eventResize"
listener="#{scheduleController.onEventResize}" update="messages" />
</p:schedule>
和託管bean的方法...
public void onEventMove(ScheduleEntryMoveEvent event) {
doBusinessLogic((DefaultScheduleEvent) event.getScheduleEvent());
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Event moved", "Day delta:" + event.getDayDelta() + ", Minute delta:" + event.getMinuteDelta());
addMessage(message);
}
public void onEventResize(ScheduleEntryResizeEvent event) {
doBusinessLogic((DefaultScheduleEvent) event.getScheduleEvent());
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Event resized", "Day delta:" + event.getDayDelta() + ", Minute delta:" + event.getMinuteDelta());
addMessage(message);
}
正是這種doBusinessLogic()
,我會調整我values.How可以得到的時間內在那裏對DefaultScheduleEvent
所做的更改反映在計劃的數據模型上?
一些研究認爲可能與在手的問題:http://forum.primefaces.org/viewtopic.php?f=3&t=17675 http://stackoverflow.com/questions/12818052/primefaces-schedule- component-eventmove-issue – Mindwin