Client: InvitePanel: Rewrite access model for accounts invitation
This commit is contained in:
parent
dbfff640e9
commit
724fc44e98
@ -34,7 +34,7 @@ import React, {
|
||||
import { observer, inject } from "mobx-react";
|
||||
import { withTranslation } from "react-i18next";
|
||||
|
||||
import { DeviceType } from "@docspace/shared/enums";
|
||||
import { DeviceType, EmployeeType } from "@docspace/shared/enums";
|
||||
import { LOADER_TIMEOUT } from "@docspace/shared/constants";
|
||||
|
||||
import { Backdrop } from "@docspace/shared/components/backdrop";
|
||||
@ -72,11 +72,6 @@ const InvitePanel = ({
|
||||
visible,
|
||||
setRoomSecurity,
|
||||
getRoomSecurityInfo,
|
||||
getPortalInviteLinks,
|
||||
userLink,
|
||||
guestLink,
|
||||
adminLink,
|
||||
collaboratorLink,
|
||||
defaultAccess,
|
||||
inviteUsers,
|
||||
setInfoPanelIsMobileHidden,
|
||||
@ -88,8 +83,6 @@ const InvitePanel = ({
|
||||
currentDeviceType,
|
||||
}) => {
|
||||
const [invitePanelIsLoding, setInvitePanelIsLoading] = useState(
|
||||
() =>
|
||||
((!userLink || !guestLink || !collaboratorLink) && !adminLink) ||
|
||||
roomId !== -1,
|
||||
);
|
||||
const [selectedRoom, setSelectedRoom] = useState(null);
|
||||
@ -117,6 +110,33 @@ const InvitePanel = ({
|
||||
setExternalLinksVisible(visible);
|
||||
};
|
||||
|
||||
const accessModel = [
|
||||
{
|
||||
id: "user",
|
||||
title: "User",
|
||||
shareLink: "",
|
||||
access: EmployeeType.User,
|
||||
},
|
||||
{
|
||||
id: "guest",
|
||||
title: "Guest",
|
||||
shareLink: "",
|
||||
access: EmployeeType.Guest,
|
||||
},
|
||||
{
|
||||
id: "admin",
|
||||
title: "Admin",
|
||||
shareLink: "",
|
||||
access: EmployeeType.Admin,
|
||||
},
|
||||
{
|
||||
id: "collaborator",
|
||||
title: "Collaborator",
|
||||
shareLink: "",
|
||||
access: EmployeeType.Collaborator,
|
||||
},
|
||||
];
|
||||
|
||||
const selectRoom = () => {
|
||||
const room = folders.find((folder) => folder.id === roomId);
|
||||
|
||||
@ -167,40 +187,7 @@ const InvitePanel = ({
|
||||
|
||||
useEffect(() => {
|
||||
if (roomId === -1) {
|
||||
if ((!userLink || !guestLink || !collaboratorLink) && !adminLink) {
|
||||
setInvitePanelIsLoading(true);
|
||||
getPortalInviteLinks().finally(() => {
|
||||
disableInvitePanelLoader();
|
||||
});
|
||||
}
|
||||
|
||||
setShareLinks([
|
||||
{
|
||||
id: "user",
|
||||
title: "User",
|
||||
shareLink: userLink,
|
||||
access: 1,
|
||||
},
|
||||
{
|
||||
id: "guest",
|
||||
title: "Guest",
|
||||
shareLink: guestLink,
|
||||
access: 2,
|
||||
},
|
||||
{
|
||||
id: "admin",
|
||||
title: "Admin",
|
||||
shareLink: adminLink,
|
||||
access: 3,
|
||||
},
|
||||
{
|
||||
id: "collaborator",
|
||||
title: "Collaborator",
|
||||
shareLink: collaboratorLink,
|
||||
access: 4,
|
||||
},
|
||||
]);
|
||||
|
||||
setShareLinks(accessModel);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -208,7 +195,7 @@ const InvitePanel = ({
|
||||
Promise.all([selectRoom(), getInfo()]).finally(() => {
|
||||
disableInvitePanelLoader(false);
|
||||
});
|
||||
}, [roomId, userLink, guestLink, adminLink, collaboratorLink]);
|
||||
}, [roomId]);
|
||||
|
||||
useEffect(() => {
|
||||
const hasErrors = inviteItems.some((item) => !!item.errors?.length);
|
||||
@ -487,14 +474,6 @@ export default inject(
|
||||
isRoomMembersPanelOpen,
|
||||
} = infoPanelStore;
|
||||
|
||||
const {
|
||||
getPortalInviteLinks,
|
||||
userLink,
|
||||
guestLink,
|
||||
adminLink,
|
||||
collaboratorLink,
|
||||
} = peopleStore.inviteLinksStore;
|
||||
|
||||
const {
|
||||
inviteItems,
|
||||
invitePanelOptions,
|
||||
@ -520,11 +499,6 @@ export default inject(
|
||||
visible: invitePanelOptions.visible,
|
||||
defaultAccess: invitePanelOptions.defaultAccess,
|
||||
getFolderInfo,
|
||||
getPortalInviteLinks,
|
||||
userLink,
|
||||
guestLink,
|
||||
adminLink,
|
||||
collaboratorLink,
|
||||
inviteUsers,
|
||||
setInfoPanelIsMobileHidden,
|
||||
updateInfoPanelMembers,
|
||||
|
Loading…
Reference in New Issue
Block a user