mirror of
https://github.com/wassname/fullcalendar.git
synced 2026-09-09 11:22:41 +08:00
hiddenDays option. internal refactor for how cells/dates work
This commit is contained in:
+22
-12
@@ -13,39 +13,49 @@ function MonthView(element, calendar) {
|
||||
BasicView.call(t, element, calendar, 'month');
|
||||
var opt = t.opt;
|
||||
var renderBasic = t.renderBasic;
|
||||
var skipHiddenDays = t.skipHiddenDays;
|
||||
var getCellsPerWeek = t.getCellsPerWeek;
|
||||
var formatDate = calendar.formatDate;
|
||||
|
||||
|
||||
|
||||
function render(date, delta) {
|
||||
|
||||
if (delta) {
|
||||
addMonths(date, delta);
|
||||
date.setDate(1);
|
||||
}
|
||||
|
||||
var firstDay = opt('firstDay');
|
||||
|
||||
var start = cloneDate(date, true);
|
||||
start.setDate(1);
|
||||
|
||||
var end = addMonths(cloneDate(start), 1);
|
||||
|
||||
var visStart = cloneDate(start);
|
||||
addDays(visStart, -((visStart.getDay() - firstDay + 7) % 7));
|
||||
skipHiddenDays(visStart);
|
||||
|
||||
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));
|
||||
addDays(visEnd, (7 - visEnd.getDay() + firstDay) % 7);
|
||||
skipHiddenDays(visEnd, -1, true);
|
||||
|
||||
var colCnt = getCellsPerWeek();
|
||||
var rowCnt = Math.round(dayDiff(visEnd, visStart) / 7); // should be no need for Math.round
|
||||
|
||||
if (opt('weekMode') == 'fixed') {
|
||||
addDays(visEnd, (6 - rowCnt) * 7);
|
||||
addDays(visEnd, (6 - rowCnt) * 7); // add weeks to make up for it
|
||||
rowCnt = 6;
|
||||
}
|
||||
|
||||
t.title = formatDate(start, opt('titleFormat'));
|
||||
|
||||
t.start = start;
|
||||
t.end = end;
|
||||
t.visStart = visStart;
|
||||
t.visEnd = visEnd;
|
||||
renderBasic(rowCnt, nwe ? 5 : 7, true);
|
||||
|
||||
renderBasic(rowCnt, colCnt, true);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user