add locals for group member

This commit is contained in:
ogerly 2022-10-18 19:29:48 +02:00
parent 3c4d4bb8eb
commit 79644cb60a
4 changed files with 31 additions and 18 deletions

View File

@ -1,20 +1,20 @@
<template>
<div>
<base-card>
<h2 class="title">{{ $t('admin.users.name') }}</h2>
<h2 class="title">{{ $t('group.addUser') }}</h2>
<ds-form v-model="form" @submit="submit">
<ds-flex gutter="small">
<ds-flex-item width="90%">
<ds-input
name="query"
model="query"
:placeholder="$t('admin.users.form.placeholder')"
:placeholder="$t('group.addUserPlaceholder')"
icon="search"
/>
</ds-flex-item>
<ds-flex-item width="30px">
<!-- <base-button filled circle type="submit" icon="search" :loading="$apollo.loading" /> -->
<base-button filled circle type="submit" icon="search" />
<base-button filled circle type="submit" icon="search" />
</ds-flex-item>
</ds-flex>
</ds-form>
@ -22,7 +22,9 @@
<div v-if="slugUser.length > 0">
<ds-space margin="base" />
<ds-flex>
<ds-flex-item><ds-avatar online size="small" :name="slugUser[0].name"></ds-avatar></ds-flex-item>
<ds-flex-item>
<ds-avatar online size="small" :name="slugUser[0].name"></ds-avatar>
</ds-flex-item>
<ds-flex-item>{{ slugUser[0].name }}</ds-flex-item>
<ds-flex-item>{{ slugUser[0].slug }}</ds-flex-item>
<ds-flex-item>
@ -85,7 +87,12 @@
</ds-chip>
</template>
<template #edit="scope">
<ds-button v-if="scope.row.myRoleInGroup !== 'owner'" size="small" primary @click="deleteMember(scope.row.id)">
<ds-button
v-if="scope.row.myRoleInGroup !== 'owner'"
size="small"
primary
@click="deleteMember(scope.row.id)"
>
<!-- TODO: implement removal of group members -->
<!-- :disabled="scope.row.myRoleInGroup === 'owner'"
-->
@ -130,7 +137,7 @@ export default {
noSlug: false,
slugUser: [],
form: {
query: '',
query: '',
},
}
},
@ -161,7 +168,6 @@ export default {
},
},
methods: {
async changeMemberRole(id, event) {
const newRole = event.target.value
try {
@ -176,7 +182,7 @@ export default {
this.$toast.error(error.message)
}
},
async addMemberToGroup () {
async addMemberToGroup() {
const newRole = 'usual'
try {
await this.$apollo.mutate({
@ -184,9 +190,9 @@ export default {
variables: { groupId: this.groupId, userId: this.slugUser[0].id, roleInGroup: newRole },
})
// this.$apollo.queries.GroupMembers.refetch()
this.$emit('loadGroupMembers')
this.slugUser = []
this.form.query = ''
this.$emit('loadGroupMembers')
this.slugUser = []
this.form.query = ''
this.$toast.success(
this.$t('group.changeMemberRole', { role: this.$t(`group.roles.${newRole}`) }),
)
@ -204,7 +210,7 @@ export default {
slug: this.form.query,
},
})
if(User.length === 0) {
if (User.length === 0) {
this.noSlug = true
} else {
this.noSlug = false

View File

@ -404,6 +404,9 @@
"regional": "Regionale Gruppe"
},
"actionRadius": "Aktionsradius",
"addMemberToGroup": "Zur Gruppe hinzufügen",
"addUser": "Benutzer hinzufügen",
"addUserPlaceholder": "eindeutiger Benutzername > @slug-from-user",
"categories": "Thema ::: Themen",
"changeMemberRole": "Die Rolle wurde auf „{role}“ geändert!",
"contentMenu": {
@ -440,7 +443,6 @@
"roleInGroup": "Rolle",
"slug": "Eindeutiger Name"
},
"addMemberToGroup":"zur Gruppe hinzufügen",
"membersCount": "Mitglied ::: Mitglieder",
"membersListTitle": "Gruppenmitglieder",
"membersListTitleNotAllowedSeeingGroupMembers": "Gruppenmitglieder unsichtbar",

View File

@ -404,6 +404,9 @@
"regional": "Regional Group"
},
"actionRadius": "Action radius",
"addMemberToGroup": "Add to group",
"addUser": "Add User",
"addUserPlaceholder": "unique username > @slug-from-user",
"categories": "Topic ::: Topics",
"changeMemberRole": "The role has been changed to “{role}”!",
"contentMenu": {
@ -441,7 +444,6 @@
"slug": "Unique name"
},
"membersCount": "Member ::: Members",
"addMemberToGroup":"zur Gruppe hinzufügen",
"membersListTitle": "Group Members",
"membersListTitleNotAllowedSeeingGroupMembers": "Group Members invisible",
"myGroups": "My Groups",

View File

@ -3,7 +3,11 @@
<base-card>
<ds-heading tag="h3">{{ $t('group.members') }}</ds-heading>
<ds-space margin="large" />
<group-member :groupId="group.id" :groupMembers="groupMembers" @loadGroupMembers="loadGroupMembers" />
<group-member
:groupId="group.id"
:groupMembers="groupMembers"
@loadGroupMembers="loadGroupMembers"
/>
</base-card>
</div>
</template>
@ -45,10 +49,9 @@ export default {
},
},
methods: {
loadGroupMembers(){
loadGroupMembers() {
this.$apollo.queries.GroupMembers.refetch()
console.log('loadGroupMembers this.GroupMembers', this.GroupMembers)
}
},
},
}
</script>