我遇到FullCalendar(FC)及其插件调度程序(S)的问题。
由于几个月后我使用版本1.2.0(S)和2.6.0(FC)。
没关系,但是使用动态功能' get / set选项可以极大地满足用户的新请求(启用/禁用资源分组)。所以我已经下载了新版本的库,1.4.0(S)和3.0.1(FC)。
问题出现了:使用正常的调度程序日视图可以很好地工作。但是,当我打开一个新页面时,我使用每周视图,没有显示数据。
我已经尝试了一切:
我会发布一些代码,但它有点复杂......调度程序封装在"类"并使用事件激活。整个基础架构是一种框架的一部分,我不能简单地采用部分代码。我确定整个版本适用于旧版本,但新版本无法使用。
到目前为止,唯一可行的解决方案是使用两个版本,每个页面一个。但是,当然,这是一种破解,不好,不利于维护。
以下是用于生成调度程序的代码。 _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版之后,不应使用选项的未使用选项字段。在我的例子中,删除与资源相关的所有字段解决了问题。