Web: Files: restored MoveToPublicRoom dialog

This commit is contained in:
Nikita Gopienko 2023-08-09 16:26:15 +03:00
parent f272f406ea
commit f589e5979b
3 changed files with 17 additions and 2 deletions

View File

@ -88,6 +88,7 @@ export type FilesSelectorProps = {
withoutImmediatelyClose: boolean; withoutImmediatelyClose: boolean;
isThirdParty: boolean; isThirdParty: boolean;
isEditorDialog: boolean; isEditorDialog: boolean;
setMoveToPublicRoomVisible: (visible: boolean, operationData: object) => void;
onClose?: () => void; onClose?: () => void;

View File

@ -339,12 +339,14 @@ export const useFilesHelper = ({
pathParts.map(async (folderId: number | string) => { pathParts.map(async (folderId: number | string) => {
const folderInfo: any = await getFolderInfo(folderId); const folderInfo: any = await getFolderInfo(folderId);
const { title, id, parentId, rootFolderType } = folderInfo; const { title, id, parentId, rootFolderType, roomType } =
folderInfo;
return { return {
label: title, label: title,
id: id, id: id,
isRoom: parentId === 0 && rootFolderType === FolderType.Rooms, isRoom: parentId === 0 && rootFolderType === FolderType.Rooms,
roomType,
}; };
}) })
); );

View File

@ -4,7 +4,7 @@ import { useTranslation } from "react-i18next";
// @ts-ignore // @ts-ignore
import Loaders from "@docspace/common/components/Loaders"; 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 Aside from "@docspace/components/aside";
import Backdrop from "@docspace/components/backdrop"; import Backdrop from "@docspace/components/backdrop";
@ -82,6 +82,7 @@ const FilesSelector = ({
descriptionText, descriptionText,
setSelectedItems, setSelectedItems,
setMoveToPublicRoomVisible,
}: FilesSelectorProps) => { }: FilesSelectorProps) => {
const { t } = useTranslation(["Files", "Common", "Translations"]); const { t } = useTranslation(["Files", "Common", "Translations"]);
@ -292,6 +293,10 @@ const FilesSelector = ({
fileName: string, fileName: string,
isChecked: boolean isChecked: boolean
) => { ) => {
const isPublic =
breadCrumbs.findIndex((f: any) => f.roomType === RoomsType.PublicRoom) >
-1;
if ((isMove || isCopy || isRestoreAll) && !isEditorDialog) { if ((isMove || isCopy || isRestoreAll) && !isEditorDialog) {
const folderTitle = breadCrumbs[breadCrumbs.length - 1].label; const folderTitle = breadCrumbs[breadCrumbs.length - 1].label;
@ -329,6 +334,11 @@ const FilesSelector = ({
}, },
}; };
if (isPublic) {
setMoveToPublicRoomVisible(true, operationData);
return;
}
setIsRequestRunning(true); setIsRequestRunning(true);
setSelectedItems(); setSelectedItems();
checkFileConflicts(selectedItemId, folderIds, fileIds) checkFileConflicts(selectedItemId, folderIds, fileIds)
@ -544,6 +554,7 @@ export default inject(
conflictResolveDialogVisible, conflictResolveDialogVisible,
isFolderActions, isFolderActions,
setIsFolderActions, setIsFolderActions,
setMoveToPublicRoomVisible,
} = dialogsStore; } = dialogsStore;
const { theme } = auth.settingsStore; const { theme } = auth.settingsStore;
@ -600,6 +611,7 @@ export default inject(
setRestoreAllPanelVisible, setRestoreAllPanelVisible,
setIsFolderActions, setIsFolderActions,
setSelectedItems, setSelectedItems,
setMoveToPublicRoomVisible,
}; };
} }
)(observer(FilesSelector)); )(observer(FilesSelector));