From f589e5979b67b3ea9d4f318c4b8dd5a89682647a Mon Sep 17 00:00:00 2001 From: gopienkonikita Date: Wed, 9 Aug 2023 16:26:15 +0300 Subject: [PATCH] Web: Files: restored MoveToPublicRoom dialog --- .../FilesSelector/FilesSelector.types.ts | 1 + .../FilesSelector/helpers/useFilesHelper.ts | 4 +++- .../client/src/components/FilesSelector/index.tsx | 14 +++++++++++++- 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/packages/client/src/components/FilesSelector/FilesSelector.types.ts b/packages/client/src/components/FilesSelector/FilesSelector.types.ts index 97095c2bc6..d13a72f652 100644 --- a/packages/client/src/components/FilesSelector/FilesSelector.types.ts +++ b/packages/client/src/components/FilesSelector/FilesSelector.types.ts @@ -88,6 +88,7 @@ export type FilesSelectorProps = { withoutImmediatelyClose: boolean; isThirdParty: boolean; isEditorDialog: boolean; + setMoveToPublicRoomVisible: (visible: boolean, operationData: object) => void; onClose?: () => void; diff --git a/packages/client/src/components/FilesSelector/helpers/useFilesHelper.ts b/packages/client/src/components/FilesSelector/helpers/useFilesHelper.ts index 807ecb89b9..602a8d6b59 100644 --- a/packages/client/src/components/FilesSelector/helpers/useFilesHelper.ts +++ b/packages/client/src/components/FilesSelector/helpers/useFilesHelper.ts @@ -339,12 +339,14 @@ export const useFilesHelper = ({ pathParts.map(async (folderId: number | string) => { const folderInfo: any = await getFolderInfo(folderId); - const { title, id, parentId, rootFolderType } = folderInfo; + const { title, id, parentId, rootFolderType, roomType } = + folderInfo; return { label: title, id: id, isRoom: parentId === 0 && rootFolderType === FolderType.Rooms, + roomType, }; }) ); diff --git a/packages/client/src/components/FilesSelector/index.tsx b/packages/client/src/components/FilesSelector/index.tsx index c25dc22dfc..982d98a74c 100644 --- a/packages/client/src/components/FilesSelector/index.tsx +++ b/packages/client/src/components/FilesSelector/index.tsx @@ -4,7 +4,7 @@ import { useTranslation } from "react-i18next"; // @ts-ignore import Loaders from "@docspace/common/components/Loaders"; -import { FolderType } from "@docspace/common/constants"; +import { FolderType, RoomsType } from "@docspace/common/constants"; import Aside from "@docspace/components/aside"; import Backdrop from "@docspace/components/backdrop"; @@ -82,6 +82,7 @@ const FilesSelector = ({ descriptionText, setSelectedItems, + setMoveToPublicRoomVisible, }: FilesSelectorProps) => { const { t } = useTranslation(["Files", "Common", "Translations"]); @@ -292,6 +293,10 @@ const FilesSelector = ({ fileName: string, isChecked: boolean ) => { + const isPublic = + breadCrumbs.findIndex((f: any) => f.roomType === RoomsType.PublicRoom) > + -1; + if ((isMove || isCopy || isRestoreAll) && !isEditorDialog) { const folderTitle = breadCrumbs[breadCrumbs.length - 1].label; @@ -329,6 +334,11 @@ const FilesSelector = ({ }, }; + if (isPublic) { + setMoveToPublicRoomVisible(true, operationData); + return; + } + setIsRequestRunning(true); setSelectedItems(); checkFileConflicts(selectedItemId, folderIds, fileIds) @@ -544,6 +554,7 @@ export default inject( conflictResolveDialogVisible, isFolderActions, setIsFolderActions, + setMoveToPublicRoomVisible, } = dialogsStore; const { theme } = auth.settingsStore; @@ -600,6 +611,7 @@ export default inject( setRestoreAllPanelVisible, setIsFolderActions, setSelectedItems, + setMoveToPublicRoomVisible, }; } )(observer(FilesSelector));