版本

时间:2016-09-27 07:33:07

标签: fullcalendar fullcalendar-scheduler

我遇到FullCalendar(FC)及其插件调度程序(S)的问题。

由于几个月后我使用版本1.2.0(S)和2.6.0(FC)。

没关系,但是使用动态功能' get / set选项可以极大地满足用户的新请求(启用/禁用资源分组)。所以我已经下载了新版本的库,1.4.0(S)和3.0.1(FC)。

问题出现了:使用正常的调度程序日视图可以很好地工作。但是,当我打开一个新页面时,我使用每周视图,没有显示数据。

我已经尝试了一切:

  • 使用2.7.3(FC)和1.3.2(S)更改了版本。
  • 使用zip中包含的(FC)版本和(S)。
  • 做了一些更改后,我删除了它们,但错误似乎在于库一起运行的方式。

我会发布一些代码,但它有点复杂......调度程序封装在"类"并使用事件激活。整个基础架构是一种框架的一部分,我不能简单地采用部分代码。我确定整个版本适用于旧版本,但新版本无法使用。

到目前为止,唯一可行的解​​决方案是使用两个版本,每个页面一个。但是,当然,这是一种破解,不好,不利于维护。

以下是用于生成调度程序的代码。 _schedulerType用于创建每日或每周视图。两个"容器",_schedulerOptions_schedulerServices在外部创建,用于定义如何创建调度程序。

_schedulerContainer.fullCalendar({
    local (or lang): _schedulerOptions.language,
    allDaySlot: false,
    now: _currentDay,
    selectable: true,
    editable: false,
    aspectRatio: _schedulerOptions.aspectRatio,
    scrollTime: '07:30',
    slotDuration: '00:15:00',
    slotLabelInterval: '01:00:00',
    slotLabelFormat: _schedulerOptions.slotLabelFormat,
    slotWidth: _schedulerOptions.slotWidth,
    nowIndicator: true,
    customButtons: (_schedulerServices.schedulerHeader !== null) ?
        _schedulerServices.schedulerHeader.createCustomButtons() :
        null,
    header: (_schedulerServices.schedulerHeader !== null) ?
        _schedulerServices.schedulerHeader.createHeader() :
        false,
    defaultView: _schedulerType,
    -------------------REMOVE-----------------------------------------
    resourceLabelText: 'Rooms',
    resourceGroupField: _defaultOptions.groupBy,
    resourceOrder: _defaultOptions.orderBy,
    resources: 
      function (callback) {
        if (_schedulerServices.rscCallback !== null) {
          if (log) {
              console.log("reload resources inside scheduler");
          }

          callback(_schedulerServices.rscCallback.getResources());
        }
      },
    ------------------------------------------------------------------
    events: 
      function (start, end, timezone, callback) {
        if (_schedulerServices.evtCallback !== null) {
          if (log) {
            console.log("reload events inside scheduler");
          }
         callback(_schedulerServices.evtCallback.getEvents());
        }
      },
    -------------------REMOVE-----------------------------------------
    resourceRender: 
      function (resourceObj, element) {
        if (_schedulerServices.rscViewManager !== null) {
          return _schedulerServices.rscViewManager.requestRender(resourceObj, element);
        }
      },
    ------------------------------------------------------------------
    eventRender: 
      function (eventObj, element) {
        if (_schedulerServices.evtViewManager !== null) {
          return _schedulerServices.evtViewManager.requestRender(eventObj, element);
        }
      }
    });

任何帮助将不胜感激! 感谢

解决!!!

在2.6.0版之后,不应使用选项的未使用选项字段。在我的例子中,删除与资源相关的所有字段解决了问题。

0 个答案:

没有答案