diff --git a/webapp/components/Chat/Chat.vue b/webapp/components/Chat/Chat.vue
index c02165248..fccaee5b8 100644
--- a/webapp/components/Chat/Chat.vue
+++ b/webapp/components/Chat/Chat.vue
@@ -365,7 +365,7 @@ export default {
addRoom() {
this.$emit('open-user-search')
- }
+ },
},
}
diff --git a/webapp/components/Group/AddGroupMember.vue b/webapp/components/Group/AddGroupMember.vue
index 8e66c7be2..2cb71f011 100644
--- a/webapp/components/Group/AddGroupMember.vue
+++ b/webapp/components/Group/AddGroupMember.vue
@@ -3,33 +3,7 @@
{{ $t('group.addUser') }}
-
-
-
-
-
-
-
+
import { changeGroupMemberRoleMutation } from '~/graphql/groups.js'
-import { searchUsers } from '~/graphql/Search.js'
+import SelectUserSearch from '~/components/generic/SelectUserSearch/SelectUserSearch'
import UserTeaser from '~/components/UserTeaser/UserTeaser.vue'
-import { isEmpty } from 'lodash'
export default {
name: 'AddGroupMember',
components: {
UserTeaser,
+ SelectUserSearch,
},
props: {
groupId: {
@@ -73,62 +47,34 @@ export default {
},
data() {
return {
- users: [],
id: 'search-user-to-add-to-group',
- query: '',
user: {},
isOpen: false,
}
},
- computed: {
- startSearch() {
- return this.query && this.query.length > 3
- },
- },
methods: {
cancelModal() {
- this.clear()
+ this.$refs.selectUserSearch.clear()
this.isOpen = false
},
closeModal() {
- this.clear()
+ this.$refs.selectUserSearch.clear()
this.isOpen = false
},
confirmModal() {
this.addMemberToGroup()
this.isOpen = false
- this.clear()
+ this.$refs.selectUserSearch.clear()
},
- onFocus() {},
- onBlur() {
- this.query = ''
- },
- handleInput(event) {
- this.query = event.target ? event.target.value.trim() : ''
- },
- onDelete(event) {
- const value = event.target ? event.target.value.trim() : ''
- if (isEmpty(value)) {
- this.clear()
- } else {
- this.handleInput(event)
- }
- },
- clear() {
- this.query = ''
- this.user = {}
- this.users = []
- },
- onSelect(item) {
- this.user = item
+ selectUser(user) {
+ this.user = user
if (this.groupMembers.find((member) => member.id === this.user.id)) {
this.$toast.error(this.$t('group.errors.userAlreadyMember', { name: this.user.name }))
- this.clear()
+ this.$refs.selectUserSearch.clear()
return
}
this.isOpen = true
},
- onEnter() {},
async addMemberToGroup() {
const newRole = 'usual'
const username = this.user.name
@@ -149,29 +95,9 @@ export default {
}
},
},
- apollo: {
- searchUsers: {
- query() {
- return searchUsers
- },
- variables() {
- return {
- query: this.query,
- firstUsers: 5,
- usersOffset: 0,
- }
- },
- skip() {
- return !this.startSearch
- },
- update({ searchUsers }) {
- this.users = searchUsers.users
- },
- fetchPolicy: 'cache-and-network',
- },
- },
}
+