bryntum调度程序设置开始日期和时间

时间:2019-02-27 11:11:01

标签: javascript extjs scheduler

我们正在使用调度程序(bryntum)在Extjs中开发一个应用程序。 调度程序的设计如下:

processTimelineViewScheduler: function(config) {
    var me = this;
    var startDate = new Date();
    var endDate = new Date();

    var cinema =        MiscFunctions.getCinema();
    var scheduleStart = cinema.schedulestart; // 06:00
    var scheduleEnd =   cinema.scheduleend; // 05:59

    var partstart =    scheduleStart.split(":");
    var startHours =   partstart[0];
    var startMinutes = partstart[1];

    var partend =    scheduleEnd.split(":");
    var endHours =   partend[0];
    var endMinutes = partend[1];

    startDate.setHours(startHours);
    startDate.setMinutes(startMinutes);
    startDate.setSeconds(0);

    endDate.setHours(endHours);
    endDate.setMinutes(endMinutes);
    endDate.setSeconds(0);

    if (endDate.getTime() <= startDate.getTime()) {
        endDate = Ext.Date.add(endDate, Ext.Date.DAY, 1);
    }

       Sch.preset.Manager.registerPreset("myHourAndDay", {
        displayDateFormat : 'G:i',
        shiftIncrement    : 1,
        shiftUnit         : 'HOUR',
        timeRowHeight     : 75,
        timeResolution    : {
            // Here we use Sch.util.Date.MINUTE constant value
            unit      : Sch.util.Date.MINUTE,
            increment : 5
        },
        headerConfig : {
            middle : {
                // and here we use the last fraction Sch.util.Date.HOUR constant name
                unit       : 'HOUR',
                dateFormat : 'G:i'
            }
        }
    });
    return Ext.apply(config, {
        columns    : [{
            sortable: true,
            width: 100,
            dataIndex: 'Name',
            flex: 1
        }],
        split: false,
        readOnly:                !MiscFunctions.hasRight('SHOW_WRITE'),
        enableDragCreation:      false,
        viewPreset:              {
            name: 'myHourAndDay',
            timeColumnWidth: 100,
        },
        highlightWeekends:       false,
        mode:                    'horizontal',
        startDate:               startDate,
        endDate:                 endDate,
        weekStartDay:            3,
        showTodayLine:           true,
        rowHeight:               65,
        constrainDragToResource: false,
        snapToIncrement:         true,
        eventResizeHandles:      'none',
        eventBarTextField:       'Title',
        crudManager:             this.getCrudManager(),

    });
}

变量scheduleStart和scheduleEnd可以是第二天的10:00和09:59。

调度程序在视图中任意设置开始时间和结束时间(例如:21:00至21:00)。

如果第二天的变量scheduleStart和scheduleEnd为06:00和05:59,则开始和结束日期和时间在视图中正确。

0 个答案:

没有答案