| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- fcViews.month = MonthView;
- function MonthView(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 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;
- }
- 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);
- }
-
-
- }
|