Web: Files: fixed remove users from list

This commit is contained in:
Nikita Gopienko 2023-09-26 16:16:03 +03:00
parent 47647180d1
commit 43f13f4d7e
3 changed files with 32 additions and 3 deletions

View File

@ -38,6 +38,7 @@ const Item = memo(({ data, index, style }) => {
const {
t,
members,
setMembers,
security,
membersHelper,
currentMember,
@ -72,6 +73,7 @@ const Item = memo(({ data, index, style }) => {
isExpect={user.isExpect}
showInviteIcon={canInviteUserInRoomAbility && user.isExpect}
onRepeatInvitation={onRepeatInvitation}
setMembers={setMembers}
/>
</div>
);
@ -89,6 +91,7 @@ const MembersList = (props) => {
changeUserType,
setIsScrollLocked,
members,
setMembers,
hasNextPage,
itemCount,
onRepeatInvitation,
@ -168,6 +171,7 @@ const MembersList = (props) => {
changeUserType,
setIsScrollLocked,
members,
setMembers,
canInviteUserInRoomAbility,
onRepeatInvitation,
}}

View File

@ -17,6 +17,7 @@ import IconButton from "@docspace/components/icon-button";
const User = ({
t,
user,
setMembers,
isExpect,
membersHelper,
currentMember,
@ -55,22 +56,45 @@ const User = ({
})
.then(() => {
setIsLoading(false);
const inRoomMembers = selectionParentRoom.members.inRoom;
const users = selectionParentRoom.members.users;
const administrators = selectionParentRoom.members.administrators;
const expectedMembers = selectionParentRoom.members.expected;
if (option.key === "remove") {
setMembers({
users: users?.filter((m) => m.id !== user.id),
administrators: administrators?.filter((m) => m.id !== user.id),
expected: expectedMembers?.filter((m) => m.id !== user.id),
});
setSelectionParentRoom({
...selectionParentRoom,
members: {
inRoom: inRoomMembers?.filter((m) => m.id !== user.id),
users: users?.filter((m) => m.id !== user.id),
administrators: administrators?.filter((m) => m.id !== user.id),
expected: expectedMembers?.filter((m) => m.id !== user.id),
},
});
//setUserIsRemoved(true);
} else {
setMembers({
users: users?.map((m) =>
m.id === user.id ? { ...m, access: option.access } : m
),
administrators: administrators?.map((m) =>
m.id === user.id ? { ...m, access: option.access } : m
),
expected: expectedMembers?.map((m) =>
m.id === user.id ? { ...m, access: option.access } : m
),
});
setSelectionParentRoom({
...selectionParentRoom,
members: {
inRoom: inRoomMembers?.map((m) =>
users: users?.map((m) =>
m.id === user.id ? { ...m, access: option.access } : m
),
administrators: administrators?.map((m) =>
m.id === user.id ? { ...m, access: option.access } : m
),
expected: expectedMembers?.map((m) =>

View File

@ -254,6 +254,7 @@ const Members = ({
isPublicRoomType={isPublicRoomType}
withBanner={isPublicRoomType && externalLinks.length > 0}
headersCount={headersCount}
setMembers={setMembers}
/>
</>
);