Показать 2 недели в jQuery FullCalendar
Посмотрел вокруг, чтобы отобразить только текущую неделю и следующую неделю в представлении месяца для FullCalendar. Пока это выглядит как функция для предстоящей версии, но тем временем кто-нибудь мог ее взломать?
UPDATE
Благодаря предложению Doomsday я смог создать собственное представление, которое показывает 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);
}
}
Ответы
Ответ 1
Лучшим решением является реализация вашего пользовательского представления.
Вставьте новый JS свой собственный определенный вид:
$.fullCalendar.views.twoweeks = TwoWeeksView;
function TwoWeeksView(element, calendar) {
// copy code from fullcalendar.js line 1960
}
Ответ 2
Правильный ответ для fullCalendar 2 - изменить представление basicWeek, как описано в документации:
$('#calendar').fullCalendar({
views: {
basicWeek: {
type: 'basic',
duration: {weeks: 2},
rows: 2
}
}
}
Там. Простой:)
Ответ 3
Ответ будет состоять в том, чтобы отобразить два календаря: один с текущей неделей, а другой - через неделю.
Я предлагаю вам взломать то, что я сделал на этой скрипке: http://jsfiddle.net/Doomsday/M3YP3/1/
Ответ 4
пожалуйста, ознакомьтесь с дополнительной информацией по этому полному календарю.
JQuery FullCalendar 2-недельный просмотр Следующие предыдущие кнопки
Ответ 5
Последняя версия теперь упрощает (v2.2.6)
вы также можете проверить этот git, где есть пользовательский вид twoweek, который перемещается на 1 неделю (или любой другой параметр, который он установил) одновременно с кнопками next/prev.
https://github.com/marc-gist/fullcalendar
edit: gist, похоже, больше не работает с другой версией fullcalendar; но посмотрите на документы для простой настройки просмотра недели через значения параметров.