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 { observer, inject } from "mobx-react";
|
||||||
import { withTranslation } from "react-i18next";
|
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 { LOADER_TIMEOUT } from "@docspace/shared/constants";
|
||||||
|
|
||||||
import { Backdrop } from "@docspace/shared/components/backdrop";
|
import { Backdrop } from "@docspace/shared/components/backdrop";
|
||||||
@ -72,11 +72,6 @@ const InvitePanel = ({
|
|||||||
visible,
|
visible,
|
||||||
setRoomSecurity,
|
setRoomSecurity,
|
||||||
getRoomSecurityInfo,
|
getRoomSecurityInfo,
|
||||||
getPortalInviteLinks,
|
|
||||||
userLink,
|
|
||||||
guestLink,
|
|
||||||
adminLink,
|
|
||||||
collaboratorLink,
|
|
||||||
defaultAccess,
|
defaultAccess,
|
||||||
inviteUsers,
|
inviteUsers,
|
||||||
setInfoPanelIsMobileHidden,
|
setInfoPanelIsMobileHidden,
|
||||||
@ -88,9 +83,7 @@ const InvitePanel = ({
|
|||||||
currentDeviceType,
|
currentDeviceType,
|
||||||
}) => {
|
}) => {
|
||||||
const [invitePanelIsLoding, setInvitePanelIsLoading] = useState(
|
const [invitePanelIsLoding, setInvitePanelIsLoading] = useState(
|
||||||
() =>
|
roomId !== -1,
|
||||||
((!userLink || !guestLink || !collaboratorLink) && !adminLink) ||
|
|
||||||
roomId !== -1,
|
|
||||||
);
|
);
|
||||||
const [selectedRoom, setSelectedRoom] = useState(null);
|
const [selectedRoom, setSelectedRoom] = useState(null);
|
||||||
const [hasErrors, setHasErrors] = useState(false);
|
const [hasErrors, setHasErrors] = useState(false);
|
||||||
@ -117,6 +110,33 @@ const InvitePanel = ({
|
|||||||
setExternalLinksVisible(visible);
|
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 selectRoom = () => {
|
||||||
const room = folders.find((folder) => folder.id === roomId);
|
const room = folders.find((folder) => folder.id === roomId);
|
||||||
|
|
||||||
@ -167,40 +187,7 @@ const InvitePanel = ({
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (roomId === -1) {
|
if (roomId === -1) {
|
||||||
if ((!userLink || !guestLink || !collaboratorLink) && !adminLink) {
|
setShareLinks(accessModel);
|
||||||
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,
|
|
||||||
},
|
|
||||||
]);
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -208,7 +195,7 @@ const InvitePanel = ({
|
|||||||
Promise.all([selectRoom(), getInfo()]).finally(() => {
|
Promise.all([selectRoom(), getInfo()]).finally(() => {
|
||||||
disableInvitePanelLoader(false);
|
disableInvitePanelLoader(false);
|
||||||
});
|
});
|
||||||
}, [roomId, userLink, guestLink, adminLink, collaboratorLink]);
|
}, [roomId]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const hasErrors = inviteItems.some((item) => !!item.errors?.length);
|
const hasErrors = inviteItems.some((item) => !!item.errors?.length);
|
||||||
@ -487,14 +474,6 @@ export default inject(
|
|||||||
isRoomMembersPanelOpen,
|
isRoomMembersPanelOpen,
|
||||||
} = infoPanelStore;
|
} = infoPanelStore;
|
||||||
|
|
||||||
const {
|
|
||||||
getPortalInviteLinks,
|
|
||||||
userLink,
|
|
||||||
guestLink,
|
|
||||||
adminLink,
|
|
||||||
collaboratorLink,
|
|
||||||
} = peopleStore.inviteLinksStore;
|
|
||||||
|
|
||||||
const {
|
const {
|
||||||
inviteItems,
|
inviteItems,
|
||||||
invitePanelOptions,
|
invitePanelOptions,
|
||||||
@ -520,11 +499,6 @@ export default inject(
|
|||||||
visible: invitePanelOptions.visible,
|
visible: invitePanelOptions.visible,
|
||||||
defaultAccess: invitePanelOptions.defaultAccess,
|
defaultAccess: invitePanelOptions.defaultAccess,
|
||||||
getFolderInfo,
|
getFolderInfo,
|
||||||
getPortalInviteLinks,
|
|
||||||
userLink,
|
|
||||||
guestLink,
|
|
||||||
adminLink,
|
|
||||||
collaboratorLink,
|
|
||||||
inviteUsers,
|
inviteUsers,
|
||||||
setInfoPanelIsMobileHidden,
|
setInfoPanelIsMobileHidden,
|
||||||
updateInfoPanelMembers,
|
updateInfoPanelMembers,
|
||||||
|
Loading…
Reference in New Issue
Block a user