Web: Settings: Backup: Refactoring.

This commit is contained in:
Tatiana Lopaeva 2021-05-17 14:46:01 +03:00
parent 54fa2309f4
commit 8d971cc286
4 changed files with 55 additions and 153 deletions

View File

@ -196,6 +196,7 @@ class TreeFolders extends React.Component {
};
getItems = (data) => {
const { withoutProvider } = this.props;
return data.map((item) => {
const dragging = this.props.dragging ? this.showDragItems(item) : false;
@ -205,6 +206,9 @@ class TreeFolders extends React.Component {
const provider = item.providerKey;
const serviceFolder = !!item.providerKey;
let className = `tree-drag tree-id_${item.id}`;
if (withoutProvider && provider) return;
if (dragging) className += " dragging";
if ((item.folders && item.folders.length > 0) || serviceFolder) {
return (
@ -261,78 +265,6 @@ class TreeFolders extends React.Component {
});
};
getCommonItems = (data) => {
//debugger;
return data.map((item) => {
const dragging = this.props.dragging ? this.showDragItems(item) : false;
const showBadge = item.newItems
? item.newItems > 0 && this.props.needUpdate
: false;
const provider = item.providerKey;
const serviceFolder = !!item.providerKey;
let className = `tree-drag tree-id_${item.id}`;
if (dragging) className += " dragging";
if (provider) return;
if ((item.folders && item.folders.length > 0) || serviceFolder) {
return !provider ? (
<TreeNode
id={item.id}
key={item.id}
className={className}
title={item.title}
needTopMargin={item.rootFolderType === FolderType.Privacy}
icon={this.getFolderIcon(item)}
dragging={dragging}
isLeaf={
item.rootFolderType === FolderType.Privacy &&
!this.props.isDesktop
? true
: null
}
newItems={
!this.props.isDesktop &&
item.rootFolderType === FolderType.Privacy
? null
: item.newItems
}
providerKey={item.providerKey}
onBadgeClick={this.onBadgeClick}
showBadge={showBadge}
>
{item.rootFolderType === FolderType.Privacy && !this.props.isDesktop
? null
: this.getCommonItems(item.folders ? item.folders : [])}
</TreeNode>
) : (
<></>
);
}
return !provider ? (
<TreeNode
id={item.id}
key={item.id}
className={className}
title={item.title}
needTopMargin={item.rootFolderType === FolderType.TRASH}
dragging={dragging}
isLeaf={item.foldersCount ? false : true}
icon={this.getFolderIcon(item)}
newItems={
!this.props.isDesktop && item.rootFolderType === FolderType.Privacy
? null
: item.newItems
}
providerKey={item.providerKey}
onBadgeClick={this.onBadgeClick}
showBadge={showBadge}
/>
) : (
<></>
);
});
};
switcherIcon = (obj) => {
if (obj.isLeaf) {
return null;
@ -507,7 +439,6 @@ class TreeFolders extends React.Component {
expandedPanelKeys,
treeFolders,
data,
isCommonWithoutProvider,
} = this.props;
//debugger;
return (
@ -532,9 +463,7 @@ class TreeFolders extends React.Component {
gapBetweenNodesTablet="26"
isFullFillSelection={false}
>
{isCommonWithoutProvider
? this.getCommonItems(data)
: this.getItems(data || treeFolders)}
{this.getItems(data || treeFolders)}
</StyledTreeMenu>
);
}

View File

@ -203,7 +203,7 @@ class OperationsDialog extends React.PureComponent {
filter={filter}
onSelect={this.onSelect}
needUpdate={false}
isCommonWithoutProvider={isCommonWithoutProvider}
withoutProvider={isCommonWithoutProvider}
/>
) : (
<div key="loader" className="panel-loader-wrapper">

View File

@ -1,4 +1,4 @@
import React, { useEffect } from "react";
import React from "react";
import { withRouter } from "react-router";
import ModalDialog from "@appserver/components/modal-dialog";
import { withTranslation } from "react-i18next";
@ -24,17 +24,13 @@ const OperationsPanelComponent = (props) => {
setMoveToPanelVisible,
checkOperationConflict,
setThirdPartyMoveDialogVisible,
commonFolder,
getCommonFolder,
commonTreeFolder,
} = props;
useEffect(() => getCommonFolder(), []);
const zIndex = 310;
const deleteAfter = true; // TODO: get from settings
const expandedKeys = props.expandedKeys.map((item) => item.toString());
//const expandedKeys = ["1"];
const onClose = () => {
isCopy ? setCopyPanelVisible(false) : setMoveToPanelVisible(false);
setExpandedPanelKeys(null);
@ -98,7 +94,6 @@ const OperationsPanelComponent = (props) => {
};
//console.log("Operations panel render");
console.log("commonTreeFolder", commonTreeFolder);
return (
<StyledAsidePanel visible={visible}>
<ModalDialog
@ -129,29 +124,22 @@ const OperationsPanel = withTranslation("OperationsPanel")(
);
export default inject(
(
{
filesStore,
treeFoldersStore,
selectedFolderStore,
dialogsStore,
filesActionsStore,
},
commonTreeFolder
) => {
({
filesStore,
treeFoldersStore,
selectedFolderStore,
dialogsStore,
filesActionsStore,
}) => {
const { filter, selection } = filesStore;
const {
isRecycleBinFolder,
operationsFolders,
setExpandedPanelKeys,
expandedPanelKeys,
commonFolder,
getCommonFolder,
} = treeFoldersStore;
const { checkOperationConflict } = filesActionsStore;
//debugger;
console.log("commonFolder", commonFolder);
const {
moveToPanelVisible,
copyPanelVisible,
@ -162,7 +150,7 @@ export default inject(
} = dialogsStore;
const provider = selection.find((x) => x.providerKey);
//debugger;
return {
expandedKeys: expandedPanelKeys
? expandedPanelKeys
@ -174,8 +162,7 @@ export default inject(
visible: copyPanelVisible || moveToPanelVisible,
provider,
selection,
getCommonFolder,
commonTreeFolder,
setCopyPanelVisible,
setMoveToPanelVisible,
setDestFolderId,

View File

@ -80,9 +80,7 @@ let defaultMonthly = false;
let defaultWeekly = false;
let defaultDaily = false;
let moduleName = "";
let storageFiledValue = "";
class AutomaticBackup extends React.Component {
class AutomaticBackup extends React.PureComponent {
constructor(props) {
super(props);
const { t, language } = props;
@ -91,8 +89,6 @@ class AutomaticBackup extends React.Component {
moment.locale(this.lng);
this.state = {
isShowedStorageType: false, //if current automatic storage not choose
isShowDocuments: false,
isShowThirdParty: false,
isShowThirdPartyStorage: false,
@ -186,11 +182,6 @@ class AutomaticBackup extends React.Component {
defaultMaxCopies = `${selectedSchedule.backupsStored}`;
if (defaultStorageType === "5") {
this.setState({
selectedPermission: "enable",
isShowedStorageTypes: true,
});
this.onSetDefaultOptions();
} else {
getFolderPath(folderId)
@ -199,14 +190,7 @@ class AutomaticBackup extends React.Component {
? (folderDocumentsModulePath = folderPath)
: (folderThirdPartyModulePath = folderPath)
)
.then(() => {
this.setState({
selectedPermission: "enable",
isShowedStorageTypes: true,
});
this.onSetDefaultOptions();
});
.then(() => this.onSetDefaultOptions());
}
}
})
@ -234,6 +218,9 @@ class AutomaticBackup extends React.Component {
if (defaultStorageType === "0") {
// Documents Module
this.setState({
selectedPermission: "enable",
isShowedStorageTypes: true,
isShowDocuments: true,
isCheckedDocuments: true,
selectedTimeOption: defaultHour,
@ -244,9 +231,11 @@ class AutomaticBackup extends React.Component {
if (defaultStorageType === "1") {
// ThirdPartyResource Module
this.setState({
selectedPermission: "enable",
isShowedStorageTypes: true,
isShowThirdParty: true,
isCheckedThirdParty: true,
selectedTimeOption: defaultHour,
selectedMaxCopies: defaultMaxCopies,
selectedNumberMaxCopies: defaultMaxCopies,
@ -256,6 +245,9 @@ class AutomaticBackup extends React.Component {
if (defaultStorageType === "5") {
// ThirdPartyStorage Module
this.setState({
selectedPermission: "enable",
isShowedStorageTypes: true,
isShowThirdPartyStorage: true,
isCheckedThirdPartyStorage: true,
selectedTimeOption: defaultHour,
@ -567,19 +559,9 @@ class AutomaticBackup extends React.Component {
}
})
.then(() => {
this.setState({
selectedPermission: "enable",
isShowedStorageTypes: true,
});
this.onSetDefaultOptions();
});
} else {
this.setState({
selectedPermission: "enable",
isShowedStorageTypes: true,
});
this.onSetDefaultOptions();
}
}
@ -614,6 +596,7 @@ class AutomaticBackup extends React.Component {
});
if (isError) this.setState({ isError: false });
if (defaultStorageType) {
selectedPermission === "disable" &&
this.setState({
@ -751,6 +734,7 @@ class AutomaticBackup extends React.Component {
isCheckedDocuments,
isCheckedThirdParty,
isCheckedThirdPartyStorage,
isChanged,
} = this.state;
let changed;
//debugger;
@ -759,14 +743,16 @@ class AutomaticBackup extends React.Component {
//debugger;
if (+defaultStorageType === 0) {
changed = this.checkOptions();
this.setState({
isChanged: changed,
});
isChanged !== changed &&
this.setState({
isChanged: changed,
});
return;
} else {
this.setState({
isChanged: true,
});
isChanged !== changed &&
this.setState({
isChanged: true,
});
return;
}
}
@ -774,28 +760,32 @@ class AutomaticBackup extends React.Component {
if (isCheckedThirdParty) {
if (+defaultStorageType === 1) {
changed = this.checkOptions();
this.setState({
isChanged: changed,
});
isChanged !== changed &&
this.setState({
isChanged: changed,
});
return;
} else {
this.setState({
isChanged: true,
});
isChanged !== changed &&
this.setState({
isChanged: true,
});
return;
}
}
if (isCheckedThirdPartyStorage) {
if (+defaultStorageType === 5) {
changed = this.checkOptions();
this.setState({
isChanged: changed,
});
isChanged !== changed &&
this.setState({
isChanged: changed,
});
return;
} else {
this.setState({
isChanged: true,
});
isChanged !== changed &&
this.setState({
isChanged: true,
});
return;
}
}
@ -853,7 +843,6 @@ class AutomaticBackup extends React.Component {
if (name === "enable") {
this.setState({
isShowedStorageTypes: true,
selectedPermission: "enable",
});
@ -885,10 +874,6 @@ class AutomaticBackup extends React.Component {
} else {
this.setState({
isShowedStorageTypes: false,
//isCheckedDocuments: false,
//isCheckedThirdParty: false,
//isCheckedThirdPartyStorage: false,
isShowDocuments: false,
isShowThirdParty: false,
isShowThirdPartyStorage: false,
@ -969,6 +954,7 @@ class AutomaticBackup extends React.Component {
console.log("this.state", this.state);
console.log("this.props", this.props);
console.log("__________________");
return isLoading ? (
<Loader className="pageLoader" type="rombs" size="40px" />