mirror of
https://github.com/open-webui/open-webui.git
synced 2026-08-28 05:27:35 +00:00
refac
This commit is contained in:
parent
11db926a7b
commit
18bf0ade7b
4 changed files with 22 additions and 5 deletions
|
|
@ -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}
|
||||
<div class="mt-1 grid grid-cols-1">
|
||||
{#each filteredGroups as group, idx (group.id)}
|
||||
<GroupItem {group} {setGroups} {defaultPermissions} />
|
||||
<GroupItem {group} {setGroups} {updateGroup} {defaultPermissions} />
|
||||
{#if idx < filteredGroups.length - 1}
|
||||
<hr class="border-gray-50 dark:border-gray-850/40" />
|
||||
{/if}
|
||||
|
|
|
|||
|
|
@ -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'}
|
||||
<Permissions bind:permissions {defaultPermissions} />
|
||||
{:else if selectedTab == 'users'}
|
||||
<Users bind:userCount groupId={group?.id} />
|
||||
<Users bind:userCount groupId={group?.id} {onMemberChange} />
|
||||
{:else if selectedTab == 'preview'}
|
||||
<GroupPreviewPanel groupId={group?.id} />
|
||||
{/if}
|
||||
|
|
|
|||
|
|
@ -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}
|
||||
/>
|
||||
|
||||
<button
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@
|
|||
|
||||
export let groupId: string;
|
||||
export let userCount = 0;
|
||||
export let onMemberChange: Function = () => {};
|
||||
|
||||
let users = null;
|
||||
let total = null;
|
||||
|
|
@ -74,19 +75,26 @@
|
|||
};
|
||||
|
||||
const toggleMember = async (userId, state) => {
|
||||
let res = null;
|
||||
|
||||
if (state === 'checked') {
|
||||
await addUserToGroup(localStorage.token, groupId, [userId]).catch((error) => {
|
||||
res = await addUserToGroup(localStorage.token, groupId, [userId]).catch((error) => {
|
||||
toast.error(`${error}`);
|
||||
return null;
|
||||
});
|
||||
} else {
|
||||
await removeUserFromGroup(localStorage.token, groupId, [userId]).catch((error) => {
|
||||
res = await removeUserFromGroup(localStorage.token, groupId, [userId]).catch((error) => {
|
||||
toast.error(`${error}`);
|
||||
return null;
|
||||
});
|
||||
}
|
||||
|
||||
getUserList();
|
||||
if (res) {
|
||||
userCount = res.member_count ?? userCount;
|
||||
onMemberChange(res);
|
||||
}
|
||||
|
||||
await getUserList();
|
||||
};
|
||||
|
||||
$: if (page !== null && orderBy !== null && direction !== null) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue