Kendo UI 调度程序禁用一天中的多个 time-span/range
Kendo UI Scheduler disable multiple time-span/range of a single day
我有一个供创作者和消费者使用的调度程序。创建者将定义消费者可以交互的特定时间范围(创建事件)。当天其他时间段内,消费者无法互动,将被禁用。我确实设法毫无问题地创建了事件,但是显示可用的交互插槽却给我带来了问题。
Example:
假设,创建者将允许的时间段定义为 4:00 pm 到 8:00 pm(我成功地将其保存在数据库中并相应地显示)。 因此,在消费者看来,调度程序应该从 12:00 am 到 4:00 pm 以及从 8:00 pm 到 12:00 禁用上午 4:00 下午到 8:00 下午启用。这意味着消费者可以在 4:00 pm 到 8:00 pm 之间创建多个事件。
我需要可以用作数据源的适当的调度程序选项。
您可以使用 save event 来防止创建事件并仅显示允许的范围:
var startLimit = new Date();
startLimit.setHours(4);
startLimit.setMinutes(0);
startLimit.setSeconds(0);
var endLimit = new Date();
endLimit.setHours(8);
endLimit.setMinutes(0);
endLimit.setSeconds(0);
$("#scheduler").kendoScheduler({
date: new Date(),
views: [{
type: "day",
startTime: startLimit,
endTime: endLimit
}],
dataSource: [],
save: function (e) {
if (e.event.start < startLimit || e.event.end > endLimit) {
console.log("disallow"); // show validation error or w/e
e.preventDefault();
}
}
});
我有一个供创作者和消费者使用的调度程序。创建者将定义消费者可以交互的特定时间范围(创建事件)。当天其他时间段内,消费者无法互动,将被禁用。我确实设法毫无问题地创建了事件,但是显示可用的交互插槽却给我带来了问题。
Example:
假设,创建者将允许的时间段定义为 4:00 pm 到 8:00 pm(我成功地将其保存在数据库中并相应地显示)。 因此,在消费者看来,调度程序应该从 12:00 am 到 4:00 pm 以及从 8:00 pm 到 12:00 禁用上午 4:00 下午到 8:00 下午启用。这意味着消费者可以在 4:00 pm 到 8:00 pm 之间创建多个事件。
我需要可以用作数据源的适当的调度程序选项。
您可以使用 save event 来防止创建事件并仅显示允许的范围:
var startLimit = new Date();
startLimit.setHours(4);
startLimit.setMinutes(0);
startLimit.setSeconds(0);
var endLimit = new Date();
endLimit.setHours(8);
endLimit.setMinutes(0);
endLimit.setSeconds(0);
$("#scheduler").kendoScheduler({
date: new Date(),
views: [{
type: "day",
startTime: startLimit,
endTime: endLimit
}],
dataSource: [],
save: function (e) {
if (e.event.start < startLimit || e.event.end > endLimit) {
console.log("disallow"); // show validation error or w/e
e.preventDefault();
}
}
});