Отобразить 2 недели в jQuery FullCalendar - PullRequest
14 голосов
/ 21 июня 2011

Искал способ отображения только текущей недели и следующей недели в представлении месяца для FullCalendar .Пока что похоже, что это было предложено в качестве функции для будущей версии, но в то же время, кто-нибудь смог взломать его?

ОБНОВЛЕНИЕ

СпасибоПо совету Судного дня, я смог создать пользовательский вид, который показывает 2 недели, начиная с текущей недели.Вы изменяете видимую дату начала на сегодняшнюю дату и меняете количество строк на 2.

function TwoWeeksView(element, calendar) {
var t = this;

// exports
t.render = render;


// imports
BasicView.call(t, element, calendar, 'month');
var opt = t.opt;
var renderBasic = t.renderBasic;
var formatDate = calendar.formatDate;



function render(date, delta) {
    if (delta) {
        addMonths(date, delta);
        date.setDate(1);
    }
    var start = cloneDate(date, true);
    start.setDate(1);
    var end = addMonths(cloneDate(start), 1);

    //var visStart = cloneDate(start);
    var visStart = date;

    var visEnd = cloneDate(end);
    var firstDay = opt('firstDay');
    var nwe = opt('weekends') ? 0 : 1;
    if (nwe) {
        skipWeekend(visStart);
        skipWeekend(visEnd, -1, true);
    }

    addDays(visStart, -((visStart.getDay() - Math.max(firstDay, nwe) + 7) % 7));
    addDays(visEnd, (7 - visEnd.getDay() + Math.max(firstDay, nwe)) % 7);
    var rowCnt = Math.round((visEnd - visStart) / (DAY_MS * 7));

    if (opt('weekMode') == 'fixed') {
        addDays(visEnd, (6 - rowCnt) * 7);
        //rowCnt = 6;
        rowCnt = 2;
    }
    t.title = formatDate(start, opt('titleFormat'));
    t.start = start;
    t.end = end;
    t.visStart = visStart;
    t.visEnd = visEnd;
    renderBasic(6, rowCnt, nwe ? 5 : 7, true);
}
}

Ответы [ 5 ]

8 голосов
/ 21 июня 2011

Лучшее решение - это реализовать ваш собственный вид.

Вставить новый JS свой собственный определенный вид:

$.fullCalendar.views.twoweeks = TwoWeeksView;
function TwoWeeksView(element, calendar) {
    // copy code from fullcalendar.js line 1960
}
7 голосов
/ 20 июля 2015

Правильный ответ для fullCalendar 2 - изменить базовый вид недели, как описано в документации:

    $('#calendar').fullCalendar({
        views: {
            basicWeek: {
                type: 'basic',
                duration: {weeks: 2},
                rows: 2
            }
        }
    }

Там.Просто:)

2 голосов
/ 19 марта 2012

см. Здесь для получения дополнительной информации об этом пользовательском представлении полного календаря

JQuery FullCalendar 2 недели просмотра Следующие кнопки назад

1 голос
/ 21 июня 2011

Ответ будет отображать два календаря, один с текущей неделей, а другой с неделей позже.

Я предлагаю вам взломать то, что я сделал на этой скрипке: http://jsfiddle.net/Doomsday/M3YP3/1/

0 голосов
/ 15 января 2015

Последняя версия теперь делает его еще проще (v2.2.6)

вы также можете проверить этот мерзавец, где есть пользовательское представление twoweek, которое перемещается на 1 неделю (или любой другой параметр, установленный на)время с кнопками «следующий / предыдущий».

https://github.com/marc-gist/fullcalendar

edit: суть, похоже, больше не работает с другой версией fullcalendar;но посмотрите на документы для легкой настройки просмотра недели через значения параметров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...