Distinguish between active and inactive users in class list
This commit is contained in:
parent
acdcc7ea13
commit
a99a073460
|
|
@ -1,10 +1,18 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="schoolclass">
|
<div class="school-class">
|
||||||
<h2 class="schoolclass__name">{{name}}</h2>
|
<h2 class="school-class__name">{{name}}</h2>
|
||||||
<div class="schoolclass__members schoolclass-members">
|
<div class="school-class__members school-class-members">
|
||||||
<ul class="schoolclass-members__list members-list">
|
<ul class="school-class-members__list members-list" data-cy="active-class-members-list">
|
||||||
<li v-for="user in users" :key="user.id" class="members-list__item">
|
<li v-for="member in activeMembers" :key="member.id" class="members-list__item" data-cy="school-class-member">
|
||||||
<p class="member-item"><span class="member-item__name">{{fullName(user)}}</span> <span class="member-item__role">{{role(user)}}</span></p>
|
<p class="member-item"><span class="member-item__name">{{fullName(member)}}</span> <span
|
||||||
|
class="member-item__role">{{role(member)}}</span></p>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<h3>Deaktivierte Benutzer</h3>
|
||||||
|
<ul data-cy="inactive-class-members-list">
|
||||||
|
<li v-for="member in inactiveMembers" :key="member.id" class="members-list__item" data-cy="school-class-member">
|
||||||
|
<p class="member-item"><span class="member-item__name">{{fullName(member)}}</span> <span
|
||||||
|
class="member-item__role">{{role(member)}}</span></p>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -14,13 +22,21 @@
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
props: ['users', 'name'],
|
props: ['members', 'name'],
|
||||||
methods: {
|
methods: {
|
||||||
fullName (user) {
|
fullName(member) {
|
||||||
return `${user.firstName} ${user.lastName}`;
|
return `${member.firstName} ${member.lastName}`;
|
||||||
},
|
},
|
||||||
role ({permissions}) {
|
role({isTeacher}) {
|
||||||
return permissions.indexOf('users.can_manage_school_class_content') > -1 ? 'Lehrperson' : '';
|
return isTeacher ? 'Lehrperson' : '';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
activeMembers() {
|
||||||
|
return this.members.filter(member => member.active)
|
||||||
|
},
|
||||||
|
inactiveMembers() {
|
||||||
|
return this.members.filter(member => !member.active)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -40,7 +56,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.member-item {
|
.member-item {
|
||||||
|
|
||||||
line-height: $height;
|
line-height: $height;
|
||||||
height: $height;
|
height: $height;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,15 @@
|
||||||
query {
|
query MySchoolClassQuery {
|
||||||
me {
|
me {
|
||||||
id
|
id
|
||||||
selectedClass {
|
selectedClass {
|
||||||
id
|
id
|
||||||
name
|
name
|
||||||
users {
|
members {
|
||||||
edges {
|
id
|
||||||
node {
|
firstName
|
||||||
id
|
lastName
|
||||||
firstName
|
isTeacher
|
||||||
lastName
|
active
|
||||||
permissions
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="my-class">
|
<div class="my-class">
|
||||||
<h1 class="my-class__header" data-cy="class-list-title">Klassenliste</h1>
|
<h1 class="my-class__header" data-cy="class-list-title">Klassenliste</h1>
|
||||||
<classlist v-bind="selectedClass" class="my-class__class"></classlist>
|
<classlist class="my-class__class" :name="selectedClass.name" :members="selectedClass.members"></classlist>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -27,7 +27,8 @@
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
selectedClass: {
|
selectedClass: {
|
||||||
name: ''
|
name: '',
|
||||||
|
members: []
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue