User status only for selected circle
This commit is contained in:
parent
4ba12cbec8
commit
d673f2fdc9
|
|
@ -8,7 +8,6 @@ import SubmissionsOverview from "@/pages/cockpit/cockpitPage/SubmissionsOverview
|
|||
import { useCockpitStore } from "@/stores/cockpit";
|
||||
import { useCompetenceStore } from "@/stores/competence";
|
||||
import { useLearningPathStore } from "@/stores/learningPath";
|
||||
import groupBy from "lodash/groupBy";
|
||||
import log from "loglevel";
|
||||
import CockpitDates from "@/pages/cockpit/cockpitPage/CockpitDates.vue";
|
||||
import ItDropdownSelect from "@/components/ui/ItDropdownSelect.vue";
|
||||
|
|
@ -24,13 +23,13 @@ const competenceStore = useCompetenceStore();
|
|||
const learningPathStore = useLearningPathStore();
|
||||
const courseSession = useCurrentCourseSession();
|
||||
|
||||
function userCountStatusForCircle(userId: string, translationKey: string) {
|
||||
function userCountStatusForCircle(userId: string) {
|
||||
if (!cockpitStore.selectedCircle) return { FAIL: 0, SUCCESS: 0, UNKNOWN: 0 };
|
||||
const criteria = competenceStore.flatPerformanceCriteria(userId, [
|
||||
cockpitStore.selectedCircle.translation_key,
|
||||
]);
|
||||
const grouped = groupBy(criteria, "circle.translation_key");
|
||||
return competenceStore.calcStatusCount(grouped[translationKey] as []);
|
||||
const criteria = competenceStore.flatPerformanceCriteria(
|
||||
userId,
|
||||
cockpitStore.selectedCircle.id
|
||||
);
|
||||
return competenceStore.calcStatusCount(criteria);
|
||||
}
|
||||
</script>
|
||||
|
||||
|
|
@ -127,11 +126,9 @@ function userCountStatusForCircle(userId: string, translationKey: string) {
|
|||
csu.user_id
|
||||
) as LearningPath
|
||||
"
|
||||
:profile-user-id="`${csu.user_id}`"
|
||||
:show-circle-translation-keys="[
|
||||
cockpitStore.selectedCircle.translation_key,
|
||||
]"
|
||||
:pull-up="false"
|
||||
diagram-type="singleSmall"
|
||||
class="mr-4"
|
||||
></LearningPathDiagram>
|
||||
|
|
@ -144,12 +141,7 @@ function userCountStatusForCircle(userId: string, translationKey: string) {
|
|||
class="mr-2 inline-block h-8 w-8"
|
||||
></it-icon-smiley-thinking>
|
||||
<p class="text-bold inline-block w-6">
|
||||
{{
|
||||
userCountStatusForCircle(
|
||||
csu.user_id,
|
||||
cockpitStore.selectedCircle.translation_key
|
||||
).FAIL
|
||||
}}
|
||||
{{ userCountStatusForCircle(csu.user_id).FAIL }}
|
||||
</p>
|
||||
</div>
|
||||
<li class="mr-6 flex flex-row items-center">
|
||||
|
|
@ -157,12 +149,7 @@ function userCountStatusForCircle(userId: string, translationKey: string) {
|
|||
class="mr-2 inline-block h-8 w-8"
|
||||
></it-icon-smiley-happy>
|
||||
<p class="text-bold inline-block w-6">
|
||||
{{
|
||||
userCountStatusForCircle(
|
||||
csu.user_id,
|
||||
cockpitStore.selectedCircle.translation_key
|
||||
).SUCCESS
|
||||
}}
|
||||
{{ userCountStatusForCircle(csu.user_id).SUCCESS }}
|
||||
</p>
|
||||
</li>
|
||||
<li class="flex flex-row items-center">
|
||||
|
|
@ -170,12 +157,7 @@ function userCountStatusForCircle(userId: string, translationKey: string) {
|
|||
class="mr-2 inline-block h-8 w-8"
|
||||
></it-icon-smiley-neutral>
|
||||
<p class="text-bold inline-block w-6">
|
||||
{{
|
||||
userCountStatusForCircle(
|
||||
csu.user_id,
|
||||
cockpitStore.selectedCircle.translation_key
|
||||
).UNKNOWN
|
||||
}}
|
||||
{{ userCountStatusForCircle(csu.user_id).UNKNOWN }}
|
||||
</p>
|
||||
</li>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ export const useCompetenceStore = defineStore({
|
|||
},
|
||||
flatPerformanceCriteria(
|
||||
userId: string | undefined = undefined,
|
||||
circleTranslationKeys: string[] | undefined = undefined
|
||||
circleId: number | undefined = undefined
|
||||
) {
|
||||
if (!userId) {
|
||||
const userStore = useUserStore();
|
||||
|
|
@ -94,10 +94,8 @@ export const useCompetenceStore = defineStore({
|
|||
);
|
||||
}
|
||||
|
||||
if (circleTranslationKeys) {
|
||||
criteria = criteria.filter((c) =>
|
||||
circleTranslationKeys.includes(c.circle.translation_key)
|
||||
);
|
||||
if (circleId) {
|
||||
criteria = criteria.filter((c) => circleId === c.circle.id);
|
||||
}
|
||||
|
||||
return criteria;
|
||||
|
|
|
|||
Loading…
Reference in New Issue