Use Due Dates from all course Sessions for Dashboard
This commit is contained in:
parent
89ff4af3c8
commit
9bb3c93cfb
|
|
@ -2,7 +2,7 @@
|
||||||
<div class="bg-white p-4">
|
<div class="bg-white p-4">
|
||||||
<ul v-if="true">
|
<ul v-if="true">
|
||||||
<li
|
<li
|
||||||
v-for="dueDate in dueDates"
|
v-for="dueDate in props.dueDates"
|
||||||
:key="dueDate.id"
|
:key="dueDate.id"
|
||||||
class="flex flex-row border-b py-4"
|
class="flex flex-row border-b py-4"
|
||||||
>
|
>
|
||||||
|
|
@ -18,9 +18,9 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { dueDatesTestData } from "@/components/dueDates/DueDatesTestData";
|
|
||||||
import { formatDate } from "@/components/dueDates/DueDatesUtils.ts";
|
import { formatDate } from "@/components/dueDates/DueDatesUtils.ts";
|
||||||
import { useCurrentCourseSession } from "@/composables";
|
import { useCurrentCourseSession } from "@/composables";
|
||||||
|
import type { DueDate } from "@/types";
|
||||||
import { defineProps } from "vue";
|
import { defineProps } from "vue";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
|
|
@ -28,16 +28,13 @@ const props = defineProps<{
|
||||||
default: 10;
|
default: 10;
|
||||||
type: number;
|
type: number;
|
||||||
};
|
};
|
||||||
|
dueDates: DueDate[];
|
||||||
}>();
|
}>();
|
||||||
|
|
||||||
const courseSession = useCurrentCourseSession();
|
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) {
|
// if (dueDates.length === 0) {
|
||||||
// dueDates = dueDatesTestData;
|
// dueDates = dueDatesTestData;
|
||||||
// }
|
// }
|
||||||
dueDates = dueDatesTestData();
|
|
||||||
|
|
||||||
console.log("dueDates: ", dueDates);
|
|
||||||
console.log("maxCount: ", props.maxCount);
|
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,13 @@ onMounted(async () => {
|
||||||
log.debug("DashboardPage mounted");
|
log.debug("DashboardPage mounted");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const allDueDates = courseSessionsStore.allDueDates();
|
||||||
const getNextStepLink = (courseSession: CourseSession) => {
|
const getNextStepLink = (courseSession: CourseSession) => {
|
||||||
|
console.log("courseSession: ", courseSession);
|
||||||
|
|
||||||
|
courseSessionsStore.allCourseSessions.forEach((courseSession) => {
|
||||||
|
console.log("duedates: ", courseSession.duedates);
|
||||||
|
});
|
||||||
return computed(() => {
|
return computed(() => {
|
||||||
if (courseSessionsStore.hasCockpit(courseSession)) {
|
if (courseSessionsStore.hasCockpit(courseSession)) {
|
||||||
return courseSession.cockpit_url;
|
return courseSession.cockpit_url;
|
||||||
|
|
@ -71,7 +77,7 @@ const getNextStepLink = (courseSession: CourseSession) => {
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<h3 class="mb-6">Termine</h3>
|
<h3 class="mb-6">Termine</h3>
|
||||||
<DueDatesLongList></DueDatesLongList>
|
<DueDatesLongList :due-dates="allDueDates"></DueDatesLongList>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import type {
|
||||||
CourseSessionAssignmentDetails,
|
CourseSessionAssignmentDetails,
|
||||||
CourseSessionAttendanceCourse,
|
CourseSessionAttendanceCourse,
|
||||||
CourseSessionUser,
|
CourseSessionUser,
|
||||||
|
DueDate,
|
||||||
ExpertSessionUser,
|
ExpertSessionUser,
|
||||||
} from "@/types";
|
} from "@/types";
|
||||||
import eventBus from "@/utils/eventBus";
|
import eventBus from "@/utils/eventBus";
|
||||||
|
|
@ -42,7 +43,6 @@ export const useCourseSessionsStore = defineStore("courseSessions", () => {
|
||||||
cs.duedates.forEach((dueDate) => {
|
cs.duedates.forEach((dueDate) => {
|
||||||
dueDate.start = dayjs(dueDate.start);
|
dueDate.start = dayjs(dueDate.start);
|
||||||
dueDate.end = dayjs(dueDate.end);
|
dueDate.end = dayjs(dueDate.end);
|
||||||
console.log(dueDate);
|
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
@ -195,6 +195,16 @@ export const useCourseSessionsStore = defineStore("courseSessions", () => {
|
||||||
currentCourseSession.value?.documents.push(document);
|
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() {
|
async function startUpload() {
|
||||||
log.debug("loadCourseSessionsData called");
|
log.debug("loadCourseSessionsData called");
|
||||||
allCourseSessions.value = await itPost(`/api/core/file/start`, {
|
allCourseSessions.value = await itPost(`/api/core/file/start`, {
|
||||||
|
|
@ -250,6 +260,7 @@ export const useCourseSessionsStore = defineStore("courseSessions", () => {
|
||||||
removeDocument,
|
removeDocument,
|
||||||
findAttendanceCourse,
|
findAttendanceCourse,
|
||||||
findAssignmentDetails,
|
findAssignmentDetails,
|
||||||
|
allDueDates,
|
||||||
|
|
||||||
// use `useCurrentCourseSession` whenever possible
|
// use `useCurrentCourseSession` whenever possible
|
||||||
currentCourseSession,
|
currentCourseSession,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue