diff --git a/client/src/components/learningPath/LearningPathDiagram.vue b/client/src/components/learningPath/LearningPathDiagram.vue index d3b52d5f..186f5fd0 100644 --- a/client/src/components/learningPath/LearningPathDiagram.vue +++ b/client/src/components/learningPath/LearningPathDiagram.vue @@ -2,29 +2,37 @@ import LearningPathCircle from "@/pages/learningPath/learningPathPage/LearningPathCircle.vue"; import { calculateCircleSectorData } from "@/pages/learningPath/learningPathPage/utils"; import { computed } from "vue"; -import type { LearningPathType } from "@/types"; -import { flatCircles } from "@/composables"; +import { useLearningPathWithCompletion } from "@/composables"; export type DiagramType = "horizontal" | "horizontalSmall" | "singleSmall"; export interface Props { - diagramType?: DiagramType; - learningPath: LearningPathType; showCircleSlugs?: string[]; + courseSlug: string; + courseSessionId: string; + userId?: string; + diagramType?: DiagramType; } const props = withDefaults(defineProps(), { diagramType: "horizontal", showCircleSlugs: undefined, + userId: undefined, }); +const lpQueryResult = useLearningPathWithCompletion( + props.courseSlug, + props.userId, + props.courseSessionId +); + const circles = computed(() => { if (props.showCircleSlugs?.length) { - return flatCircles(props.learningPath).filter( + return (lpQueryResult.circles.value ?? []).filter( (c) => props.showCircleSlugs?.includes(c.slug) ?? true ); } - return flatCircles(props.learningPath); + return lpQueryResult.circles.value ?? []; }); const wrapperClasses = computed(() => { diff --git a/client/src/components/learningPath/LearningPathDiagramSmall.vue b/client/src/components/learningPath/LearningPathDiagramSmall.vue deleted file mode 100644 index 3e4f555b..00000000 --- a/client/src/components/learningPath/LearningPathDiagramSmall.vue +++ /dev/null @@ -1,27 +0,0 @@ - - - - diff --git a/client/src/composables.ts b/client/src/composables.ts index 7d843433..4c042785 100644 --- a/client/src/composables.ts +++ b/client/src/composables.ts @@ -148,6 +148,18 @@ export function useLearningPath(courseSlug: string) { resultPromise.then((result) => { learningPath.value = result.data?.learning_path as LearningPathType; + // attach circle information to learning contents + if (learningPath.value) { + flatCircles(learningPath.value).forEach((circle) => { + circleFlatChildren(circle).forEach((lc) => { + lc.circle = { + id: circle.id, + slug: circle.slug, + title: circle.title, + }; + }); + }); + } }); const circles = computed(() => { @@ -163,13 +175,23 @@ export function useLearningPath(courseSlug: string) { }); } - return { resultPromise, learningPath, circles, findCircle }; + function findLearningContent(learningContentId: string) { + return (circles.value ?? []) + .flatMap((c) => { + return circleFlatLearningContents(c); + }) + .find((lc) => { + return lc.id === learningContentId; + }); + } + + return { resultPromise, learningPath, circles, findCircle, findLearningContent }; } export function useLearningPathWithCompletion( courseSlug?: string, - courseSessionId?: string, - userId?: string + userId?: string, + courseSessionId?: string ) { if (!courseSlug) { courseSlug = useCurrentCourseSession().value.course.slug; diff --git a/client/src/gql/gql.ts b/client/src/gql/gql.ts index 13e4bd21..3ea7bf4f 100644 --- a/client/src/gql/gql.ts +++ b/client/src/gql/gql.ts @@ -18,7 +18,7 @@ const documents = { "\n fragment CoursePageFields on CoursePageInterface {\n title\n id\n slug\n content_type\n frontend_url\n }\n": types.CoursePageFieldsFragmentDoc, "\n query attendanceCheckQuery($courseSessionId: ID!) {\n course_session_attendance_course(id: $courseSessionId) {\n id\n attendance_user_list {\n user_id\n status\n }\n }\n }\n": types.AttendanceCheckQueryDocument, "\n query assignmentCompletionQuery(\n $assignmentId: ID!\n $courseSessionId: ID!\n $learningContentId: ID\n $assignmentUserId: UUID\n ) {\n assignment(id: $assignmentId) {\n assignment_type\n needs_expert_evaluation\n max_points\n content_type\n effort_required\n evaluation_description\n evaluation_document_url\n evaluation_tasks\n id\n intro_text\n performance_objectives\n slug\n tasks\n title\n translation_key\n competence_certificate {\n ...CoursePageFields\n }\n }\n assignment_completion(\n assignment_id: $assignmentId\n course_session_id: $courseSessionId\n assignment_user_id: $assignmentUserId\n learning_content_page_id: $learningContentId\n ) {\n id\n completion_status\n submitted_at\n evaluation_submitted_at\n evaluation_user {\n id\n }\n assignment_user {\n id\n }\n evaluation_points\n evaluation_max_points\n evaluation_passed\n edoniq_extended_time_flag\n completion_data\n task_completion_data\n }\n }\n": types.AssignmentCompletionQueryDocument, - "\n query competenceCertificateQuery($courseSlug: String!, $courseSessionId: ID!) {\n competence_certificate_list(course_slug: $courseSlug) {\n ...CoursePageFields\n competence_certificates {\n ...CoursePageFields\n assignments {\n ...CoursePageFields\n assignment_type\n max_points\n completion(course_session_id: $courseSessionId) {\n id\n completion_status\n submitted_at\n evaluation_points\n evaluation_max_points\n evaluation_passed\n }\n learning_content {\n ...CoursePageFields\n circle {\n ...CoursePageFields\n }\n }\n }\n }\n }\n }\n": types.CompetenceCertificateQueryDocument, + "\n query competenceCertificateQuery($courseSlug: String!, $courseSessionId: ID!) {\n competence_certificate_list(course_slug: $courseSlug) {\n ...CoursePageFields\n competence_certificates {\n ...CoursePageFields\n assignments {\n ...CoursePageFields\n assignment_type\n max_points\n completion(course_session_id: $courseSessionId) {\n id\n completion_status\n submitted_at\n evaluation_points\n evaluation_max_points\n evaluation_passed\n }\n learning_content {\n ...CoursePageFields\n circle {\n id\n title\n slug\n }\n }\n }\n }\n }\n }\n": types.CompetenceCertificateQueryDocument, "\n query courseSessionDetail($courseSessionId: ID!) {\n course_session(id: $courseSessionId) {\n id\n title\n course {\n id\n title\n slug\n }\n users {\n id\n user_id\n first_name\n last_name\n email\n avatar_url\n role\n circles {\n id\n title\n slug\n }\n }\n attendance_courses {\n id\n location\n trainer\n due_date {\n id\n start\n end\n }\n learning_content_id\n learning_content {\n id\n title\n circle {\n id\n title\n slug\n }\n }\n }\n assignments {\n id\n submission_deadline {\n id\n start\n }\n evaluation_deadline {\n id\n start\n }\n learning_content {\n id\n title\n content_assignment {\n id\n title\n assignment_type\n }\n }\n }\n edoniq_tests {\n id\n deadline {\n id\n start\n end\n }\n learning_content {\n id\n title\n content_assignment {\n id\n title\n assignment_type\n }\n }\n }\n }\n }\n": types.CourseSessionDetailDocument, "\n query learningPathQuery($slug: String!) {\n learning_path(slug: $slug) {\n ...CoursePageFields\n topics {\n is_visible\n ...CoursePageFields\n circles {\n description\n goals\n ...CoursePageFields\n learning_sequences {\n icon\n ...CoursePageFields\n learning_units {\n evaluate_url\n ...CoursePageFields\n performance_criteria {\n ...CoursePageFields\n }\n learning_contents {\n can_user_self_toggle_course_completion\n ...CoursePageFields\n ... on LearningContentAssignmentObjectType {\n assignment_type\n content_assignment {\n id\n }\n competence_certificate {\n ...CoursePageFields\n }\n }\n ... on LearningContentEdoniqTestObjectType {\n checkbox_text\n competence_certificate {\n ...CoursePageFields\n }\n }\n }\n }\n }\n }\n }\n }\n }\n": types.LearningPathQueryDocument, "\n mutation SendFeedbackMutation(\n $courseSessionId: ID!\n $learningContentId: ID!\n $data: GenericScalar!\n $submitted: Boolean\n ) {\n send_feedback(\n course_session_id: $courseSessionId\n learning_content_page_id: $learningContentId\n data: $data\n submitted: $submitted\n ) {\n feedback_response {\n id\n data\n submitted\n }\n errors {\n field\n messages\n }\n }\n }\n": types.SendFeedbackMutationDocument, @@ -61,7 +61,7 @@ export function graphql(source: "\n query assignmentCompletionQuery(\n $assi /** * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ -export function graphql(source: "\n query competenceCertificateQuery($courseSlug: String!, $courseSessionId: ID!) {\n competence_certificate_list(course_slug: $courseSlug) {\n ...CoursePageFields\n competence_certificates {\n ...CoursePageFields\n assignments {\n ...CoursePageFields\n assignment_type\n max_points\n completion(course_session_id: $courseSessionId) {\n id\n completion_status\n submitted_at\n evaluation_points\n evaluation_max_points\n evaluation_passed\n }\n learning_content {\n ...CoursePageFields\n circle {\n ...CoursePageFields\n }\n }\n }\n }\n }\n }\n"): (typeof documents)["\n query competenceCertificateQuery($courseSlug: String!, $courseSessionId: ID!) {\n competence_certificate_list(course_slug: $courseSlug) {\n ...CoursePageFields\n competence_certificates {\n ...CoursePageFields\n assignments {\n ...CoursePageFields\n assignment_type\n max_points\n completion(course_session_id: $courseSessionId) {\n id\n completion_status\n submitted_at\n evaluation_points\n evaluation_max_points\n evaluation_passed\n }\n learning_content {\n ...CoursePageFields\n circle {\n ...CoursePageFields\n }\n }\n }\n }\n }\n }\n"]; +export function graphql(source: "\n query competenceCertificateQuery($courseSlug: String!, $courseSessionId: ID!) {\n competence_certificate_list(course_slug: $courseSlug) {\n ...CoursePageFields\n competence_certificates {\n ...CoursePageFields\n assignments {\n ...CoursePageFields\n assignment_type\n max_points\n completion(course_session_id: $courseSessionId) {\n id\n completion_status\n submitted_at\n evaluation_points\n evaluation_max_points\n evaluation_passed\n }\n learning_content {\n ...CoursePageFields\n circle {\n id\n title\n slug\n }\n }\n }\n }\n }\n }\n"): (typeof documents)["\n query competenceCertificateQuery($courseSlug: String!, $courseSessionId: ID!) {\n competence_certificate_list(course_slug: $courseSlug) {\n ...CoursePageFields\n competence_certificates {\n ...CoursePageFields\n assignments {\n ...CoursePageFields\n assignment_type\n max_points\n completion(course_session_id: $courseSessionId) {\n id\n completion_status\n submitted_at\n evaluation_points\n evaluation_max_points\n evaluation_passed\n }\n learning_content {\n ...CoursePageFields\n circle {\n id\n title\n slug\n }\n }\n }\n }\n }\n }\n"]; /** * The graphql function is used to parse GraphQL queries into a document that can be used by GraphQL clients. */ diff --git a/client/src/gql/graphql.ts b/client/src/gql/graphql.ts index 9306d14f..65a17523 100644 --- a/client/src/gql/graphql.ts +++ b/client/src/gql/graphql.ts @@ -108,7 +108,6 @@ export type AssignmentCompletionStatus = export type AssignmentObjectType = CoursePageInterface & { __typename?: 'AssignmentObjectType'; assignment_type: AssignmentAssignmentAssignmentTypeChoices; - circle?: Maybe; competence_certificate?: Maybe; completion?: Maybe; content_type: Scalars['String']['output']; @@ -167,9 +166,15 @@ export type AttendanceUserStatus = | 'ABSENT' | 'PRESENT'; +export type CircleLightObjectType = { + __typename?: 'CircleLightObjectType'; + id: Scalars['ID']['output']; + slug: Scalars['String']['output']; + title: Scalars['String']['output']; +}; + export type CircleObjectType = CoursePageInterface & { __typename?: 'CircleObjectType'; - circle?: Maybe; content_type: Scalars['String']['output']; course?: Maybe; description: Scalars['String']['output']; @@ -185,7 +190,6 @@ export type CircleObjectType = CoursePageInterface & { export type CompetenceCertificateListObjectType = CoursePageInterface & { __typename?: 'CompetenceCertificateListObjectType'; - circle?: Maybe; competence_certificates: Array; content_type: Scalars['String']['output']; course?: Maybe; @@ -200,7 +204,6 @@ export type CompetenceCertificateListObjectType = CoursePageInterface & { export type CompetenceCertificateObjectType = CoursePageInterface & { __typename?: 'CompetenceCertificateObjectType'; assignments: Array; - circle?: Maybe; content_type: Scalars['String']['output']; course?: Maybe; frontend_url: Scalars['String']['output']; @@ -238,7 +241,6 @@ export type CourseObjectType = { }; export type CoursePageInterface = { - circle?: Maybe; content_type: Scalars['String']['output']; course?: Maybe; frontend_url: Scalars['String']['output']; @@ -353,7 +355,7 @@ export type LearningContentAssignmentObjectType = CoursePageInterface & Learning __typename?: 'LearningContentAssignmentObjectType'; assignment_type: LearnpathLearningContentAssignmentAssignmentTypeChoices; can_user_self_toggle_course_completion: Scalars['Boolean']['output']; - circle: CircleObjectType; + circle?: Maybe; competence_certificate?: Maybe; content_assignment: AssignmentObjectType; content_type: Scalars['String']['output']; @@ -372,7 +374,7 @@ export type LearningContentAssignmentObjectType = CoursePageInterface & Learning export type LearningContentAttendanceCourseObjectType = CoursePageInterface & LearningContentInterface & { __typename?: 'LearningContentAttendanceCourseObjectType'; can_user_self_toggle_course_completion: Scalars['Boolean']['output']; - circle: CircleObjectType; + circle?: Maybe; content_type: Scalars['String']['output']; content_url: Scalars['String']['output']; course?: Maybe; @@ -389,7 +391,7 @@ export type LearningContentAttendanceCourseObjectType = CoursePageInterface & Le export type LearningContentDocumentListObjectType = CoursePageInterface & LearningContentInterface & { __typename?: 'LearningContentDocumentListObjectType'; can_user_self_toggle_course_completion: Scalars['Boolean']['output']; - circle: CircleObjectType; + circle?: Maybe; content_type: Scalars['String']['output']; content_url: Scalars['String']['output']; course?: Maybe; @@ -407,7 +409,7 @@ export type LearningContentEdoniqTestObjectType = CoursePageInterface & Learning __typename?: 'LearningContentEdoniqTestObjectType'; can_user_self_toggle_course_completion: Scalars['Boolean']['output']; checkbox_text: Scalars['String']['output']; - circle: CircleObjectType; + circle?: Maybe; competence_certificate?: Maybe; content_assignment?: Maybe; content_type: Scalars['String']['output']; @@ -426,7 +428,7 @@ export type LearningContentEdoniqTestObjectType = CoursePageInterface & Learning export type LearningContentFeedbackObjectType = CoursePageInterface & LearningContentInterface & { __typename?: 'LearningContentFeedbackObjectType'; can_user_self_toggle_course_completion: Scalars['Boolean']['output']; - circle: CircleObjectType; + circle?: Maybe; content_type: Scalars['String']['output']; content_url: Scalars['String']['output']; course?: Maybe; @@ -442,7 +444,7 @@ export type LearningContentFeedbackObjectType = CoursePageInterface & LearningCo export type LearningContentInterface = { can_user_self_toggle_course_completion: Scalars['Boolean']['output']; - circle: CircleObjectType; + circle?: Maybe; content_type: Scalars['String']['output']; content_url: Scalars['String']['output']; course?: Maybe; @@ -459,7 +461,7 @@ export type LearningContentInterface = { export type LearningContentLearningModuleObjectType = CoursePageInterface & LearningContentInterface & { __typename?: 'LearningContentLearningModuleObjectType'; can_user_self_toggle_course_completion: Scalars['Boolean']['output']; - circle: CircleObjectType; + circle?: Maybe; content_type: Scalars['String']['output']; content_url: Scalars['String']['output']; course?: Maybe; @@ -476,7 +478,7 @@ export type LearningContentLearningModuleObjectType = CoursePageInterface & Lear export type LearningContentMediaLibraryObjectType = CoursePageInterface & LearningContentInterface & { __typename?: 'LearningContentMediaLibraryObjectType'; can_user_self_toggle_course_completion: Scalars['Boolean']['output']; - circle: CircleObjectType; + circle?: Maybe; content_type: Scalars['String']['output']; content_url: Scalars['String']['output']; course?: Maybe; @@ -493,7 +495,7 @@ export type LearningContentMediaLibraryObjectType = CoursePageInterface & Learni export type LearningContentPlaceholderObjectType = CoursePageInterface & LearningContentInterface & { __typename?: 'LearningContentPlaceholderObjectType'; can_user_self_toggle_course_completion: Scalars['Boolean']['output']; - circle: CircleObjectType; + circle?: Maybe; content_type: Scalars['String']['output']; content_url: Scalars['String']['output']; course?: Maybe; @@ -510,7 +512,7 @@ export type LearningContentPlaceholderObjectType = CoursePageInterface & Learnin export type LearningContentRichTextObjectType = CoursePageInterface & LearningContentInterface & { __typename?: 'LearningContentRichTextObjectType'; can_user_self_toggle_course_completion: Scalars['Boolean']['output']; - circle: CircleObjectType; + circle?: Maybe; content_type: Scalars['String']['output']; content_url: Scalars['String']['output']; course?: Maybe; @@ -527,7 +529,7 @@ export type LearningContentRichTextObjectType = CoursePageInterface & LearningCo export type LearningContentVideoObjectType = CoursePageInterface & LearningContentInterface & { __typename?: 'LearningContentVideoObjectType'; can_user_self_toggle_course_completion: Scalars['Boolean']['output']; - circle: CircleObjectType; + circle?: Maybe; content_type: Scalars['String']['output']; content_url: Scalars['String']['output']; course?: Maybe; @@ -543,7 +545,6 @@ export type LearningContentVideoObjectType = CoursePageInterface & LearningConte export type LearningPathObjectType = CoursePageInterface & { __typename?: 'LearningPathObjectType'; - circle?: Maybe; content_type: Scalars['String']['output']; course?: Maybe; frontend_url: Scalars['String']['output']; @@ -557,7 +558,6 @@ export type LearningPathObjectType = CoursePageInterface & { export type LearningSequenceObjectType = CoursePageInterface & { __typename?: 'LearningSequenceObjectType'; - circle?: Maybe; content_type: Scalars['String']['output']; course?: Maybe; frontend_url: Scalars['String']['output']; @@ -572,7 +572,6 @@ export type LearningSequenceObjectType = CoursePageInterface & { export type LearningUnitObjectType = CoursePageInterface & { __typename?: 'LearningUnitObjectType'; - circle?: Maybe; content_type: Scalars['String']['output']; course?: Maybe; evaluate_url: Scalars['String']['output']; @@ -636,7 +635,6 @@ export type MutationUpsertAssignmentCompletionArgs = { export type PerformanceCriteriaObjectType = CoursePageInterface & { __typename?: 'PerformanceCriteriaObjectType'; - circle?: Maybe; competence_id: Scalars['String']['output']; content_type: Scalars['String']['output']; course?: Maybe; @@ -652,7 +650,6 @@ export type Query = { __typename?: 'Query'; assignment?: Maybe; assignment_completion?: Maybe; - circle?: Maybe; competence_certificate?: Maybe; competence_certificate_list?: Maybe; course?: Maybe; @@ -686,12 +683,6 @@ export type QueryAssignmentCompletionArgs = { }; -export type QueryCircleArgs = { - id?: InputMaybe; - slug?: InputMaybe; -}; - - export type QueryCompetenceCertificateArgs = { id?: InputMaybe; slug?: InputMaybe; @@ -738,7 +729,6 @@ export type SendFeedbackMutation = { export type TopicObjectType = CoursePageInterface & { __typename?: 'TopicObjectType'; - circle?: Maybe; circles: Array; content_type: Scalars['String']['output']; course?: Maybe; @@ -855,64 +845,34 @@ export type CompetenceCertificateQueryQuery = { __typename?: 'Query', competence { __typename?: 'CompetenceCertificateListObjectType', competence_certificates: Array<( { __typename?: 'CompetenceCertificateObjectType', assignments: Array<( { __typename?: 'AssignmentObjectType', assignment_type: AssignmentAssignmentAssignmentTypeChoices, max_points?: number | null, completion?: { __typename?: 'AssignmentCompletionObjectType', id: string, completion_status: AssignmentAssignmentCompletionCompletionStatusChoices, submitted_at?: string | null, evaluation_points?: number | null, evaluation_max_points?: number | null, evaluation_passed?: boolean | null } | null, learning_content?: ( - { __typename?: 'LearningContentAssignmentObjectType', circle: ( - { __typename?: 'CircleObjectType' } - & { ' $fragmentRefs'?: { 'CoursePageFieldsCircleObjectTypeFragment': CoursePageFieldsCircleObjectTypeFragment } } - ) } + { __typename?: 'LearningContentAssignmentObjectType', circle?: { __typename?: 'CircleLightObjectType', id: string, title: string, slug: string } | null } & { ' $fragmentRefs'?: { 'CoursePageFieldsLearningContentAssignmentObjectTypeFragment': CoursePageFieldsLearningContentAssignmentObjectTypeFragment } } ) | ( - { __typename?: 'LearningContentAttendanceCourseObjectType', circle: ( - { __typename?: 'CircleObjectType' } - & { ' $fragmentRefs'?: { 'CoursePageFieldsCircleObjectTypeFragment': CoursePageFieldsCircleObjectTypeFragment } } - ) } + { __typename?: 'LearningContentAttendanceCourseObjectType', circle?: { __typename?: 'CircleLightObjectType', id: string, title: string, slug: string } | null } & { ' $fragmentRefs'?: { 'CoursePageFieldsLearningContentAttendanceCourseObjectTypeFragment': CoursePageFieldsLearningContentAttendanceCourseObjectTypeFragment } } ) | ( - { __typename?: 'LearningContentDocumentListObjectType', circle: ( - { __typename?: 'CircleObjectType' } - & { ' $fragmentRefs'?: { 'CoursePageFieldsCircleObjectTypeFragment': CoursePageFieldsCircleObjectTypeFragment } } - ) } + { __typename?: 'LearningContentDocumentListObjectType', circle?: { __typename?: 'CircleLightObjectType', id: string, title: string, slug: string } | null } & { ' $fragmentRefs'?: { 'CoursePageFieldsLearningContentDocumentListObjectTypeFragment': CoursePageFieldsLearningContentDocumentListObjectTypeFragment } } ) | ( - { __typename?: 'LearningContentEdoniqTestObjectType', circle: ( - { __typename?: 'CircleObjectType' } - & { ' $fragmentRefs'?: { 'CoursePageFieldsCircleObjectTypeFragment': CoursePageFieldsCircleObjectTypeFragment } } - ) } + { __typename?: 'LearningContentEdoniqTestObjectType', circle?: { __typename?: 'CircleLightObjectType', id: string, title: string, slug: string } | null } & { ' $fragmentRefs'?: { 'CoursePageFieldsLearningContentEdoniqTestObjectTypeFragment': CoursePageFieldsLearningContentEdoniqTestObjectTypeFragment } } ) | ( - { __typename?: 'LearningContentFeedbackObjectType', circle: ( - { __typename?: 'CircleObjectType' } - & { ' $fragmentRefs'?: { 'CoursePageFieldsCircleObjectTypeFragment': CoursePageFieldsCircleObjectTypeFragment } } - ) } + { __typename?: 'LearningContentFeedbackObjectType', circle?: { __typename?: 'CircleLightObjectType', id: string, title: string, slug: string } | null } & { ' $fragmentRefs'?: { 'CoursePageFieldsLearningContentFeedbackObjectTypeFragment': CoursePageFieldsLearningContentFeedbackObjectTypeFragment } } ) | ( - { __typename?: 'LearningContentLearningModuleObjectType', circle: ( - { __typename?: 'CircleObjectType' } - & { ' $fragmentRefs'?: { 'CoursePageFieldsCircleObjectTypeFragment': CoursePageFieldsCircleObjectTypeFragment } } - ) } + { __typename?: 'LearningContentLearningModuleObjectType', circle?: { __typename?: 'CircleLightObjectType', id: string, title: string, slug: string } | null } & { ' $fragmentRefs'?: { 'CoursePageFieldsLearningContentLearningModuleObjectTypeFragment': CoursePageFieldsLearningContentLearningModuleObjectTypeFragment } } ) | ( - { __typename?: 'LearningContentMediaLibraryObjectType', circle: ( - { __typename?: 'CircleObjectType' } - & { ' $fragmentRefs'?: { 'CoursePageFieldsCircleObjectTypeFragment': CoursePageFieldsCircleObjectTypeFragment } } - ) } + { __typename?: 'LearningContentMediaLibraryObjectType', circle?: { __typename?: 'CircleLightObjectType', id: string, title: string, slug: string } | null } & { ' $fragmentRefs'?: { 'CoursePageFieldsLearningContentMediaLibraryObjectTypeFragment': CoursePageFieldsLearningContentMediaLibraryObjectTypeFragment } } ) | ( - { __typename?: 'LearningContentPlaceholderObjectType', circle: ( - { __typename?: 'CircleObjectType' } - & { ' $fragmentRefs'?: { 'CoursePageFieldsCircleObjectTypeFragment': CoursePageFieldsCircleObjectTypeFragment } } - ) } + { __typename?: 'LearningContentPlaceholderObjectType', circle?: { __typename?: 'CircleLightObjectType', id: string, title: string, slug: string } | null } & { ' $fragmentRefs'?: { 'CoursePageFieldsLearningContentPlaceholderObjectTypeFragment': CoursePageFieldsLearningContentPlaceholderObjectTypeFragment } } ) | ( - { __typename?: 'LearningContentRichTextObjectType', circle: ( - { __typename?: 'CircleObjectType' } - & { ' $fragmentRefs'?: { 'CoursePageFieldsCircleObjectTypeFragment': CoursePageFieldsCircleObjectTypeFragment } } - ) } + { __typename?: 'LearningContentRichTextObjectType', circle?: { __typename?: 'CircleLightObjectType', id: string, title: string, slug: string } | null } & { ' $fragmentRefs'?: { 'CoursePageFieldsLearningContentRichTextObjectTypeFragment': CoursePageFieldsLearningContentRichTextObjectTypeFragment } } ) | ( - { __typename?: 'LearningContentVideoObjectType', circle: ( - { __typename?: 'CircleObjectType' } - & { ' $fragmentRefs'?: { 'CoursePageFieldsCircleObjectTypeFragment': CoursePageFieldsCircleObjectTypeFragment } } - ) } + { __typename?: 'LearningContentVideoObjectType', circle?: { __typename?: 'CircleLightObjectType', id: string, title: string, slug: string } | null } & { ' $fragmentRefs'?: { 'CoursePageFieldsLearningContentVideoObjectTypeFragment': CoursePageFieldsLearningContentVideoObjectTypeFragment } } ) | null } & { ' $fragmentRefs'?: { 'CoursePageFieldsAssignmentObjectTypeFragment': CoursePageFieldsAssignmentObjectTypeFragment } } @@ -927,7 +887,7 @@ export type CourseSessionDetailQueryVariables = Exact<{ }>; -export type CourseSessionDetailQuery = { __typename?: 'Query', course_session?: { __typename?: 'CourseSessionObjectType', id: string, title: string, course: { __typename?: 'CourseObjectType', id: string, title: string, slug: string }, users: Array<{ __typename?: 'CourseSessionUserObjectsType', id: string, user_id: string, first_name: string, last_name: string, email: string, avatar_url: string, role: CourseCourseSessionUserRoleChoices, circles: Array<{ __typename?: 'CourseSessionUserExpertCircleType', id: string, title: string, slug: string }> }>, attendance_courses: Array<{ __typename?: 'CourseSessionAttendanceCourseObjectType', id: string, location: string, trainer: string, learning_content_id?: string | null, due_date?: { __typename?: 'DueDateObjectType', id: string, start?: string | null, end?: string | null } | null, learning_content: { __typename?: 'LearningContentAttendanceCourseObjectType', id: string, title: string, circle: { __typename?: 'CircleObjectType', id: string, title: string, slug: string } } }>, assignments: Array<{ __typename?: 'CourseSessionAssignmentObjectType', id: string, submission_deadline?: { __typename?: 'DueDateObjectType', id: string, start?: string | null } | null, evaluation_deadline?: { __typename?: 'DueDateObjectType', id: string, start?: string | null } | null, learning_content: { __typename?: 'LearningContentAssignmentObjectType', id: string, title: string, content_assignment: { __typename?: 'AssignmentObjectType', id: string, title: string, assignment_type: AssignmentAssignmentAssignmentTypeChoices } } }>, edoniq_tests: Array<{ __typename?: 'CourseSessionEdoniqTestObjectType', id: string, deadline?: { __typename?: 'DueDateObjectType', id: string, start?: string | null, end?: string | null } | null, learning_content: { __typename?: 'LearningContentEdoniqTestObjectType', id: string, title: string, content_assignment?: { __typename?: 'AssignmentObjectType', id: string, title: string, assignment_type: AssignmentAssignmentAssignmentTypeChoices } | null } }> } | null }; +export type CourseSessionDetailQuery = { __typename?: 'Query', course_session?: { __typename?: 'CourseSessionObjectType', id: string, title: string, course: { __typename?: 'CourseObjectType', id: string, title: string, slug: string }, users: Array<{ __typename?: 'CourseSessionUserObjectsType', id: string, user_id: string, first_name: string, last_name: string, email: string, avatar_url: string, role: CourseCourseSessionUserRoleChoices, circles: Array<{ __typename?: 'CourseSessionUserExpertCircleType', id: string, title: string, slug: string }> }>, attendance_courses: Array<{ __typename?: 'CourseSessionAttendanceCourseObjectType', id: string, location: string, trainer: string, learning_content_id?: string | null, due_date?: { __typename?: 'DueDateObjectType', id: string, start?: string | null, end?: string | null } | null, learning_content: { __typename?: 'LearningContentAttendanceCourseObjectType', id: string, title: string, circle?: { __typename?: 'CircleLightObjectType', id: string, title: string, slug: string } | null } }>, assignments: Array<{ __typename?: 'CourseSessionAssignmentObjectType', id: string, submission_deadline?: { __typename?: 'DueDateObjectType', id: string, start?: string | null } | null, evaluation_deadline?: { __typename?: 'DueDateObjectType', id: string, start?: string | null } | null, learning_content: { __typename?: 'LearningContentAssignmentObjectType', id: string, title: string, content_assignment: { __typename?: 'AssignmentObjectType', id: string, title: string, assignment_type: AssignmentAssignmentAssignmentTypeChoices } } }>, edoniq_tests: Array<{ __typename?: 'CourseSessionEdoniqTestObjectType', id: string, deadline?: { __typename?: 'DueDateObjectType', id: string, start?: string | null, end?: string | null } | null, learning_content: { __typename?: 'LearningContentEdoniqTestObjectType', id: string, title: string, content_assignment?: { __typename?: 'AssignmentObjectType', id: string, title: string, assignment_type: AssignmentAssignmentAssignmentTypeChoices } | null } }> } | null }; export type LearningPathQueryQueryVariables = Exact<{ slug: Scalars['String']['input']; @@ -1005,7 +965,7 @@ export const AttendanceCheckMutationDocument = {"kind":"Document","definitions": export const UpsertAssignmentCompletionDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"UpsertAssignmentCompletion"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"assignmentId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"courseSessionId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"learningContentId"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"assignmentUserId"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"completionStatus"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"AssignmentCompletionStatus"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"completionDataString"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"evaluationPoints"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Float"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"initializeCompletion"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"upsert_assignment_completion"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"assignment_id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"assignmentId"}}},{"kind":"Argument","name":{"kind":"Name","value":"course_session_id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"courseSessionId"}}},{"kind":"Argument","name":{"kind":"Name","value":"learning_content_page_id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"learningContentId"}}},{"kind":"Argument","name":{"kind":"Name","value":"assignment_user_id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"assignmentUserId"}}},{"kind":"Argument","name":{"kind":"Name","value":"completion_status"},"value":{"kind":"Variable","name":{"kind":"Name","value":"completionStatus"}}},{"kind":"Argument","name":{"kind":"Name","value":"completion_data_string"},"value":{"kind":"Variable","name":{"kind":"Name","value":"completionDataString"}}},{"kind":"Argument","name":{"kind":"Name","value":"evaluation_points"},"value":{"kind":"Variable","name":{"kind":"Name","value":"evaluationPoints"}}},{"kind":"Argument","name":{"kind":"Name","value":"initialize_completion"},"value":{"kind":"Variable","name":{"kind":"Name","value":"initializeCompletion"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"assignment_completion"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"completion_status"}},{"kind":"Field","name":{"kind":"Name","value":"submitted_at"}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_submitted_at"}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_points"}},{"kind":"Field","name":{"kind":"Name","value":"completion_data"}},{"kind":"Field","name":{"kind":"Name","value":"task_completion_data"}}]}}]}}]}}]} as unknown as DocumentNode; export const AttendanceCheckQueryDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"attendanceCheckQuery"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"courseSessionId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"course_session_attendance_course"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"courseSessionId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"attendance_user_list"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"user_id"}},{"kind":"Field","name":{"kind":"Name","value":"status"}}]}}]}}]}}]} as unknown as DocumentNode; export const AssignmentCompletionQueryDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"assignmentCompletionQuery"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"assignmentId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"courseSessionId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"learningContentId"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"assignmentUserId"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"UUID"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"assignment"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"assignmentId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"assignment_type"}},{"kind":"Field","name":{"kind":"Name","value":"needs_expert_evaluation"}},{"kind":"Field","name":{"kind":"Name","value":"max_points"}},{"kind":"Field","name":{"kind":"Name","value":"content_type"}},{"kind":"Field","name":{"kind":"Name","value":"effort_required"}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_description"}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_document_url"}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_tasks"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"intro_text"}},{"kind":"Field","name":{"kind":"Name","value":"performance_objectives"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"tasks"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"translation_key"}},{"kind":"Field","name":{"kind":"Name","value":"competence_certificate"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"assignment_completion"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"assignment_id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"assignmentId"}}},{"kind":"Argument","name":{"kind":"Name","value":"course_session_id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"courseSessionId"}}},{"kind":"Argument","name":{"kind":"Name","value":"assignment_user_id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"assignmentUserId"}}},{"kind":"Argument","name":{"kind":"Name","value":"learning_content_page_id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"learningContentId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"completion_status"}},{"kind":"Field","name":{"kind":"Name","value":"submitted_at"}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_submitted_at"}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_user"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"assignment_user"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_points"}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_max_points"}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_passed"}},{"kind":"Field","name":{"kind":"Name","value":"edoniq_extended_time_flag"}},{"kind":"Field","name":{"kind":"Name","value":"completion_data"}},{"kind":"Field","name":{"kind":"Name","value":"task_completion_data"}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CoursePageFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CoursePageInterface"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"content_type"}},{"kind":"Field","name":{"kind":"Name","value":"frontend_url"}}]}}]} as unknown as DocumentNode; -export const CompetenceCertificateQueryDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"competenceCertificateQuery"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"courseSlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"courseSessionId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"competence_certificate_list"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"course_slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"courseSlug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}},{"kind":"Field","name":{"kind":"Name","value":"competence_certificates"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}},{"kind":"Field","name":{"kind":"Name","value":"assignments"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}},{"kind":"Field","name":{"kind":"Name","value":"assignment_type"}},{"kind":"Field","name":{"kind":"Name","value":"max_points"}},{"kind":"Field","name":{"kind":"Name","value":"completion"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"course_session_id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"courseSessionId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"completion_status"}},{"kind":"Field","name":{"kind":"Name","value":"submitted_at"}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_points"}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_max_points"}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_passed"}}]}},{"kind":"Field","name":{"kind":"Name","value":"learning_content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}},{"kind":"Field","name":{"kind":"Name","value":"circle"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}}]}}]}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CoursePageFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CoursePageInterface"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"content_type"}},{"kind":"Field","name":{"kind":"Name","value":"frontend_url"}}]}}]} as unknown as DocumentNode; +export const CompetenceCertificateQueryDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"competenceCertificateQuery"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"courseSlug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"courseSessionId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"competence_certificate_list"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"course_slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"courseSlug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}},{"kind":"Field","name":{"kind":"Name","value":"competence_certificates"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}},{"kind":"Field","name":{"kind":"Name","value":"assignments"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}},{"kind":"Field","name":{"kind":"Name","value":"assignment_type"}},{"kind":"Field","name":{"kind":"Name","value":"max_points"}},{"kind":"Field","name":{"kind":"Name","value":"completion"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"course_session_id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"courseSessionId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"completion_status"}},{"kind":"Field","name":{"kind":"Name","value":"submitted_at"}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_points"}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_max_points"}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_passed"}}]}},{"kind":"Field","name":{"kind":"Name","value":"learning_content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}},{"kind":"Field","name":{"kind":"Name","value":"circle"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}}]}}]}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CoursePageFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CoursePageInterface"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"content_type"}},{"kind":"Field","name":{"kind":"Name","value":"frontend_url"}}]}}]} as unknown as DocumentNode; export const CourseSessionDetailDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"courseSessionDetail"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"courseSessionId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"course_session"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"courseSessionId"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"course"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}}]}},{"kind":"Field","name":{"kind":"Name","value":"users"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"user_id"}},{"kind":"Field","name":{"kind":"Name","value":"first_name"}},{"kind":"Field","name":{"kind":"Name","value":"last_name"}},{"kind":"Field","name":{"kind":"Name","value":"email"}},{"kind":"Field","name":{"kind":"Name","value":"avatar_url"}},{"kind":"Field","name":{"kind":"Name","value":"role"}},{"kind":"Field","name":{"kind":"Name","value":"circles"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"attendance_courses"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"location"}},{"kind":"Field","name":{"kind":"Name","value":"trainer"}},{"kind":"Field","name":{"kind":"Name","value":"due_date"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"start"}},{"kind":"Field","name":{"kind":"Name","value":"end"}}]}},{"kind":"Field","name":{"kind":"Name","value":"learning_content_id"}},{"kind":"Field","name":{"kind":"Name","value":"learning_content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"circle"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"assignments"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"submission_deadline"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"start"}}]}},{"kind":"Field","name":{"kind":"Name","value":"evaluation_deadline"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"start"}}]}},{"kind":"Field","name":{"kind":"Name","value":"learning_content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"content_assignment"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"assignment_type"}}]}}]}}]}},{"kind":"Field","name":{"kind":"Name","value":"edoniq_tests"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"deadline"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"start"}},{"kind":"Field","name":{"kind":"Name","value":"end"}}]}},{"kind":"Field","name":{"kind":"Name","value":"learning_content"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"content_assignment"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"assignment_type"}}]}}]}}]}}]}}]}}]} as unknown as DocumentNode; export const LearningPathQueryDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","name":{"kind":"Name","value":"learningPathQuery"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"slug"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"String"}}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"learning_path"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"slug"},"value":{"kind":"Variable","name":{"kind":"Name","value":"slug"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}},{"kind":"Field","name":{"kind":"Name","value":"topics"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"is_visible"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}},{"kind":"Field","name":{"kind":"Name","value":"circles"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"description"}},{"kind":"Field","name":{"kind":"Name","value":"goals"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}},{"kind":"Field","name":{"kind":"Name","value":"learning_sequences"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"icon"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}},{"kind":"Field","name":{"kind":"Name","value":"learning_units"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"evaluate_url"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}},{"kind":"Field","name":{"kind":"Name","value":"performance_criteria"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}}]}},{"kind":"Field","name":{"kind":"Name","value":"learning_contents"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"can_user_self_toggle_course_completion"}},{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LearningContentAssignmentObjectType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"assignment_type"}},{"kind":"Field","name":{"kind":"Name","value":"content_assignment"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}}]}},{"kind":"Field","name":{"kind":"Name","value":"competence_certificate"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}}]}}]}},{"kind":"InlineFragment","typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"LearningContentEdoniqTestObjectType"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"checkbox_text"}},{"kind":"Field","name":{"kind":"Name","value":"competence_certificate"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"FragmentSpread","name":{"kind":"Name","value":"CoursePageFields"}}]}}]}}]}}]}}]}}]}}]}}]}}]}},{"kind":"FragmentDefinition","name":{"kind":"Name","value":"CoursePageFields"},"typeCondition":{"kind":"NamedType","name":{"kind":"Name","value":"CoursePageInterface"}},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"title"}},{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"slug"}},{"kind":"Field","name":{"kind":"Name","value":"content_type"}},{"kind":"Field","name":{"kind":"Name","value":"frontend_url"}}]}}]} as unknown as DocumentNode; export const SendFeedbackMutationDocument = {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"mutation","name":{"kind":"Name","value":"SendFeedbackMutation"},"variableDefinitions":[{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"courseSessionId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"learningContentId"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"ID"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"data"}},"type":{"kind":"NonNullType","type":{"kind":"NamedType","name":{"kind":"Name","value":"GenericScalar"}}}},{"kind":"VariableDefinition","variable":{"kind":"Variable","name":{"kind":"Name","value":"submitted"}},"type":{"kind":"NamedType","name":{"kind":"Name","value":"Boolean"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"send_feedback"},"arguments":[{"kind":"Argument","name":{"kind":"Name","value":"course_session_id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"courseSessionId"}}},{"kind":"Argument","name":{"kind":"Name","value":"learning_content_page_id"},"value":{"kind":"Variable","name":{"kind":"Name","value":"learningContentId"}}},{"kind":"Argument","name":{"kind":"Name","value":"data"},"value":{"kind":"Variable","name":{"kind":"Name","value":"data"}}},{"kind":"Argument","name":{"kind":"Name","value":"submitted"},"value":{"kind":"Variable","name":{"kind":"Name","value":"submitted"}}}],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"feedback_response"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"id"}},{"kind":"Field","name":{"kind":"Name","value":"data"}},{"kind":"Field","name":{"kind":"Name","value":"submitted"}}]}},{"kind":"Field","name":{"kind":"Name","value":"errors"},"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"field"}},{"kind":"Field","name":{"kind":"Name","value":"messages"}}]}}]}}]}}]} as unknown as DocumentNode; \ No newline at end of file diff --git a/client/src/gql/schema.graphql b/client/src/gql/schema.graphql index 4994e383..b0365d00 100644 --- a/client/src/gql/schema.graphql +++ b/client/src/gql/schema.graphql @@ -1,6 +1,5 @@ type Query { learning_path(id: ID, slug: String, course_id: ID, course_slug: String): LearningPathObjectType - circle(id: ID, slug: String): CircleObjectType learning_content_media_library: LearningContentMediaLibraryObjectType learning_content_assignment: LearningContentAssignmentObjectType learning_content_attendance_course: LearningContentAttendanceCourseObjectType @@ -28,7 +27,6 @@ type LearningPathObjectType implements CoursePageInterface { live: Boolean! translation_key: String! frontend_url: String! - circle: CircleObjectType course: CourseObjectType topics: [TopicObjectType!]! } @@ -41,10 +39,29 @@ interface CoursePageInterface { live: Boolean! translation_key: String! frontend_url: String! - circle: CircleObjectType course: CourseObjectType } +type CourseObjectType { + id: ID! + title: String! + category_name: String! + slug: String! +} + +type TopicObjectType implements CoursePageInterface { + is_visible: Boolean! + id: ID! + title: String! + slug: String! + content_type: String! + live: Boolean! + translation_key: String! + frontend_url: String! + course: CourseObjectType + circles: [CircleObjectType!]! +} + type CircleObjectType implements CoursePageInterface { description: String! goals: String! @@ -55,18 +72,10 @@ type CircleObjectType implements CoursePageInterface { live: Boolean! translation_key: String! frontend_url: String! - circle: CircleObjectType course: CourseObjectType learning_sequences: [LearningSequenceObjectType!]! } -type CourseObjectType { - id: ID! - title: String! - category_name: String! - slug: String! -} - type LearningSequenceObjectType implements CoursePageInterface { icon: String! id: ID! @@ -76,7 +85,6 @@ type LearningSequenceObjectType implements CoursePageInterface { live: Boolean! translation_key: String! frontend_url: String! - circle: CircleObjectType course: CourseObjectType learning_units: [LearningUnitObjectType!]! } @@ -90,7 +98,6 @@ type LearningUnitObjectType implements CoursePageInterface { live: Boolean! translation_key: String! frontend_url: String! - circle: CircleObjectType course: CourseObjectType learning_contents: [LearningContentInterface!]! performance_criteria: [PerformanceCriteriaObjectType!]! @@ -105,12 +112,18 @@ interface LearningContentInterface { live: Boolean! translation_key: String! frontend_url: String! - circle: CircleObjectType! course: CourseObjectType minutes: Int description: String! content_url: String! can_user_self_toggle_course_completion: Boolean! + circle: CircleLightObjectType +} + +type CircleLightObjectType { + id: ID! + title: String! + slug: String! } type PerformanceCriteriaObjectType implements CoursePageInterface { @@ -122,24 +135,9 @@ type PerformanceCriteriaObjectType implements CoursePageInterface { live: Boolean! translation_key: String! frontend_url: String! - circle: CircleObjectType course: CourseObjectType } -type TopicObjectType implements CoursePageInterface { - is_visible: Boolean! - id: ID! - title: String! - slug: String! - content_type: String! - live: Boolean! - translation_key: String! - frontend_url: String! - circle: CircleObjectType - course: CourseObjectType - circles: [CircleObjectType!]! -} - type LearningContentMediaLibraryObjectType implements CoursePageInterface & LearningContentInterface { id: ID! title: String! @@ -148,12 +146,12 @@ type LearningContentMediaLibraryObjectType implements CoursePageInterface & Lear live: Boolean! translation_key: String! frontend_url: String! - circle: CircleObjectType! course: CourseObjectType minutes: Int description: String! content_url: String! can_user_self_toggle_course_completion: Boolean! + circle: CircleLightObjectType } type LearningContentAssignmentObjectType implements CoursePageInterface & LearningContentInterface { @@ -166,12 +164,12 @@ type LearningContentAssignmentObjectType implements CoursePageInterface & Learni live: Boolean! translation_key: String! frontend_url: String! - circle: CircleObjectType! course: CourseObjectType minutes: Int description: String! content_url: String! can_user_self_toggle_course_completion: Boolean! + circle: CircleLightObjectType competence_certificate: CompetenceCertificateObjectType } @@ -202,7 +200,6 @@ type AssignmentObjectType implements CoursePageInterface { live: Boolean! translation_key: String! frontend_url: String! - circle: CircleObjectType course: CourseObjectType tasks: JSONStreamField evaluation_tasks: JSONStreamField @@ -238,7 +235,6 @@ type CompetenceCertificateObjectType implements CoursePageInterface { live: Boolean! translation_key: String! frontend_url: String! - circle: CircleObjectType course: CourseObjectType assignments: [AssignmentObjectType!]! } @@ -344,12 +340,12 @@ type LearningContentAttendanceCourseObjectType implements CoursePageInterface & live: Boolean! translation_key: String! frontend_url: String! - circle: CircleObjectType! course: CourseObjectType minutes: Int description: String! content_url: String! can_user_self_toggle_course_completion: Boolean! + circle: CircleLightObjectType } type DueDateObjectType { @@ -426,12 +422,12 @@ type LearningContentEdoniqTestObjectType implements CoursePageInterface & Learni live: Boolean! translation_key: String! frontend_url: String! - circle: CircleObjectType! course: CourseObjectType minutes: Int description: String! content_url: String! can_user_self_toggle_course_completion: Boolean! + circle: CircleLightObjectType competence_certificate: CompetenceCertificateObjectType } @@ -520,12 +516,12 @@ type LearningContentFeedbackObjectType implements CoursePageInterface & Learning live: Boolean! translation_key: String! frontend_url: String! - circle: CircleObjectType! course: CourseObjectType minutes: Int description: String! content_url: String! can_user_self_toggle_course_completion: Boolean! + circle: CircleLightObjectType } type LearningContentLearningModuleObjectType implements CoursePageInterface & LearningContentInterface { @@ -536,12 +532,12 @@ type LearningContentLearningModuleObjectType implements CoursePageInterface & Le live: Boolean! translation_key: String! frontend_url: String! - circle: CircleObjectType! course: CourseObjectType minutes: Int description: String! content_url: String! can_user_self_toggle_course_completion: Boolean! + circle: CircleLightObjectType } type LearningContentPlaceholderObjectType implements CoursePageInterface & LearningContentInterface { @@ -552,12 +548,12 @@ type LearningContentPlaceholderObjectType implements CoursePageInterface & Learn live: Boolean! translation_key: String! frontend_url: String! - circle: CircleObjectType! course: CourseObjectType minutes: Int description: String! content_url: String! can_user_self_toggle_course_completion: Boolean! + circle: CircleLightObjectType } type LearningContentRichTextObjectType implements CoursePageInterface & LearningContentInterface { @@ -568,12 +564,12 @@ type LearningContentRichTextObjectType implements CoursePageInterface & Learning live: Boolean! translation_key: String! frontend_url: String! - circle: CircleObjectType! course: CourseObjectType minutes: Int description: String! content_url: String! can_user_self_toggle_course_completion: Boolean! + circle: CircleLightObjectType } type LearningContentVideoObjectType implements CoursePageInterface & LearningContentInterface { @@ -584,12 +580,12 @@ type LearningContentVideoObjectType implements CoursePageInterface & LearningCon live: Boolean! translation_key: String! frontend_url: String! - circle: CircleObjectType! course: CourseObjectType minutes: Int description: String! content_url: String! can_user_self_toggle_course_completion: Boolean! + circle: CircleLightObjectType } type LearningContentDocumentListObjectType implements CoursePageInterface & LearningContentInterface { @@ -600,12 +596,12 @@ type LearningContentDocumentListObjectType implements CoursePageInterface & Lear live: Boolean! translation_key: String! frontend_url: String! - circle: CircleObjectType! course: CourseObjectType minutes: Int description: String! content_url: String! can_user_self_toggle_course_completion: Boolean! + circle: CircleLightObjectType } type CompetenceCertificateListObjectType implements CoursePageInterface { @@ -616,7 +612,6 @@ type CompetenceCertificateListObjectType implements CoursePageInterface { live: Boolean! translation_key: String! frontend_url: String! - circle: CircleObjectType course: CourseObjectType competence_certificates: [CompetenceCertificateObjectType!]! } diff --git a/client/src/gql/typenames.ts b/client/src/gql/typenames.ts index cf5ec207..d5fe093e 100644 --- a/client/src/gql/typenames.ts +++ b/client/src/gql/typenames.ts @@ -9,6 +9,7 @@ export const AttendanceUserInputType = "AttendanceUserInputType"; export const AttendanceUserObjectType = "AttendanceUserObjectType"; export const AttendanceUserStatus = "AttendanceUserStatus"; export const Boolean = "Boolean"; +export const CircleLightObjectType = "CircleLightObjectType"; export const CircleObjectType = "CircleObjectType"; export const CompetenceCertificateListObjectType = "CompetenceCertificateListObjectType"; export const CompetenceCertificateObjectType = "CompetenceCertificateObjectType"; diff --git a/client/src/graphql/queries.ts b/client/src/graphql/queries.ts index d98bea91..463906c6 100644 --- a/client/src/graphql/queries.ts +++ b/client/src/graphql/queries.ts @@ -97,7 +97,9 @@ export const COMPETENCE_NAVI_CERTIFICATE_QUERY = graphql(` learning_content { ...CoursePageFields circle { - ...CoursePageFields + id + title + slug } } } diff --git a/client/src/pages/AppointmentsPage.vue b/client/src/pages/AppointmentsPage.vue index 6d82d0ac..69403cfd 100644 --- a/client/src/pages/AppointmentsPage.vue +++ b/client/src/pages/AppointmentsPage.vue @@ -1,17 +1,16 @@ @@ -46,7 +42,7 @@ const learningContentAssignment = computed(() => { diff --git a/client/src/pages/cockpit/attendanceCheckPage/AttendanceCheckPage.vue b/client/src/pages/cockpit/attendanceCheckPage/AttendanceCheckPage.vue index 518484b7..502c67b4 100644 --- a/client/src/pages/cockpit/attendanceCheckPage/AttendanceCheckPage.vue +++ b/client/src/pages/cockpit/attendanceCheckPage/AttendanceCheckPage.vue @@ -32,7 +32,7 @@ const presenceCoursesDropdownOptions = computed(() => { ({ id: attendanceCourse.id, name: `${t("Präsenzkurs")} ${ - attendanceCourse.learning_content.circle.title + attendanceCourse.learning_content.circle?.title } ${dayjs(attendanceCourse.due_date?.start).format("DD.MM.YYYY")}`, } as DropdownSelectable) ); diff --git a/client/src/pages/cockpit/cockpitPage/AssignmentSubmissionProgress.vue b/client/src/pages/cockpit/cockpitPage/AssignmentSubmissionProgress.vue index 66674d63..6f450b83 100644 --- a/client/src/pages/cockpit/cockpitPage/AssignmentSubmissionProgress.vue +++ b/client/src/pages/cockpit/cockpitPage/AssignmentSubmissionProgress.vue @@ -9,6 +9,7 @@ import type { } from "@/types"; import log from "loglevel"; import { onMounted, reactive } from "vue"; +import { stringifyParse } from "@/utils/utils"; const props = defineProps<{ courseSession: CourseSession; @@ -16,10 +17,7 @@ const props = defineProps<{ showTitle: boolean; }>(); -log.debug( - "AssignmentSubmissionProgress created", - props.learningContentAssignment.content_assignment_id -); +log.debug("AssignmentSubmissionProgress created", stringifyParse(props)); const state = reactive({ statusByUser: [] as { @@ -34,7 +32,7 @@ const state = reactive({ onMounted(async () => { const { assignmentSubmittedUsers, gradedUsers, total } = await loadAssignmentCompletionStatusData( - props.learningContentAssignment.content_assignment_id, + props.learningContentAssignment.content_assignment.id, props.courseSession.id, props.learningContentAssignment.id ); diff --git a/client/src/pages/cockpit/cockpitPage/CockpitPage.vue b/client/src/pages/cockpit/cockpitPage/CockpitPage.vue index f8b1188a..670ec072 100644 --- a/client/src/pages/cockpit/cockpitPage/CockpitPage.vue +++ b/client/src/pages/cockpit/cockpitPage/CockpitPage.vue @@ -1,13 +1,11 @@