在FullCalendar v 4.0中获取BusinessHours

时间:2019-04-25 10:53:35

标签: javascript fullcalendar fullcalendar-scheduler fullcalendar-4

我正在从FullCalendar v3更新到v4,并且在从点击的资源获取businessHours时遇到问题。

在v3中,我通过这种方式获得业务时间:

    select: function (eventClickInfo) {
        console.log(eventClickInfo.resource)
    }

资源数据:

...
businessHours: [
           start: XXX
           end: XXX
        ], [
           start: XXX
           end: XXX
        ]
       ...

但是在V4中,资源对象具有以下结构:

_resource:
    businessHours:
        defs:
            203:
                allDay: false
                defId: "203"
                extendedProps:
                    end: {ms: 43200000, __edmType: "Edm.Time"}
                groupId: "_businessHours"
                hasEnd: true
                ...
            204:
                allDay: false
                defId: "204"
                extendedProps:
                    end: {ms: 72000000, __edmType: "Edm.Time"}
                groupId: "_businessHours"
                hasEnd: true
                ...

没有开始时间,也没有办法获得像.getResource("XXX").getBusinessHours()这样的营业时间

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果您打算使用businessHours值来检查用户对开始/结束时间的选择是否在定义的小时内,那么您实际上不需要任何自定义代码,也根本不需要检索到businessHours值

如果您设置了选项

selectConstraint: "businessHours"

在您的完整日历设置中,日历代码将阻止用户自动选择营业时间以外的任何时间。他们甚至无法尝试选择它。

演示:https://codepen.io/anon/pen/BEvoVN?&editable=true&editors=001

文档:https://fullcalendar.io/docs/selectConstraint