Added config for first day in week for calendar widget (#2080)

pull/2087/head
Denis Papec 1 year ago committed by GitHub
parent 92bef4a283
commit 605042fb38
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -358,6 +358,7 @@ export function cleanServiceGroups(groups) {
mappings, // customapi widget mappings, // customapi widget
refreshInterval, refreshInterval,
integrations, // calendar widget integrations, // calendar widget
firstDayInWeek,
} = cleanedService.widget; } = cleanedService.widget;
let fieldsList = fields; let fieldsList = fields;
@ -443,6 +444,7 @@ export function cleanServiceGroups(groups) {
} }
if (type === "calendar") { if (type === "calendar") {
if (integrations) cleanedService.widget.integrations = integrations; if (integrations) cleanedService.widget.integrations = integrations;
if (firstDayInWeek) cleanedService.widget.firstDayInWeek = firstDayInWeek;
} }
} }

@ -98,13 +98,13 @@ export default function MonthlyView({ service }) {
const dayNames = Info.weekdays("short", { locale: i18n.language }); const dayNames = Info.weekdays("short", { locale: i18n.language });
const firstDayInCalendar = widget?.firstDayInCalendar ? widget?.firstDayInCalendar?.toLowerCase() : "monday"; const firstDayInWeekCalendar = widget?.firstDayInWeek ? widget?.firstDayInWeek?.toLowerCase() : "monday";
for (let i = 1; i < dayInWeekId[firstDayInCalendar]; i+=1) { for (let i = 1; i < dayInWeekId[firstDayInWeekCalendar]; i+=1) {
dayNames.push(dayNames.shift()); dayNames.push(dayNames.shift());
} }
const daysInWeek = useMemo(() => [ ...Array(7).keys() ].map( i => i + dayInWeekId[firstDayInCalendar] const daysInWeek = useMemo(() => [ ...Array(7).keys() ].map( i => i + dayInWeekId[firstDayInWeekCalendar]
), [(firstDayInCalendar)]); ), [firstDayInWeekCalendar]);
if (!showDate) { if (!showDate) {
return <div className="w-full text-center" />; return <div className="w-full text-center" />;
@ -112,8 +112,9 @@ export default function MonthlyView({ service }) {
const firstWeek = DateTime.local(showDate.year, showDate.month, 1).setLocale(i18n.language); const firstWeek = DateTime.local(showDate.year, showDate.month, 1).setLocale(i18n.language);
const weekIncrementChange = dayInWeekId[firstDayInWeekCalendar] > firstWeek.weekday ? -1 : 0;
let weekNumbers = [ ...Array(Math.ceil(5) + 1).keys() ] let weekNumbers = [ ...Array(Math.ceil(5) + 1).keys() ]
.map(i => firstWeek.weekNumber+i); .map(i => firstWeek.weekNumber + weekIncrementChange + i);
if (weekNumbers.includes(55)) { if (weekNumbers.includes(55)) {
// if we went too far with the weeks, it's the beginning of the year // if we went too far with the weeks, it's the beginning of the year

Loading…
Cancel
Save