Use Due Dates from all course Sessions for Dashboard

This commit is contained in:
Lorenz Padberg 2023-06-19 14:52:54 +02:00
parent 89ff4af3c8
commit 9bb3c93cfb
3 changed files with 23 additions and 9 deletions

View File

@ -2,7 +2,7 @@
<div class="bg-white p-4">
<ul v-if="true">
<li
v-for="dueDate in dueDates"
v-for="dueDate in props.dueDates"
:key="dueDate.id"
class="flex flex-row border-b py-4"
>
@ -18,9 +18,9 @@
</template>
<script lang="ts" setup>
import { dueDatesTestData } from "@/components/dueDates/DueDatesTestData";
import { formatDate } from "@/components/dueDates/DueDatesUtils.ts";
import { useCurrentCourseSession } from "@/composables";
import type { DueDate } from "@/types";
import { defineProps } from "vue";
const props = defineProps<{
@ -28,16 +28,13 @@ const props = defineProps<{
default: 10;
type: number;
};
dueDates: DueDate[];
}>();
const courseSession = useCurrentCourseSession();
let dueDates = []; //courseSession.value.duedates.slice(0, props.maxCount);
const dueDates = []; //courseSession.value.duedates.slice(0, props.maxCount);
//
// if (dueDates.length === 0) {
// dueDates = dueDatesTestData;
// }
dueDates = dueDatesTestData();
console.log("dueDates: ", dueDates);
console.log("maxCount: ", props.maxCount);
</script>

View File

@ -16,7 +16,13 @@ onMounted(async () => {
log.debug("DashboardPage mounted");
});
const allDueDates = courseSessionsStore.allDueDates();
const getNextStepLink = (courseSession: CourseSession) => {
console.log("courseSession: ", courseSession);
courseSessionsStore.allCourseSessions.forEach((courseSession) => {
console.log("duedates: ", courseSession.duedates);
});
return computed(() => {
if (courseSessionsStore.hasCockpit(courseSession)) {
return courseSession.cockpit_url;
@ -71,7 +77,7 @@ const getNextStepLink = (courseSession: CourseSession) => {
</div>
<div>
<h3 class="mb-6">Termine</h3>
<DueDatesLongList></DueDatesLongList>
<DueDatesLongList :due-dates="allDueDates"></DueDatesLongList>
</div>
</div>
</main>

View File

@ -6,6 +6,7 @@ import type {
CourseSessionAssignmentDetails,
CourseSessionAttendanceCourse,
CourseSessionUser,
DueDate,
ExpertSessionUser,
} from "@/types";
import eventBus from "@/utils/eventBus";
@ -42,7 +43,6 @@ export const useCourseSessionsStore = defineStore("courseSessions", () => {
cs.duedates.forEach((dueDate) => {
dueDate.start = dayjs(dueDate.start);
dueDate.end = dayjs(dueDate.end);
console.log(dueDate);
});
})
);
@ -195,6 +195,16 @@ export const useCourseSessionsStore = defineStore("courseSessions", () => {
currentCourseSession.value?.documents.push(document);
}
function allDueDates() {
const allDueDatesReturn: DueDate[] = [];
allCourseSessions.value?.forEach((cs) => {
allDueDatesReturn.push(...cs.duedates);
});
allDueDatesReturn.sort((a, b) => dayjs(a.end).diff(dayjs(b.end)));
return allDueDatesReturn;
}
async function startUpload() {
log.debug("loadCourseSessionsData called");
allCourseSessions.value = await itPost(`/api/core/file/start`, {
@ -250,6 +260,7 @@ export const useCourseSessionsStore = defineStore("courseSessions", () => {
removeDocument,
findAttendanceCourse,
findAssignmentDetails,
allDueDates,
// use `useCurrentCourseSession` whenever possible
currentCourseSession,