我正在尝试在jsbin中进行此演示,以使用调度程序进行一些事件,并限制将其中一些事件移动到特定资源。
$('#calendar').fullCalendar({
schedulerLicenseKey: "CC-Attribution-NonCommercial-NoDerivatives",
// put your options and callbacks here
header: {
left: 'prev,next today',
center: 'title',
right: 'month,basicWeek,agendaDay'
},
defaultView: 'agendaDay',
defaultDate: '2017-05-09',
navLinks: true, // can click day/week names to navigate views
editable: true,
nowIndicator: true,
allDaySlot: false,
fixedWeekCount: false,
eventLimit: true, // allow "more" link when too many events
slotLabelFormat: "HH:mm",
slotLabelInterval: "00:60:00",
events: [
{
title: 'Long Event',
start: '2017-05-09T16:00:00',
end: '2017-05-09T17:00:00',
resourceId: 'b',
constraint: {
resourceIds: ['c', 'd']
}
},
{
id: 999,
title: 'Test Event',
start: '2017-05-09T16:00:00',
end: '2017-05-09T18:00:00',
resourceId: 'a',
constraint: {
resourceIds: ['b', 'c', 'd']
}
}
],
resources: [
{id: 'a', title: 'Auditorium A'},
{id: 'b', title: 'Auditorium B'},
{id: 'c', title: 'Auditorium C'},
{id: 'd', title: 'Auditorium D'}
]
})
现在,如果您按照此处的说明进行操作,您会注意到在 resourcesId 中指定了您希望事件不去的 ID。但是在 jsbin 中,您可以看到相反的情况正在发生。
此外,如果您打开月或周视图,则无法从一天拖放到另一天。由于事件约束而限制您。
我做错了什么还是出了问题?
暂时解决了此解决方案的问题,但我认为以上是一个错误。你可以在这里试试我的解决方案。
我所做的是在事件的自定义字段中传递约束,并检查丢弃是否正确。
现在,如果您按照此处的说明进行操作,您会注意到里面 资源 ID 您指定不希望事件使用的 ID 去。
不,这篇文章说的恰恰相反:
可以应用其他属性来强制事件保留在 特定资源
(我添加了粗体。
这意味着您可以提供事件可以拖动到的资源列表。因此,不能将其拖动到约束属性中未命名的任何资源。
根据您发布的链接中给出的示例:
constraint: {
resourceIds: [ 'a', 'b', 'c' ] // constrain dragging to these
}
仅允许将具有此属性的事件拖动到资源"a"、"b"和"c"上。
我认为您误解了文档。