1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
<template>
<div>
<section v-if="tasks.length > 0">
<table class="default">
<caption>
{{
$gettext('Verteilte Aufgaben')
}}
</caption>
<thead>
<tr>
<th>{{ $gettext('Status') }}</th>
<th>{{ $gettext('Teilnehmende/Gruppen') }}</th>
<th class="responsive-hidden">{{ $gettext('Seite') }}</th>
<th>{{ $gettext('bearbeitet') }}</th>
<th>{{ $gettext('Abgabefrist') }}</th>
<th>{{ $gettext('Abgabe') }}</th>
<th class="responsive-hidden renewal">{{ $gettext('Verlängerungsanfrage') }}</th>
<th class="responsive-hidden feedback">{{ $gettext('Feedback') }}</th>
</tr>
</thead>
<tbody>
<TaskItem
v-for="task in tasks"
:task="task"
:taskGroup="taskGroup"
:key="task.id"
@add-feedback="(task) => $emit('add-feedback', task)"
@edit-feedback="(feedback) => $emit('edit-feedback', feedback)"
@solve-renewal="(task) => $emit('solve-renewal', task)"
/>
</tbody>
</table>
<PeerReviewProcesses
:taskGroup="taskGroup"
@add-peer-review-process="$emit('add-peer-review-process', taskGroup)"
class="cw-task-group-peer-review-processes"
/>
</section>
<div v-else>
<CompanionBox mood="pointing" :msgCompanion="$gettext('Diese Aufgabe wurde an niemanden verteilt.')" />
</div>
</div>
</template>
<script>
import { mapGetters } from 'vuex';
import CompanionBox from '../layouts/CoursewareCompanionBox.vue';
import PeerReviewProcesses from './TaskGroupPeerReviewProcesses.vue';
import TaskItem from './TaskGroupTaskItem.vue';
export default {
components: { CompanionBox, PeerReviewProcesses, TaskItem },
emits: ['add-feedback', 'edit-feedback', 'solve-renewal'],
props: ['taskGroup', 'tasks'],
computed: {
...mapGetters({
coursewareContext: 'context',
}),
actionMenuContext() {
return this.$gettext(
'Courseware-Aufgabe "%{ taskGroup }"',
{ taskGroup: this.taskGroup.attributes.title }
);
},
},
};
</script>
|