定制三天查看问题

时间:2012-10-30 04:14:07

标签: fullcalendar

我正在尝试调整fullcalendar以适应更小的屏幕(iPhone),我试图通过显示3天而不是7来创建有用的周视图。这是一个简单的修改,将显示的列更改为3天但是这会在渲染事件时导致问题。没有什么能在正确的日子出现!

以下是修改后的源代码:

function BasicWeekView(element, calendar) {
...
    function render(date, delta) {
        if (delta) {
        addDays(date, delta * 3);
        }
        var start = addDays(cloneDate(date), 3);
        var end = addDays(cloneDate(start), 3);
        var visStart = cloneDate(start);
        var visEnd = cloneDate(end);
        t.title = formatDates(
            visStart,
            addDays(cloneDate(visEnd), -1),
            opt('titleFormat')
        );
        t.start = start;
        t.end = end;
        t.visStart = visStart;
        t.visEnd = visEnd;
        renderBasic(1, 1, 3, false);
    }
}

这导致事件呈现错误,我为什么感到困惑?我已经浏览了源代码并试图将其追溯到原因而没有成功。点击该日仍显示正确的日期(通过dayClick),所以我没有想法。

为了更详细地介绍错误,几乎每个事件都会呈现错误。第三天通常会在第一天呈现事件或根本不呈现事件(即1px宽)。第二天在第三天呈现事件,在第二天呈现第一天。周末处理也很奇怪,有时当移动到下一个日期或上一个日期时,它将变为日视图。

我完全感到困惑,并希望得到一些帮助。我已经通过api挖掘并在堆栈交换中拖出问题而没有运气...任何帮助将不胜感激:)

1 个答案:

答案 0 :(得分:1)

我希望在Android上使用完整日历做类似的事情。 完整日历2.2.5版中有更新,允许这种自定义。

现在可以通过以下方式完成:

views: {
  agendaThreeDay: {
    type: 'agenda',
    duration: { days: 3 },
    buttonText: '3 day'
  },
  defaultView: 'agendaThreeDay'
}

自定义完整日历仍然是一场噩梦,但它已经走过了漫长的道路。 您可以从Custom Views上的文档页面获取有关此内容的更多信息。