2017-06-07 123 views
0

需要一些幫助,與fullcalendar營業時間更新。FullCalendar - 更新資源businesshours

我的代碼:

$.each(json_resource, function(index,value){ 

    var businessHours = { 
    dow: [ value.dow ], 
    start: value.start, 
    end: value.end 
    } 

    // GET RESOURCE OBJECT 
    var resourceObject = $('#calendar').fullCalendar('getResourceById', value.resourceId); 

    // ADD NEW BUSINESS WORKING HOUR 
    resourceObject.businessHours = businessHours; 

    // UPDATE HOURS 
    $('#calendar').fullCalendar('option', 'resources', resourceObject); 

}); 

問題是$( '#日曆')fullCalendar( '選項', '資源',事件);它凍結窗口幾秒鐘。也許有更新資源營業時間的另一種解決方案?

+0

這並沒有多大意義。你循環所有的事件,並創建一個「businesshours」。然後嘗試將其分配給單個資源。目的。如果您在同一個資源中有20個事件,則每次都會根據事件中的內容更新該資源的工作時間20次,每次使用不同的值。似乎不太合乎邏輯。您將始終以該資源循環中最後一個事件的業務小時結束。不應該預先定義每個資源的businessHours,並且在創建日曆時交付,而不取決於資源內的事件? – ADyson

+0

@ADyson它沒有得到所有的事件,它獲取所有資源。我有10個資源,var事件只是名稱,它獲取資源而不是事件。而且每次更改日期時我都需要循環,因爲每天都有不同的工作時間和json_events,它不是事件,而是工作時間的資源對象。 –

+0

你爲什麼要調用變量「events」呢?旨在混淆每個人!特別是當fullCalendar還有一個關鍵概念叫做events時。如果「json_events」是資源列表,那麼代碼仍然沒有意義,因爲資源不具有您可以讀取的「開始」或「結束」屬性。 https://fullcalendar.io/docs/resource_data/Resource_Object/ – ADyson

回答

1

我不知道爲什麼需要幾秒鐘來更新,大概是一些fullCalendar的內部代碼。您可以嘗試調試未縮小的版本以查看延遲的位置,並可能向維護人員提交錯誤。

與此同時,考慮將Background Events用於此目的。您可以達到相同的視覺效果,但完全按照您的要求改變時間,無需自定義代碼 - 您可以使用主要事件Feed提供數據。有關詳細信息,請參閱https://fullcalendar.io/docs/event_rendering/Background_Events