带有AM / PM天的DHTMLX Scheduler自定义时间轴

时间:2019-11-28 08:07:34

标签: dhtmlx dhtmlx-scheduler

我在“时间轴”视图中为项目使用DHTMLX Scheduler,工作时间为7AM到5PM。我每天都可以制作AM / PM视图,但该视图中不遵守first_hour和last_hour配置。屏幕截图显示了更多。早上的第一个事件应从上午7:30开始向左显示。 enter image description here

我的配置:

scheduler.locale.labels.timeline_tab = "Timeline";
scheduler.locale.labels.section_custom = "Section";

scheduler.config.dblclick_create = false;
scheduler.config.edit_on_create = false;
scheduler.config.details_on_dblclick = false;
scheduler.config.details_on_create = false;
scheduler.config.start_on_monday = true;
scheduler.config.first_hour = 7;
scheduler.config.last_hour = 17;
scheduler.config.full_day = true;
scheduler.config.mark_now = false;

scheduler.config.drag_move = false;
scheduler.config.drag_resize = false;

//===============
//Configuration
//===============

scheduler.createTimelineView({
    name: "timeline",
    x_unit: "hour",
    x_date: "%A",
    x_step: 12,
    x_size: 14,
    x_start: 0,
    x_length: 14,
    y_unit: scheduler.serverList('teams'), // sections and events from same ajax call
    y_property: "team_id",
    render: "bar",
    section_autoheight: false,
    dy: 30,
    dx: 100,
    // first_hour: 7,
    // last_hour: 17,
    second_scale: {
        x_unit: "day", // unit which should be used for second scale
        x_date: "%D %j %M"
    }
});

任何帮助将不胜感激。

编辑: 根据此处的答案更新后的结果: enter image description here

1 个答案:

答案 0 :(得分:1)

first_hourlast_hour配置适用于“天”,“周”,“单位”视图中的Y轴(选中Documentation)。

当前,要在“时间轴”视图中隐藏一天中开始和结束的时间,您应该只有sample这样的1个X轴。即由于first_hour方法的end_hourcreateTimelineView属性,事件的可见部分是10到18。检查screenshot

还有ignore_[viewName] function,可用于隐藏等于刻度的最小步长的间隔(在您的情况下为12小时)。

如果设置最低step = 6(小时)并在addMarkedTimespan之前禁用6-7 AM和5-6 PM,这可以帮助解决您的问题。我试图为您创建一个代码段http://snippet.dhtmlx.com/46ba545ad,但是发现此条件if(date.getHours() < 6 || date.getHours() > 17){的第二部分不能正常工作。该事件可以创建到下午6点。我们将尽快修复它,但现在我无法指定确切时间。我建议您使用第一种缩放比例的方法来解决问题。