Make calendar item on 'mes rendez-vous' page clickable, navigate to calendar item edit page

This commit is contained in:
2025-11-12 10:34:19 +01:00
parent 0a58e05230
commit f6d11b91ad
2 changed files with 19 additions and 4 deletions

View File

@@ -0,0 +1,6 @@
kind: Feature
body: Make a calendar item on the 'mes rendez-vous' page clickable. Clicking will navigate to the edit page of the calendar item.
time: 2025-11-12T10:32:24.916576945+01:00
custom:
Issue: "461"
SchemaChange: No schema change

View File

@@ -99,7 +99,7 @@
</div> </div>
<FullCalendar :options="calendarOptions" ref="calendarRef"> <FullCalendar :options="calendarOptions" ref="calendarRef">
<template v-slot:eventContent="{ event }: { event: EventApi }"> <template v-slot:eventContent="{ event }: { event: EventApi }">
<span :class="eventClasses"> <span :class="eventClasses" style="cursor: pointer">
<b v-if="event.extendedProps.is === 'remote'">{{ <b v-if="event.extendedProps.is === 'remote'">{{
event.title event.title
}}</b> }}</b>
@@ -108,9 +108,12 @@
{{ formatDate(event.endStr, "time") }}: {{ formatDate(event.endStr, "time") }}:
{{ event.extendedProps.locationName }}</b {{ event.extendedProps.locationName }}</b
> >
<b v-else-if="event.extendedProps.is === 'local'">{{ <a
event.title :href="calendarLink(event.id)"
}}</b> v-else-if="event.extendedProps.is === 'local'"
>
<b>{{ event.title }}</b>
</a>
<b v-else>no 'is'</b> <b v-else>no 'is'</b>
<a <a
v-if="event.extendedProps.is === 'range'" v-if="event.extendedProps.is === 'range'"
@@ -486,6 +489,12 @@ function copyWeek() {
}); });
} }
const calendarLink = (calendarId: string) => {
const idStr = calendarId.match(/_(\d+)$/)?.[1];
return `/fr/calendar/calendar/${idStr}/edit`;
};
onMounted(() => { onMounted(() => {
copyFromWeek.value = dateToISO(getMonday(0)); copyFromWeek.value = dateToISO(getMonday(0));
copyToWeek.value = dateToISO(getMonday(1)); copyToWeek.value = dateToISO(getMonday(1));