fix bug with calendar offset

This commit is contained in:
marlon-erler
2024-09-07 11:30:43 -07:00
parent eef43f5077
commit 93f4cee957
3 changed files with 19 additions and 4 deletions
+7 -1
View File
@@ -684,7 +684,12 @@
date.setFullYear(year); date.setFullYear(year);
date.setMonth(month - 1); date.setMonth(month - 1);
date.setDate(1); date.setDate(1);
const offset = date.getDay() - parseInt(this.settingsModel.firstDayOfWeek); const firstWeekdayOfMonth = date.getDay();
const firstDayOfWeekSetting = parseInt(
this.settingsModel.firstDayOfWeek
);
console.log(firstWeekdayOfMonth, firstDayOfWeekSetting);
const offset = firstWeekdayOfMonth == 0 ? 7 - firstDayOfWeekSetting : firstWeekdayOfMonth - firstDayOfWeekSetting;
date.setMonth(month); date.setMonth(month);
date.setDate(-1); date.setDate(-1);
const daysInMonth = date.getDate() + 1; const daysInMonth = date.getDate() + 1;
@@ -3176,6 +3181,7 @@
if (currentWeekday == 7) currentWeekday = 0; if (currentWeekday == 7) currentWeekday = 0;
} }
const offsetElements = []; const offsetElements = [];
console.log(monthGrid.offset);
for (let i = 0; i < monthGrid.offset; i++) { for (let i = 0; i < monthGrid.offset; i++) {
offsetElements.push(/* @__PURE__ */ createElement("div", null)); offsetElements.push(/* @__PURE__ */ createElement("div", null));
} }
+11 -3
View File
@@ -64,14 +64,22 @@ export default class CalendarModel {
const isCurrentMonth: boolean = const isCurrentMonth: boolean =
year == date.getFullYear() && month == date.getMonth() + 1; year == date.getFullYear() && month == date.getMonth() + 1;
// get first day of month // get data for offset
date.setFullYear(year); date.setFullYear(year);
date.setMonth(month - 1); date.setMonth(month - 1);
date.setDate(1); date.setDate(1);
// get offset const firstWeekdayOfMonth = date.getDay();
const firstDayOfWeekSetting: number = parseInt(
this.settingsModel.firstDayOfWeek
);
console.log(firstWeekdayOfMonth, firstDayOfWeekSetting);
const offset: number = const offset: number =
date.getDay() - parseInt(this.settingsModel.firstDayOfWeek); firstWeekdayOfMonth == 0
? 7 - firstDayOfWeekSetting
: firstWeekdayOfMonth - firstDayOfWeekSetting;
// get total day count // get total day count
date.setMonth(month); date.setMonth(month);
+1
View File
@@ -25,6 +25,7 @@ export function MonthGrid<T>(
} }
const offsetElements: HTMLElement[] = []; const offsetElements: HTMLElement[] = [];
console.log(monthGrid.offset);
for (let i = 0; i < monthGrid.offset; i++) { for (let i = 0; i < monthGrid.offset; i++) {
offsetElements.push(<div></div>); offsetElements.push(<div></div>);
} }