【问题标题】:Kendo UI Scheduler disable multiple time-span/range of a single dayKendo UI Scheduler 禁用一天的多个时间跨度/范围
【发布时间】:2015-04-16 00:01:09
【问题描述】:

我有一个调度程序,供创建者和消费者使用。创建者将定义消费者可以交互的特定时间范围(创建事件)。在当天的其他时间范围内,消费者无法互动,将被禁用。我确实设法毫无问题地创建了事件,但是显示可用的交互插槽给我带来了问题。

Example: 假设创建者将允许的时间段定义为下午 4:00 到晚上 8:00(我可以成功地保存在数据库中并相应地显示)。 因此,在消费者看来,调度程序应该在上午 12:00 到下午 4:00 和下午 8:00 到 12:00 禁用,并在下午 4:00 到 8:00 启用下午。这意味着消费者可以在下午 4:00 到 8:00 之间创建多个事件。

我需要可以用作数据源的适当调度程序选项。

【问题讨论】:

    标签: configuration kendo-ui kendo-scheduler


    【解决方案1】:

    您可以使用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();
            }
        }
    });
    

    【讨论】:

    • 我也想在禁用的部分上使用颜色。有什么想法吗?
    • 您可能必须在 .k-scheduler-content 中遍历 .k-scheduler-table 中的行并手动设置背景颜色(或添加类)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多