Web: Settings: Backup: Refactoring.
This commit is contained in:
parent
54fa2309f4
commit
8d971cc286
@ -196,6 +196,7 @@ class TreeFolders extends React.Component {
|
|||||||
};
|
};
|
||||||
|
|
||||||
getItems = (data) => {
|
getItems = (data) => {
|
||||||
|
const { withoutProvider } = this.props;
|
||||||
return data.map((item) => {
|
return data.map((item) => {
|
||||||
const dragging = this.props.dragging ? this.showDragItems(item) : false;
|
const dragging = this.props.dragging ? this.showDragItems(item) : false;
|
||||||
|
|
||||||
@ -205,6 +206,9 @@ class TreeFolders extends React.Component {
|
|||||||
const provider = item.providerKey;
|
const provider = item.providerKey;
|
||||||
const serviceFolder = !!item.providerKey;
|
const serviceFolder = !!item.providerKey;
|
||||||
let className = `tree-drag tree-id_${item.id}`;
|
let className = `tree-drag tree-id_${item.id}`;
|
||||||
|
|
||||||
|
if (withoutProvider && provider) return;
|
||||||
|
|
||||||
if (dragging) className += " dragging";
|
if (dragging) className += " dragging";
|
||||||
if ((item.folders && item.folders.length > 0) || serviceFolder) {
|
if ((item.folders && item.folders.length > 0) || serviceFolder) {
|
||||||
return (
|
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) => {
|
switcherIcon = (obj) => {
|
||||||
if (obj.isLeaf) {
|
if (obj.isLeaf) {
|
||||||
return null;
|
return null;
|
||||||
@ -507,7 +439,6 @@ class TreeFolders extends React.Component {
|
|||||||
expandedPanelKeys,
|
expandedPanelKeys,
|
||||||
treeFolders,
|
treeFolders,
|
||||||
data,
|
data,
|
||||||
isCommonWithoutProvider,
|
|
||||||
} = this.props;
|
} = this.props;
|
||||||
//debugger;
|
//debugger;
|
||||||
return (
|
return (
|
||||||
@ -532,9 +463,7 @@ class TreeFolders extends React.Component {
|
|||||||
gapBetweenNodesTablet="26"
|
gapBetweenNodesTablet="26"
|
||||||
isFullFillSelection={false}
|
isFullFillSelection={false}
|
||||||
>
|
>
|
||||||
{isCommonWithoutProvider
|
{this.getItems(data || treeFolders)}
|
||||||
? this.getCommonItems(data)
|
|
||||||
: this.getItems(data || treeFolders)}
|
|
||||||
</StyledTreeMenu>
|
</StyledTreeMenu>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -203,7 +203,7 @@ class OperationsDialog extends React.PureComponent {
|
|||||||
filter={filter}
|
filter={filter}
|
||||||
onSelect={this.onSelect}
|
onSelect={this.onSelect}
|
||||||
needUpdate={false}
|
needUpdate={false}
|
||||||
isCommonWithoutProvider={isCommonWithoutProvider}
|
withoutProvider={isCommonWithoutProvider}
|
||||||
/>
|
/>
|
||||||
) : (
|
) : (
|
||||||
<div key="loader" className="panel-loader-wrapper">
|
<div key="loader" className="panel-loader-wrapper">
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import React, { useEffect } from "react";
|
import React from "react";
|
||||||
import { withRouter } from "react-router";
|
import { withRouter } from "react-router";
|
||||||
import ModalDialog from "@appserver/components/modal-dialog";
|
import ModalDialog from "@appserver/components/modal-dialog";
|
||||||
import { withTranslation } from "react-i18next";
|
import { withTranslation } from "react-i18next";
|
||||||
@ -24,17 +24,13 @@ const OperationsPanelComponent = (props) => {
|
|||||||
setMoveToPanelVisible,
|
setMoveToPanelVisible,
|
||||||
checkOperationConflict,
|
checkOperationConflict,
|
||||||
setThirdPartyMoveDialogVisible,
|
setThirdPartyMoveDialogVisible,
|
||||||
commonFolder,
|
|
||||||
getCommonFolder,
|
|
||||||
commonTreeFolder,
|
|
||||||
} = props;
|
} = props;
|
||||||
|
|
||||||
useEffect(() => getCommonFolder(), []);
|
|
||||||
const zIndex = 310;
|
const zIndex = 310;
|
||||||
const deleteAfter = true; // TODO: get from settings
|
const deleteAfter = true; // TODO: get from settings
|
||||||
|
|
||||||
const expandedKeys = props.expandedKeys.map((item) => item.toString());
|
const expandedKeys = props.expandedKeys.map((item) => item.toString());
|
||||||
//const expandedKeys = ["1"];
|
|
||||||
const onClose = () => {
|
const onClose = () => {
|
||||||
isCopy ? setCopyPanelVisible(false) : setMoveToPanelVisible(false);
|
isCopy ? setCopyPanelVisible(false) : setMoveToPanelVisible(false);
|
||||||
setExpandedPanelKeys(null);
|
setExpandedPanelKeys(null);
|
||||||
@ -98,7 +94,6 @@ const OperationsPanelComponent = (props) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
//console.log("Operations panel render");
|
//console.log("Operations panel render");
|
||||||
console.log("commonTreeFolder", commonTreeFolder);
|
|
||||||
return (
|
return (
|
||||||
<StyledAsidePanel visible={visible}>
|
<StyledAsidePanel visible={visible}>
|
||||||
<ModalDialog
|
<ModalDialog
|
||||||
@ -129,29 +124,22 @@ const OperationsPanel = withTranslation("OperationsPanel")(
|
|||||||
);
|
);
|
||||||
|
|
||||||
export default inject(
|
export default inject(
|
||||||
(
|
({
|
||||||
{
|
filesStore,
|
||||||
filesStore,
|
treeFoldersStore,
|
||||||
treeFoldersStore,
|
selectedFolderStore,
|
||||||
selectedFolderStore,
|
dialogsStore,
|
||||||
dialogsStore,
|
filesActionsStore,
|
||||||
filesActionsStore,
|
}) => {
|
||||||
},
|
|
||||||
commonTreeFolder
|
|
||||||
) => {
|
|
||||||
const { filter, selection } = filesStore;
|
const { filter, selection } = filesStore;
|
||||||
const {
|
const {
|
||||||
isRecycleBinFolder,
|
isRecycleBinFolder,
|
||||||
operationsFolders,
|
operationsFolders,
|
||||||
setExpandedPanelKeys,
|
setExpandedPanelKeys,
|
||||||
expandedPanelKeys,
|
expandedPanelKeys,
|
||||||
commonFolder,
|
|
||||||
getCommonFolder,
|
|
||||||
} = treeFoldersStore;
|
} = treeFoldersStore;
|
||||||
const { checkOperationConflict } = filesActionsStore;
|
const { checkOperationConflict } = filesActionsStore;
|
||||||
|
|
||||||
//debugger;
|
|
||||||
console.log("commonFolder", commonFolder);
|
|
||||||
const {
|
const {
|
||||||
moveToPanelVisible,
|
moveToPanelVisible,
|
||||||
copyPanelVisible,
|
copyPanelVisible,
|
||||||
@ -162,7 +150,7 @@ export default inject(
|
|||||||
} = dialogsStore;
|
} = dialogsStore;
|
||||||
|
|
||||||
const provider = selection.find((x) => x.providerKey);
|
const provider = selection.find((x) => x.providerKey);
|
||||||
//debugger;
|
|
||||||
return {
|
return {
|
||||||
expandedKeys: expandedPanelKeys
|
expandedKeys: expandedPanelKeys
|
||||||
? expandedPanelKeys
|
? expandedPanelKeys
|
||||||
@ -174,8 +162,7 @@ export default inject(
|
|||||||
visible: copyPanelVisible || moveToPanelVisible,
|
visible: copyPanelVisible || moveToPanelVisible,
|
||||||
provider,
|
provider,
|
||||||
selection,
|
selection,
|
||||||
getCommonFolder,
|
|
||||||
commonTreeFolder,
|
|
||||||
setCopyPanelVisible,
|
setCopyPanelVisible,
|
||||||
setMoveToPanelVisible,
|
setMoveToPanelVisible,
|
||||||
setDestFolderId,
|
setDestFolderId,
|
||||||
|
@ -80,9 +80,7 @@ let defaultMonthly = false;
|
|||||||
let defaultWeekly = false;
|
let defaultWeekly = false;
|
||||||
let defaultDaily = false;
|
let defaultDaily = false;
|
||||||
|
|
||||||
let moduleName = "";
|
class AutomaticBackup extends React.PureComponent {
|
||||||
let storageFiledValue = "";
|
|
||||||
class AutomaticBackup extends React.Component {
|
|
||||||
constructor(props) {
|
constructor(props) {
|
||||||
super(props);
|
super(props);
|
||||||
const { t, language } = props;
|
const { t, language } = props;
|
||||||
@ -91,8 +89,6 @@ class AutomaticBackup extends React.Component {
|
|||||||
moment.locale(this.lng);
|
moment.locale(this.lng);
|
||||||
|
|
||||||
this.state = {
|
this.state = {
|
||||||
isShowedStorageType: false, //if current automatic storage not choose
|
|
||||||
|
|
||||||
isShowDocuments: false,
|
isShowDocuments: false,
|
||||||
isShowThirdParty: false,
|
isShowThirdParty: false,
|
||||||
isShowThirdPartyStorage: false,
|
isShowThirdPartyStorage: false,
|
||||||
@ -186,11 +182,6 @@ class AutomaticBackup extends React.Component {
|
|||||||
defaultMaxCopies = `${selectedSchedule.backupsStored}`;
|
defaultMaxCopies = `${selectedSchedule.backupsStored}`;
|
||||||
|
|
||||||
if (defaultStorageType === "5") {
|
if (defaultStorageType === "5") {
|
||||||
this.setState({
|
|
||||||
selectedPermission: "enable",
|
|
||||||
isShowedStorageTypes: true,
|
|
||||||
});
|
|
||||||
|
|
||||||
this.onSetDefaultOptions();
|
this.onSetDefaultOptions();
|
||||||
} else {
|
} else {
|
||||||
getFolderPath(folderId)
|
getFolderPath(folderId)
|
||||||
@ -199,14 +190,7 @@ class AutomaticBackup extends React.Component {
|
|||||||
? (folderDocumentsModulePath = folderPath)
|
? (folderDocumentsModulePath = folderPath)
|
||||||
: (folderThirdPartyModulePath = folderPath)
|
: (folderThirdPartyModulePath = folderPath)
|
||||||
)
|
)
|
||||||
.then(() => {
|
.then(() => this.onSetDefaultOptions());
|
||||||
this.setState({
|
|
||||||
selectedPermission: "enable",
|
|
||||||
isShowedStorageTypes: true,
|
|
||||||
});
|
|
||||||
|
|
||||||
this.onSetDefaultOptions();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@ -234,6 +218,9 @@ class AutomaticBackup extends React.Component {
|
|||||||
if (defaultStorageType === "0") {
|
if (defaultStorageType === "0") {
|
||||||
// Documents Module
|
// Documents Module
|
||||||
this.setState({
|
this.setState({
|
||||||
|
selectedPermission: "enable",
|
||||||
|
isShowedStorageTypes: true,
|
||||||
|
|
||||||
isShowDocuments: true,
|
isShowDocuments: true,
|
||||||
isCheckedDocuments: true,
|
isCheckedDocuments: true,
|
||||||
selectedTimeOption: defaultHour,
|
selectedTimeOption: defaultHour,
|
||||||
@ -244,9 +231,11 @@ class AutomaticBackup extends React.Component {
|
|||||||
if (defaultStorageType === "1") {
|
if (defaultStorageType === "1") {
|
||||||
// ThirdPartyResource Module
|
// ThirdPartyResource Module
|
||||||
this.setState({
|
this.setState({
|
||||||
|
selectedPermission: "enable",
|
||||||
|
isShowedStorageTypes: true,
|
||||||
|
|
||||||
isShowThirdParty: true,
|
isShowThirdParty: true,
|
||||||
isCheckedThirdParty: true,
|
isCheckedThirdParty: true,
|
||||||
|
|
||||||
selectedTimeOption: defaultHour,
|
selectedTimeOption: defaultHour,
|
||||||
selectedMaxCopies: defaultMaxCopies,
|
selectedMaxCopies: defaultMaxCopies,
|
||||||
selectedNumberMaxCopies: defaultMaxCopies,
|
selectedNumberMaxCopies: defaultMaxCopies,
|
||||||
@ -256,6 +245,9 @@ class AutomaticBackup extends React.Component {
|
|||||||
if (defaultStorageType === "5") {
|
if (defaultStorageType === "5") {
|
||||||
// ThirdPartyStorage Module
|
// ThirdPartyStorage Module
|
||||||
this.setState({
|
this.setState({
|
||||||
|
selectedPermission: "enable",
|
||||||
|
isShowedStorageTypes: true,
|
||||||
|
|
||||||
isShowThirdPartyStorage: true,
|
isShowThirdPartyStorage: true,
|
||||||
isCheckedThirdPartyStorage: true,
|
isCheckedThirdPartyStorage: true,
|
||||||
selectedTimeOption: defaultHour,
|
selectedTimeOption: defaultHour,
|
||||||
@ -567,19 +559,9 @@ class AutomaticBackup extends React.Component {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
this.setState({
|
|
||||||
selectedPermission: "enable",
|
|
||||||
isShowedStorageTypes: true,
|
|
||||||
});
|
|
||||||
|
|
||||||
this.onSetDefaultOptions();
|
this.onSetDefaultOptions();
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
this.setState({
|
|
||||||
selectedPermission: "enable",
|
|
||||||
isShowedStorageTypes: true,
|
|
||||||
});
|
|
||||||
|
|
||||||
this.onSetDefaultOptions();
|
this.onSetDefaultOptions();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -614,6 +596,7 @@ class AutomaticBackup extends React.Component {
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (isError) this.setState({ isError: false });
|
if (isError) this.setState({ isError: false });
|
||||||
|
|
||||||
if (defaultStorageType) {
|
if (defaultStorageType) {
|
||||||
selectedPermission === "disable" &&
|
selectedPermission === "disable" &&
|
||||||
this.setState({
|
this.setState({
|
||||||
@ -751,6 +734,7 @@ class AutomaticBackup extends React.Component {
|
|||||||
isCheckedDocuments,
|
isCheckedDocuments,
|
||||||
isCheckedThirdParty,
|
isCheckedThirdParty,
|
||||||
isCheckedThirdPartyStorage,
|
isCheckedThirdPartyStorage,
|
||||||
|
isChanged,
|
||||||
} = this.state;
|
} = this.state;
|
||||||
let changed;
|
let changed;
|
||||||
//debugger;
|
//debugger;
|
||||||
@ -759,14 +743,16 @@ class AutomaticBackup extends React.Component {
|
|||||||
//debugger;
|
//debugger;
|
||||||
if (+defaultStorageType === 0) {
|
if (+defaultStorageType === 0) {
|
||||||
changed = this.checkOptions();
|
changed = this.checkOptions();
|
||||||
this.setState({
|
isChanged !== changed &&
|
||||||
isChanged: changed,
|
this.setState({
|
||||||
});
|
isChanged: changed,
|
||||||
|
});
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
this.setState({
|
isChanged !== changed &&
|
||||||
isChanged: true,
|
this.setState({
|
||||||
});
|
isChanged: true,
|
||||||
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -774,28 +760,32 @@ class AutomaticBackup extends React.Component {
|
|||||||
if (isCheckedThirdParty) {
|
if (isCheckedThirdParty) {
|
||||||
if (+defaultStorageType === 1) {
|
if (+defaultStorageType === 1) {
|
||||||
changed = this.checkOptions();
|
changed = this.checkOptions();
|
||||||
this.setState({
|
isChanged !== changed &&
|
||||||
isChanged: changed,
|
this.setState({
|
||||||
});
|
isChanged: changed,
|
||||||
|
});
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
this.setState({
|
isChanged !== changed &&
|
||||||
isChanged: true,
|
this.setState({
|
||||||
});
|
isChanged: true,
|
||||||
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (isCheckedThirdPartyStorage) {
|
if (isCheckedThirdPartyStorage) {
|
||||||
if (+defaultStorageType === 5) {
|
if (+defaultStorageType === 5) {
|
||||||
changed = this.checkOptions();
|
changed = this.checkOptions();
|
||||||
this.setState({
|
isChanged !== changed &&
|
||||||
isChanged: changed,
|
this.setState({
|
||||||
});
|
isChanged: changed,
|
||||||
|
});
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
this.setState({
|
isChanged !== changed &&
|
||||||
isChanged: true,
|
this.setState({
|
||||||
});
|
isChanged: true,
|
||||||
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -853,7 +843,6 @@ class AutomaticBackup extends React.Component {
|
|||||||
if (name === "enable") {
|
if (name === "enable") {
|
||||||
this.setState({
|
this.setState({
|
||||||
isShowedStorageTypes: true,
|
isShowedStorageTypes: true,
|
||||||
|
|
||||||
selectedPermission: "enable",
|
selectedPermission: "enable",
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -885,10 +874,6 @@ class AutomaticBackup extends React.Component {
|
|||||||
} else {
|
} else {
|
||||||
this.setState({
|
this.setState({
|
||||||
isShowedStorageTypes: false,
|
isShowedStorageTypes: false,
|
||||||
//isCheckedDocuments: false,
|
|
||||||
//isCheckedThirdParty: false,
|
|
||||||
//isCheckedThirdPartyStorage: false,
|
|
||||||
|
|
||||||
isShowDocuments: false,
|
isShowDocuments: false,
|
||||||
isShowThirdParty: false,
|
isShowThirdParty: false,
|
||||||
isShowThirdPartyStorage: false,
|
isShowThirdPartyStorage: false,
|
||||||
@ -969,6 +954,7 @@ class AutomaticBackup extends React.Component {
|
|||||||
|
|
||||||
console.log("this.state", this.state);
|
console.log("this.state", this.state);
|
||||||
console.log("this.props", this.props);
|
console.log("this.props", this.props);
|
||||||
|
console.log("__________________");
|
||||||
|
|
||||||
return isLoading ? (
|
return isLoading ? (
|
||||||
<Loader className="pageLoader" type="rombs" size="40px" />
|
<Loader className="pageLoader" type="rombs" size="40px" />
|
||||||
|
Loading…
Reference in New Issue
Block a user