导致此问题的上一篇文章:Fullcalendar using resources as a function with select menu
根据我以前的帖子,我在使用fullcalendar 4时遇到问题。当我使用资源作为函数时,我的全天时间段与我的调度程序时间段不一致。您可以在图片中看到它。
这是我的资源功能:
<pre>
这是我的toggleresource函数:
resources: function(fetchInfo, successCallback, failureCallback) {
// Filter resources by whether their id is in visibleResourceIds.
var filteredResources = [];
filteredResources = resourceData.filter(function(x) {
return visibleResourceIds.indexOf(x.id) !== -1;
});
successCallback(filteredResources);
},
其他相关代码(当菜单更改时,所选菜单项的资源仅以全日历显示):
// menu button/dropdown will trigger this function. Feed it resourceId.
function toggleResource(resourceId) {
visibleResourceIds = [];
//if select all... see if undefined from loading on initial load = true
if ((resourceId == '') || (resourceId === undefined)) {
$.map( resourceData, function( value, index ) {
visibleResourceIds.push(value.id);
});
}
var index = visibleResourceIds.indexOf(resourceId);
if (index !== -1) {
visibleResourceIds.splice(index, 1);
} else {
visibleResourceIds.push(resourceId);
}
calendar.refetchResources();
根据选定的菜单资源,资源显示/隐藏就很好了,但要注意全天候的工作-由于某种原因重新提取资源后,它们不会排队。他们会在用户浏览调度程序时纠正自己!
下面更新
环顾四周,当调用refetchevents时,类.fc-week失去了以下CSS:
var resourceData = [];
var visibleResourceIds = [];
$.getJSON('ajax_get_json.php?what=schedule_providers_at_location',
function(data) {
$.each(data, function(index) {
resourceData.push({
id: data[index].value,
title: data[index].text
});
});
});
$('#toggle_providers_calendar').change(function() {
toggleResource($('#toggle_providers_calendar').val());
});
这是初始加载日历的完整图片:
单击一个导航箭头后,全天行与日历的其余时间会合,因为该样式应用于.fc-week。
我没有在日历上应用任何特殊的CSS,并且我没有使用任何可以摆脱这种情况的主题:至少现在我看不到。
这是存放日历的html:
style="border-right-width: 1px; margin-right: 20px;"
为了解决此问题,我可以在toggleResources函数中重新获取资源后添加以下行:
<div class="portlet-body">
<div class='loader'></div>
<div class="row">
<div id="calendar_full" style="padding-left: 10px; padding-right: 15px;"></div>
</div>
</div>
我将继续寻找为什么在重新获取资源后此CSS消失的原因。我想知道这是否是小故障?