渲染资源时全日历,不整日排列

时间:2019-06-25 19:45:00

标签: fullcalendar fullcalendar-scheduler fullcalendar-4

导致此问题的上一篇文章: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();

根据选定的菜单资源,资源显示/隐藏就很好了,但要注意全天候的工作-由于某种原因重新提取资源后,它们不会排队。他们会在用户浏览调度程序时纠正自己!

enter image description here


下面更新


环顾四周,当调用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());
});

这是初始加载日历的完整图片:

enter image description here

单击一个导航箭头后,全天行与日历的其余时间会合,因为该样式应用于.fc-week。

enter image description here

我没有在日历上应用任何特殊的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消失的原因。我想知道这是否是小故障?

0 个答案:

没有答案