diff --git a/src/lib/components/admin/Users/Groups.svelte b/src/lib/components/admin/Users/Groups.svelte index 8c7a8394d7..66ea53fb1a 100644 --- a/src/lib/components/admin/Users/Groups.svelte +++ b/src/lib/components/admin/Users/Groups.svelte @@ -59,6 +59,11 @@ adminGroupCount.set(groups.length); }; + /** @param {any} updatedGroup */ + const updateGroup = (updatedGroup) => { + groups = groups.map((group) => (group.id === updatedGroup.id ? updatedGroup : group)); + }; + /** @param {any} group */ const addGroupHandler = async (group) => { const res = await createNewGroup(localStorage.token, group).catch((error) => { @@ -177,7 +182,7 @@ {#if filteredGroups.length !== 0}
{#each filteredGroups as group, idx (group.id)} - + {#if idx < filteredGroups.length - 1}
{/if} diff --git a/src/lib/components/admin/Users/Groups/EditGroupModal.svelte b/src/lib/components/admin/Users/Groups/EditGroupModal.svelte index a85deb778a..0934c9bed2 100644 --- a/src/lib/components/admin/Users/Groups/EditGroupModal.svelte +++ b/src/lib/components/admin/Users/Groups/EditGroupModal.svelte @@ -19,6 +19,7 @@ export let onSubmit: Function = () => {}; export let onDelete: Function = () => {}; + export let onMemberChange: Function = () => {}; export let show = false; export let edit = false; @@ -280,7 +281,7 @@ {:else if selectedTab == 'permissions'} {:else if selectedTab == 'users'} - + {:else if selectedTab == 'preview'} {/if} diff --git a/src/lib/components/admin/Users/Groups/GroupItem.svelte b/src/lib/components/admin/Users/Groups/GroupItem.svelte index 8e6fa976bf..6b7cba8713 100644 --- a/src/lib/components/admin/Users/Groups/GroupItem.svelte +++ b/src/lib/components/admin/Users/Groups/GroupItem.svelte @@ -20,6 +20,8 @@ export let defaultPermissions = {}; export let setGroups = () => {}; + /** @type {(group: any) => void} */ + export let updateGroup = () => {}; let showEdit = false; $: hasCustomPermissions = Object.keys(group?.permissions ?? {}).length > 0; @@ -64,6 +66,7 @@ tabs={['general', 'permissions', 'users', 'preview']} onSubmit={updateHandler} onDelete={deleteHandler} + onMemberChange={updateGroup} />