Merge branch 'release/v2.0.0' of github.com:ONLYOFFICE/DocSpace-client into release/v2.0.0

This commit is contained in:
Alexey Safronov 2023-11-16 13:37:20 +04:00
commit 881f368fe3
9 changed files with 121 additions and 1 deletions

View File

@ -29,6 +29,7 @@ import {
DeleteLinkDialog,
RoomSharingDialog,
MoveToPublicRoom,
BackupToPublicRoom,
SettingsPluginDialog,
PluginDialog,
DeletePluginDialog,
@ -82,6 +83,7 @@ const Panels = (props) => {
embeddingPanelIsVisible,
roomSharingPanelVisible,
moveToPublicRoomVisible,
backupToPublicRoomVisible,
settingsPluginDialogVisible,
pluginDialogVisible,
leaveRoomDialogVisible,
@ -190,6 +192,9 @@ const Panels = (props) => {
moveToPublicRoomVisible && (
<MoveToPublicRoom key="move-to-public-room-panel" />
),
backupToPublicRoomVisible && (
<BackupToPublicRoom key="backup-to-public-room-panel" />
),
leaveRoomDialogVisible && <LeaveRoomDialog key="leave-room-dialog" />,
changeRoomOwnerIsVisible && (
<ChangeRoomOwnerPanel key="change-room-owner" />
@ -244,6 +249,7 @@ export default inject(
embeddingPanelIsVisible,
roomSharingPanelVisible,
moveToPublicRoomVisible,
backupToPublicRoomVisible,
leaveRoomDialogVisible,
changeRoomOwnerIsVisible,
} = dialogsStore;
@ -300,6 +306,7 @@ export default inject(
embeddingPanelIsVisible,
roomSharingPanelVisible,
moveToPublicRoomVisible,
backupToPublicRoomVisible,
settingsPluginDialogVisible,
pluginDialogVisible,
leaveRoomDialogVisible,

View File

@ -96,12 +96,14 @@ const FilesSelector = ({
socketHelper,
socketSubscribers,
setMoveToPublicRoomVisible,
setBackupToPublicRoomVisible,
setInfoPanelIsMobileHidden,
currentDeviceType,
embedded,
withHeader,
getIcon,
isRoomBackup,
}: FilesSelectorProps) => {
const { t } = useTranslation(["Files", "Common", "Translations"]);
@ -437,6 +439,16 @@ const FilesSelector = ({
toastr.error(t("Common:ErrorEmptyList"));
}
} else {
if (isRoomBackup && isPublic) {
setBackupToPublicRoomVisible(true, {
selectedItemId,
breadCrumbs,
onSelectFolder,
onClose,
});
return;
}
//setIsRequestRunning(true);
//onSetNewFolderPath && onSetNewFolderPath(breadCrumbs);
onSelectFolder && onSelectFolder(selectedItemId, breadCrumbs);
@ -631,6 +643,7 @@ export default inject(
isFolderActions,
setIsFolderActions,
setMoveToPublicRoomVisible,
setBackupToPublicRoomVisible,
} = dialogsStore;
const { setIsMobileHidden: setInfoPanelIsMobileHidden } =
@ -716,6 +729,7 @@ export default inject(
socketHelper,
socketSubscribers: socketSubscribesId,
setMoveToPublicRoomVisible,
setBackupToPublicRoomVisible,
currentDeviceType,
getIcon,
};

View File

@ -29,6 +29,7 @@ const FilesSelectorInput = (props) => {
descriptionText,
className,
isSelect,
isRoomBackup,
} = props;
const isFilesSelection = !!filterParam;
@ -87,6 +88,7 @@ const FilesSelectorInput = (props) => {
/>
<FilesSelector
isRoomBackup={isRoomBackup}
descriptionText={descriptionText}
filterParam={filterParam}
rootThirdPartyId={rootThirdPartyId}

View File

@ -0,0 +1,87 @@
import React, { useEffect } from "react";
import ModalDialog from "@docspace/components/modal-dialog";
import Button from "@docspace/components/button";
import Text from "@docspace/components/text";
import { inject, observer } from "mobx-react";
import { useTranslation } from "react-i18next";
const BackupToPublicRoomComponent = (props) => {
const { visible, setIsVisible, backupToPublicRoomData } = props;
const { t, ready } = useTranslation(["Files", "Common"]);
useEffect(() => {
document.addEventListener("keyup", onKeyUp, false);
return () => {
document.removeEventListener("keyup", onKeyUp, false);
};
}, []);
const onKeyUp = (e) => {
if (e.keyCode === 27) onClose();
if (e.keyCode === 13 || e.which === 13) onMoveTo();
};
const onClose = () => {
setIsVisible(false);
};
const onBackupTo = () => {
const {
selectedItemId,
breadCrumbs,
onSelectFolder,
onClose: onCloseAction,
} = backupToPublicRoomData;
onSelectFolder && onSelectFolder(selectedItemId, breadCrumbs);
onClose();
onCloseAction();
};
return (
<ModalDialog isLoading={!ready} visible={visible} onClose={onClose}>
<ModalDialog.Header>{t("Common:SaveToPublicRoom")}</ModalDialog.Header>
<ModalDialog.Body>
<div className="modal-dialog-content-body">
<Text noSelect>{t("Files:MoveToPublicRoom")}</Text>
</div>
</ModalDialog.Body>
<ModalDialog.Footer>
<Button
id="delete-file-modal_submit"
key="OkButton"
label={t("Common:OKButton")}
size="normal"
primary
scale
onClick={onBackupTo}
/>
<Button
id="delete-file-modal_cancel"
key="CancelButton"
label={t("Common:CancelButton")}
size="normal"
scale
onClick={onClose}
/>
</ModalDialog.Footer>
</ModalDialog>
);
};
export default inject(({ dialogsStore }) => {
const {
backupToPublicRoomVisible,
setBackupToPublicRoomVisible,
backupToPublicRoomData,
} = dialogsStore;
return {
visible: backupToPublicRoomVisible,
setIsVisible: setBackupToPublicRoomVisible,
backupToPublicRoomData,
};
})(observer(BackupToPublicRoomComponent));

View File

@ -34,6 +34,7 @@ import UnsavedChangesDialog from "./UnsavedChangesDialog";
import DeleteLinkDialog from "./DeleteLinkDialog";
import RoomSharingDialog from "./RoomSharingDialog";
import MoveToPublicRoom from "./MoveToPublicRoom";
import BackupToPublicRoom from "./BackupToPublicRoom";
import SettingsPluginDialog from "./SettingsPluginDialog";
import ReportDialog from "./ReportDialog";
import PluginDialog from "./PluginDialog";
@ -76,6 +77,7 @@ export {
DeleteLinkDialog,
RoomSharingDialog,
MoveToPublicRoom,
BackupToPublicRoom,
SettingsPluginDialog,
ReportDialog,
PluginDialog,

View File

@ -32,6 +32,7 @@ class RoomsModule extends React.PureComponent {
withoutInitPath={!isDocumentsDefault}
isError={isError}
isDisabled={isLoadingData}
isRoomBackup
/>
</div>
<ScheduleComponent isLoadingData={isLoadingData} {...rest} />

View File

@ -66,6 +66,7 @@ class RoomsModule extends React.Component {
{...(selectedFolder && { id: selectedFolder })}
withoutInitPath={!selectedFolder}
isDisabled={isModuleDisabled}
isRoomBackup
/>
</div>
<div className="manual-backup_buttons">

View File

@ -31,6 +31,8 @@ class DialogsStore {
unsavedChangesDialogVisible = false;
moveToPublicRoomVisible = false;
moveToPublicRoomData = null;
backupToPublicRoomVisible = false;
backupToPublicRoomData = null;
isFolderActions = false;
roomCreation = false;
culture = {
@ -426,7 +428,10 @@ class DialogsStore {
this.moveToPublicRoomVisible = visible;
this.moveToPublicRoomData = data;
};
setBackupToPublicRoomVisible = (visible, data = null) => {
this.backupToPublicRoomVisible = visible;
this.backupToPublicRoomData = data;
};
deselectActiveFiles = () => {
this.filesStore.setSelected("none");
};

View File

@ -264,6 +264,7 @@
"SAT": "SAT",
"SaveButton": "Save",
"SaveHereButton": "Save here",
"SaveToPublicRoom": "Save to Public room",
"Search": "Search",
"SearchEmptyRoomsDescription": "No rooms match this filter. Try a different one or clear filter to view all rooms.",
"SelectAction": "Select",