fix add all functionality within groupId screen

This commit is contained in:
Peter Clement 2022-08-01 15:14:49 +01:00
parent d166ff976e
commit 64381eee81
1 changed files with 23 additions and 5 deletions

View File

@ -26,18 +26,36 @@
let popover
let searchTerm = ""
let selectedUsers = []
let prevSearch = undefined,
search = undefined
let prevSearch = undefined
let pageInfo = createPaginationStore()
let loaded = false
$: page = $pageInfo.page
$: fetchUsers(page, search)
$: fetchUsers(page, searchTerm)
$: group = $groups.find(x => x._id === groupId)
async function addAll() {
group.users = selectedUsers
selectedUsers = [...selectedUsers, ...filtered.map(u => u._id)]
let reducedUserObjects = filtered.map(u => {
return {
_id: u._id,
email: u.email,
}
})
group.users = [...reducedUserObjects, ...group.users]
await groups.actions.save(group)
$users.data.forEach(async user => {
let userToEdit = await users.get(user._id)
let userGroups = userToEdit.userGroups || []
userGroups.push(groupId)
await users.save({
...userToEdit,
userGroups,
})
})
}
async function selectUser(id) {
@ -100,7 +118,7 @@
prevSearch = search
try {
pageInfo.loading()
await users.search({ page, search })
await users.search({ page, email: search })
pageInfo.fetched($users.hasNextPage, $users.nextPage)
} catch (error) {
notifications.error("Error getting user list")