From 8d971cc28691c609d3bf4bcad3a921dc3564312b Mon Sep 17 00:00:00 2001 From: TatianaLopaeva Date: Mon, 17 May 2021 14:46:01 +0300 Subject: [PATCH] Web: Settings: Backup: Refactoring. --- .../components/Article/Body/TreeFolders.js | 81 ++--------------- .../panels/OperationsDialog/index.js | 2 +- .../panels/OperationsPanel/index.js | 35 +++----- .../data-management/automatic-backup.js | 90 ++++++++----------- 4 files changed, 55 insertions(+), 153 deletions(-) diff --git a/products/ASC.Files/Client/src/components/Article/Body/TreeFolders.js b/products/ASC.Files/Client/src/components/Article/Body/TreeFolders.js index 364e1afc85..e72470926c 100644 --- a/products/ASC.Files/Client/src/components/Article/Body/TreeFolders.js +++ b/products/ASC.Files/Client/src/components/Article/Body/TreeFolders.js @@ -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 ? ( - - {item.rootFolderType === FolderType.Privacy && !this.props.isDesktop - ? null - : this.getCommonItems(item.folders ? item.folders : [])} - - ) : ( - <> - ); - } - return !provider ? ( - - ) : ( - <> - ); - }); - }; 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)} ); } diff --git a/products/ASC.Files/Client/src/components/panels/OperationsDialog/index.js b/products/ASC.Files/Client/src/components/panels/OperationsDialog/index.js index 003ff32d79..4c4f103a7a 100644 --- a/products/ASC.Files/Client/src/components/panels/OperationsDialog/index.js +++ b/products/ASC.Files/Client/src/components/panels/OperationsDialog/index.js @@ -203,7 +203,7 @@ class OperationsDialog extends React.PureComponent { filter={filter} onSelect={this.onSelect} needUpdate={false} - isCommonWithoutProvider={isCommonWithoutProvider} + withoutProvider={isCommonWithoutProvider} /> ) : (
diff --git a/products/ASC.Files/Client/src/components/panels/OperationsPanel/index.js b/products/ASC.Files/Client/src/components/panels/OperationsPanel/index.js index 2ffb3fe5ee..e0b3c6049b 100644 --- a/products/ASC.Files/Client/src/components/panels/OperationsPanel/index.js +++ b/products/ASC.Files/Client/src/components/panels/OperationsPanel/index.js @@ -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 ( { + ({ + 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, diff --git a/web/ASC.Web.Client/src/components/pages/Settings/categories/data-management/automatic-backup.js b/web/ASC.Web.Client/src/components/pages/Settings/categories/data-management/automatic-backup.js index 230d8cf7ed..85ee2d4305 100644 --- a/web/ASC.Web.Client/src/components/pages/Settings/categories/data-management/automatic-backup.js +++ b/web/ASC.Web.Client/src/components/pages/Settings/categories/data-management/automatic-backup.js @@ -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 ? (