From 41ae32642e731a4b71dc397f95726939b037d702 Mon Sep 17 00:00:00 2001 From: Christian Cueni Date: Tue, 20 Feb 2024 07:47:34 +0000 Subject: [PATCH] Revert "Circle Seite Inhaltstyp Einheit (pull request #290)" --- .../components/circle/CompletionStatus.vue | 32 ---- .../circlePage/LearningSequence.vue | 139 +++++++++++------- client/src/services/circle.ts | 31 ++-- ...icon-lc-competence-certificate-checked.svg | 23 ++- 4 files changed, 117 insertions(+), 108 deletions(-) delete mode 100644 client/src/components/circle/CompletionStatus.vue diff --git a/client/src/components/circle/CompletionStatus.vue b/client/src/components/circle/CompletionStatus.vue deleted file mode 100644 index d71587f9..00000000 --- a/client/src/components/circle/CompletionStatus.vue +++ /dev/null @@ -1,32 +0,0 @@ - - - diff --git a/client/src/pages/learningPath/circlePage/LearningSequence.vue b/client/src/pages/learningPath/circlePage/LearningSequence.vue index 304cbd3c..2457c591 100644 --- a/client/src/pages/learningPath/circlePage/LearningSequence.vue +++ b/client/src/pages/learningPath/circlePage/LearningSequence.vue @@ -4,24 +4,28 @@ import { showIcon } from "@/pages/learningPath/circlePage/learningSequenceUtils" import { useCircleStore } from "@/stores/circle"; import type { CircleType, + CourseCompletionStatus, LearningContent, LearningContentAssignment, LearningContentEdoniqTest, + LearningContentWithCompletion, LearningSequence, } from "@/types"; import type { Ref } from "vue"; import { computed } from "vue"; - +import { + itCheckboxDefaultIconCheckedTailwindClass, + itCheckboxDefaultIconUncheckedTailwindClass, +} from "@/constants"; +import ItCheckbox from "@/components/ui/ItCheckbox.vue"; import { allFinishedInLearningSequence, + calcSelfEvaluationStatus, circleFlatLearningContents, - performanceCriteriaHasStatus, - performanceCriteriaStatusCount, someFinishedInLearningSequence, } from "@/services/circle"; - +import { useCourseDataWithCompletion } from "@/composables"; import { findLastIndex } from "lodash"; -import CompletionStatus from "@/components/circle/CompletionStatus.vue"; type Props = { courseSlug: string; @@ -37,6 +41,16 @@ const props = withDefaults(defineProps(), { const circleStore = useCircleStore(); +const lpQueryResult = useCourseDataWithCompletion(props.courseSlug); + +function toggleCompleted(learningContent: LearningContentWithCompletion) { + let completionStatus: CourseCompletionStatus = "SUCCESS"; + if (learningContent.completion_status === "SUCCESS") { + completionStatus = "FAIL"; + } + lpQueryResult.markCompletion(learningContent, completionStatus); +} + const someFinished = computed(() => { if (props.learningSequence) { return someFinishedInLearningSequence(props.learningSequence); @@ -102,6 +116,20 @@ function belongsToCompetenceCertificate(lc: LearningContent) { type LearninContentWithCompetenceCertificate = | LearningContentAssignment | LearningContentEdoniqTest; + +function checkboxIconCheckedTailwindClass(lc: LearningContent) { + if (belongsToCompetenceCertificate(lc)) { + return "bg-[url(/static/icons/icon-lc-competence-certificate-checked.svg)]"; + } + return itCheckboxDefaultIconCheckedTailwindClass; +} + +function checkboxIconUncheckedTailwindClass(lc: LearningContent) { + if (belongsToCompetenceCertificate(lc)) { + return "bg-[url(/static/icons/icon-lc-competence-certificate.svg)]"; + } + return itCheckboxDefaultIconUncheckedTailwindClass; +}