Merge pull request #286 from SELab-2/extra/discussions
extra: Discussions optimalisaties
This commit is contained in:
commit
8905182f78
3 changed files with 46 additions and 34 deletions
|
@ -4,6 +4,7 @@
|
||||||
import { useLearningObjectListForPathQuery } from "@/queries/learning-objects";
|
import { useLearningObjectListForPathQuery } from "@/queries/learning-objects";
|
||||||
import { useRoute } from "vue-router";
|
import { useRoute } from "vue-router";
|
||||||
import UsingQueryResult from "@/components/UsingQueryResult.vue";
|
import UsingQueryResult from "@/components/UsingQueryResult.vue";
|
||||||
|
import QuestionNotification from "@/components/QuestionNotification.vue";
|
||||||
|
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
|
|
||||||
|
@ -11,38 +12,34 @@
|
||||||
path: LearningPath;
|
path: LearningPath;
|
||||||
activeObjectId: string;
|
activeObjectId: string;
|
||||||
}>();
|
}>();
|
||||||
|
|
||||||
|
const learningObjects = useLearningObjectListForPathQuery(props.path);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<v-expansion-panel :value="props.path.hruid">
|
<using-query-result
|
||||||
<v-expansion-panel-title>
|
:query-result="learningObjects"
|
||||||
{{ path.title }}
|
v-slot="learningObjects: { data: LearningObject[] }"
|
||||||
</v-expansion-panel-title>
|
>
|
||||||
<v-expansion-panel-text>
|
<template
|
||||||
<v-lazy>
|
v-for="node in learningObjects.data"
|
||||||
<using-query-result
|
:key="node.key"
|
||||||
:query-result="useLearningObjectListForPathQuery(props.path)"
|
>
|
||||||
v-slot="learningObjects: { data: LearningObject[] }"
|
<v-list-item
|
||||||
>
|
link
|
||||||
<template
|
:to="{
|
||||||
v-for="node in learningObjects.data"
|
path: `/discussion-reload/${props.path.hruid}/${node.language}/${node.key}`,
|
||||||
:key="node.key"
|
query: route.query,
|
||||||
>
|
}"
|
||||||
<v-list-item
|
:title="node.title"
|
||||||
link
|
:active="node.key === props.activeObjectId"
|
||||||
:to="{
|
>
|
||||||
path: `/discussion-reload/${props.path.hruid}/${node.language}/${node.key}`,
|
<template v-slot:append>
|
||||||
query: route.query,
|
<QuestionNotification :node="node"></QuestionNotification>
|
||||||
}"
|
</template>
|
||||||
:title="node.title"
|
</v-list-item>
|
||||||
:active="node.key === props.activeObjectId"
|
</template>
|
||||||
>
|
</using-query-result>
|
||||||
</v-list-item>
|
|
||||||
</template>
|
|
||||||
</using-query-result>
|
|
||||||
</v-lazy>
|
|
||||||
</v-expansion-panel-text>
|
|
||||||
</v-expansion-panel>
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped></style>
|
<style scoped></style>
|
||||||
|
|
|
@ -10,6 +10,10 @@
|
||||||
const { t, locale } = useI18n();
|
const { t, locale } = useI18n();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
|
|
||||||
|
const props = defineProps<{
|
||||||
|
learningObjectHruid: string;
|
||||||
|
}>();
|
||||||
|
|
||||||
const navigationDrawerShown = ref(true);
|
const navigationDrawerShown = ref(true);
|
||||||
const currentLocale = ref(locale.value);
|
const currentLocale = ref(locale.value);
|
||||||
const expanded = ref([route.params.hruid]);
|
const expanded = ref([route.params.hruid]);
|
||||||
|
@ -40,12 +44,23 @@
|
||||||
:query-result="allLearningPathsResult"
|
:query-result="allLearningPathsResult"
|
||||||
v-slot="learningPaths: { data: LearningPath[] }"
|
v-slot="learningPaths: { data: LearningPath[] }"
|
||||||
>
|
>
|
||||||
<DiscussionSideBarElement
|
<v-expansion-panel
|
||||||
v-for="learningPath in learningPaths.data"
|
v-for="learningPath in learningPaths.data"
|
||||||
:path="learningPath"
|
|
||||||
:activeObjectId="'' as string"
|
|
||||||
:key="learningPath.hruid"
|
:key="learningPath.hruid"
|
||||||
/>
|
:value="learningPath.hruid"
|
||||||
|
>
|
||||||
|
<v-expansion-panel-title>
|
||||||
|
{{ learningPath.title }}
|
||||||
|
</v-expansion-panel-title>
|
||||||
|
<v-expansion-panel-text>
|
||||||
|
<v-lazy>
|
||||||
|
<DiscussionSideBarElement
|
||||||
|
:path="learningPath"
|
||||||
|
:activeObjectId="props.learningObjectHruid"
|
||||||
|
/>
|
||||||
|
</v-lazy>
|
||||||
|
</v-expansion-panel-text>
|
||||||
|
</v-expansion-panel>
|
||||||
</using-query-result>
|
</using-query-result>
|
||||||
</v-expansion-panels>
|
</v-expansion-panels>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -75,7 +75,7 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<DiscussionsSideBar></DiscussionsSideBar>
|
<DiscussionsSideBar :learningObjectHruid="props.learningObjectHruid"> </DiscussionsSideBar>
|
||||||
<div class="discussions-container">
|
<div class="discussions-container">
|
||||||
<QuestionBox
|
<QuestionBox
|
||||||
:hruid="props.hruid"
|
:hruid="props.hruid"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue