diff --git a/client/src/pages/cockpit/FeedbackPage.vue b/client/src/pages/cockpit/FeedbackPage.vue index 0267d5f4..8217045d 100644 --- a/client/src/pages/cockpit/FeedbackPage.vue +++ b/client/src/pages/cockpit/FeedbackPage.vue @@ -11,7 +11,18 @@
-

{{ $t("feedback.feedbackPageTitle") }}

+
+

{{ $t("feedback.feedbackPageTitle") }}

+ +

{{ feedbackData.amount }} @@ -37,6 +48,9 @@ import type { FeedbackData, FeedbackType } from "@/types"; import FeedbackPageVV from "@/pages/cockpit/FeedbackPageVV.vue"; import FeedbackPageUK from "@/pages/cockpit/FeedbackPageUK.vue"; import { useExpertCockpitPageData } from "@/pages/cockpit/cockpitPage/composables"; +import { exportFeedback } from "@/services/dashboard"; +import { useUserStore } from "@/stores/user"; +import { openDataAsXls } from "@/utils/export"; const props = defineProps<{ courseSlug: string; @@ -46,9 +60,23 @@ const props = defineProps<{ log.debug("FeedbackPage created", props.circleId); const { loading } = useExpertCockpitPageData(props.courseSlug); const courseSession = useCurrentCourseSession(); +const userStore = useUserStore(); + const feedbackData = ref(undefined); const feedbackType = ref(undefined); +async function exportData() { + log.debug("FeedbackPage exportData"); + const data = await exportFeedback( + { + courseSessionIds: [Number(courseSession.value.id)], + circleIds: [Number(props.circleId)], + }, + userStore.language + ); + openDataAsXls(data.encoded_data, data.file_name); +} + onMounted(async () => { log.debug("FeedbackPage mounted"); feedbackData.value = await itGet(