From eee7b67037dd3c233f4f4a9343cb133df945a79b Mon Sep 17 00:00:00 2001 From: TatianaLopaeva Date: Fri, 28 May 2021 10:56:24 +0300 Subject: [PATCH] Web: Settings: Auto Backup: Added selected options to the session storage for Documents and ThirdParty resources Module and Refactoring. --- .../data-management/automatic-backup.js | 60 ++------- .../documentsModule.js | 117 +++++++++++------- .../thirdPartyModule.js | 104 +++++++++------- 3 files changed, 144 insertions(+), 137 deletions(-) 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 b54f844f1c..d58569314f 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 @@ -74,10 +74,9 @@ class AutomaticBackup extends React.PureComponent { isDisableOptions: false, selectedFolder: "", - //isPanelVisible: false, + isChanged: false, isSetDefaultFolderPath: false, - //isError: false, downloadingProgress: 100, }; @@ -110,7 +109,6 @@ class AutomaticBackup extends React.PureComponent { } componentDidMount() { - //const { getCommonThirdPartyList } = this.props; this._isMounted = true; const { selectedFolder } = this.state; this.getWeekdaysOptions(); @@ -192,12 +190,9 @@ class AutomaticBackup extends React.PureComponent { defaultPeriod, defaultStorageType, defaultDay, - defaultHour, - defaultMaxCopies, } = this.state; //debugger; - console.log("onSetDefaultOptions"); if (defaultStorageType === "0") { // Documents Module this._isMounted && @@ -207,9 +202,6 @@ class AutomaticBackup extends React.PureComponent { isShowDocuments: true, isCheckedDocuments: true, - // selectedTimeOption: defaultHour, - // selectedMaxCopies: defaultMaxCopies, - // selectedNumberMaxCopies: defaultMaxCopies, }); } if (defaultStorageType === "1") { @@ -221,9 +213,6 @@ class AutomaticBackup extends React.PureComponent { isShowThirdParty: true, isCheckedThirdParty: true, - // selectedTimeOption: defaultHour, - // selectedMaxCopies: defaultMaxCopies, - // selectedNumberMaxCopies: defaultMaxCopies, }); } @@ -236,15 +225,15 @@ class AutomaticBackup extends React.PureComponent { isShowThirdPartyStorage: true, isCheckedThirdPartyStorage: true, - // selectedTimeOption: defaultHour, - // selectedMaxCopies: defaultMaxCopies, - // selectedNumberMaxCopies: defaultMaxCopies, }); } if (+defaultPeriod === 1) { //Every Week option - const arrayIndex = this.lng === "en" ? defaultDay - 1 : defaultDay - 2; //selected number of week + //debugger; + const arrayIndex = this.lng === "en" ? defaultDay : defaultDay - 1; + defaultWeekly = true; + this._isMounted && this.setState({ defaultSelectedOption: this.periodOptions[1].label, @@ -252,39 +241,21 @@ class AutomaticBackup extends React.PureComponent { defaultSelectedWeekdayOption: defaultDay, weeklySchedule: true, }); - - defaultWeekly = true; - // this.setState({ - // selectedOption: defaultSelectedOption, - // weeklySchedule: true, - // selectedWeekdayOption: this.weekdaysOptions[arrayIndex].label, - // selectedNumberWeekdayOption: defaultDay, - // }); } else { if (+defaultPeriod === 2) { //Every Month option + defaultMonthly = true; this._isMounted && this.setState({ defaultSelectedOption: this.periodOptions[2].label, monthlySchedule: true, }); - // defaultSelectedOption = this.periodOptions[2].label; - defaultMonthly = true; - // this.setState({ - // selectedOption: defaultSelectedOption, - // monthlySchedule: true, - // selectedMonthOption: `${defaultDay}`, //selected day of month - // }); } else { defaultDaily = true; this._isMounted && this.setState({ defaultSelectedOption: this.periodOptions[0].label, }); - //defaultSelectedOption = this.periodOptions[0].label; - // this.setState({ - // selectedOption: defaultSelectedOption, - // }); } } @@ -382,16 +353,12 @@ class AutomaticBackup extends React.PureComponent { } const isEnglishLanguage = this.lng === "en"; - if (!isEnglishLanguage) { - const startWeek = this.weekdaysOptions[0]; - this.weekdaysOptions.shift(); - this.weekdaysOptions.push(startWeek); - } - console.log("this.weekdaysOptions", this.weekdaysOptions); this._isMounted && this.setState({ weekOptions: this.weekdaysOptions, - selectedWeekdayOption: this.weekdaysOptions[0].label, + selectedWeekdayOption: isEnglishLanguage + ? this.weekdaysOptions[0].label + : this.weekdaysOptions[1].label, }); }; @@ -405,16 +372,13 @@ class AutomaticBackup extends React.PureComponent { weeklySchedule, defaultSelectedFolder, defaultStorageType, - //isError, } = this.state; this.setState({ isChanged: false, - // isSetDefaultFolderPath: true, selectedFolder: defaultSelectedFolder, }); - //if (isError) this.setState({ isError: false }); if (defaultStorageType) { //debugger; selectedPermission === "disable" && @@ -679,7 +643,7 @@ class AutomaticBackup extends React.PureComponent { //console.log("commonThirdPartyList auto", this.commonThirdPartyList); //console.log("this.props", this.props); //console.log("__________________"); - console.log("selectedPermission", selectedPermission); + //console.log("selectedPermission", selectedPermission); return isLoading ? ( ) : ( @@ -876,7 +840,7 @@ class AutomaticBackup extends React.PureComponent { )} - {isChanged && !isShowThirdPartyStorage && !isShowThirdParty && ( + {/* {isChanged && !isShowThirdPartyStorage && !isShowThirdParty && ( - )} + )} */} )} diff --git a/web/ASC.Web.Client/src/components/pages/Settings/categories/data-management/sub-components-automatic-backup/documentsModule.js b/web/ASC.Web.Client/src/components/pages/Settings/categories/data-management/sub-components-automatic-backup/documentsModule.js index a4e18f176f..cddf8bd9f3 100644 --- a/web/ASC.Web.Client/src/components/pages/Settings/categories/data-management/sub-components-automatic-backup/documentsModule.js +++ b/web/ASC.Web.Client/src/components/pages/Settings/categories/data-management/sub-components-automatic-backup/documentsModule.js @@ -1,34 +1,33 @@ import React from "react"; import { withTranslation } from "react-i18next"; import SelectedFolder from "files/SelectedFolder"; -import { inject, observer } from "mobx-react"; import ScheduleComponent from "./scheduleComponent"; import SaveCancelButtons from "@appserver/components/save-cancel-buttons"; import { createBackupSchedule, getBackupSchedule, } from "@appserver/common/api/portal"; -import { getFolderPath } from "@appserver/common/api/files"; + import toastr from "@appserver/components/toast/toastr"; import { saveToSessionStorage, getFromSessionStorage } from "../.././../utils"; import { StyledComponent } from "../styled-backup"; import TextInput from "@appserver/components/text-input"; -// let defaultSelectedFolder = ""; -// let defaultStorageType = ""; -// let defaultHour = ""; -// let defaultPeriod = ""; -// let defaultDay = 1; -// let defaultMaxCopies = "10"; -// let defaultSelectedOption = ""; -// let defaultSelectedWeekdayOption = ""; let periodFromSessionStorage = ""; +let numberPeriodFromSessionStorage = null; let dayFromSessionStorage = ""; let timeFromSessionStorage = ""; let maxCopiesFromSessionStorage = ""; let weekdayNameFromSessionStorage = ""; -const settingNames = ["period", "day", "time", "maxCopies", "weekdayName"]; +const settingNames = [ + "period", + "day", + "time", + "maxCopies", + "weekdayName", + "numberPeriod", +]; class DocumentsModule extends React.Component { constructor(props) { super(props); @@ -39,13 +38,9 @@ class DocumentsModule extends React.Component { defaultDay, defaultHour, defaultMaxCopies, - weekdaysOptions, - lng, + monthlySchedule, weeklySchedule, - defaultStorageType, - defaultPeriod, - defaultSelectedWeekdayOption, } = this.props; //debugger; @@ -54,13 +49,30 @@ class DocumentsModule extends React.Component { timeFromSessionStorage = getFromSessionStorage("time"); maxCopiesFromSessionStorage = getFromSessionStorage("maxCopies"); weekdayNameFromSessionStorage = getFromSessionStorage("weekdayName"); + numberPeriodFromSessionStorage = getFromSessionStorage("numberPeriod"); + + const numberMaxCopies = maxCopiesFromSessionStorage + ? maxCopiesFromSessionStorage.substring( + 0, + maxCopiesFromSessionStorage.indexOf(" ") + ) + : ""; const monthNumber = monthlySchedule ? dayFromSessionStorage || `${defaultDay}` - : "1"; + : dayFromSessionStorage || "1"; + const weekdayNumber = weeklySchedule ? dayFromSessionStorage || defaultDay - : "2"; + : dayFromSessionStorage || "2"; + + const weekdayOption = numberPeriodFromSessionStorage + ? numberPeriodFromSessionStorage === 2 + : weeklySchedule || false; + const monthOption = numberPeriodFromSessionStorage + ? numberPeriodFromSessionStorage === 3 + : monthlySchedule || false; + this.state = { isPanelVisible: false, isChanged: false, @@ -68,9 +80,9 @@ class DocumentsModule extends React.Component { isError: false, isLoading: false, - monthlySchedule: monthlySchedule || false, + monthlySchedule: monthOption, dailySchedule: false, - weeklySchedule: weeklySchedule || false, + weeklySchedule: weekdayOption, selectedOption: periodFromSessionStorage || @@ -79,12 +91,11 @@ class DocumentsModule extends React.Component { selectedWeekdayOption: weekdayNameFromSessionStorage || selectedWeekdayOption, selectedNumberWeekdayOption: weekdayNumber, - selectedTimeOption: defaultHour || "12:00", + selectedTimeOption: timeFromSessionStorage || defaultHour || "12:00", selectedMonthOption: monthNumber, selectedMaxCopies: maxCopiesFromSessionStorage || defaultMaxCopies || "10", - selectedNumberMaxCopies: - maxCopiesFromSessionStorage || defaultMaxCopies || "10", + selectedNumberMaxCopies: numberMaxCopies || defaultMaxCopies || "10", isSetDefaultFolderPath: false, }; @@ -162,6 +173,9 @@ class DocumentsModule extends React.Component { const key = options.key; const label = options.label; //debugger; + saveToSessionStorage("period", label); + saveToSessionStorage("numberPeriod", key); + this.setState({ selectedOption: label }); key === 1 ? this.setState( @@ -203,6 +217,10 @@ class DocumentsModule extends React.Component { const key = options.key; const label = options.label; //debugger; + + saveToSessionStorage("weekdayName", label); + saveToSessionStorage("day", key); + this.setState( { selectedNumberWeekdayOption: key, @@ -218,10 +236,12 @@ class DocumentsModule extends React.Component { const label = options.label; if (key <= 24) { + saveToSessionStorage("time", label); this.setState({ selectedTimeOption: label }, function () { this.checkChanges(); }); } else { + saveToSessionStorage("day", label); this.setState( { selectedMonthOption: label, @@ -237,6 +257,8 @@ class DocumentsModule extends React.Component { const key = options.key; const label = options.label; + saveToSessionStorage("maxCopies", label); + this.setState( { selectedNumberMaxCopies: key, @@ -349,12 +371,13 @@ class DocumentsModule extends React.Component { let storageParams = []; - // if (!selectedFolder) { - // this.setState({ - // isError: true, - // }); - // return; - // } + if (!selectedFolder) { + this.setState({ + isError: true, + }); + return; + } + onSetLoadingData && onSetLoadingData(true); this.setState({ isLoadingData: true }, function () { let period = weeklySchedule ? "1" : monthlySchedule ? "2" : "0"; @@ -369,9 +392,8 @@ class DocumentsModule extends React.Component { 0, selectedTimeOption.indexOf(":") ); - let storageType = "0"; - //console.log("storageFiledValue", this.storageFiledValue); + let storageType = "0"; storageParams = [ { @@ -460,6 +482,11 @@ class DocumentsModule extends React.Component { } = this.state; onSetLoadingData && onSetLoadingData(true); + + settingNames.forEach((settingName) => { + saveToSessionStorage(settingName, ""); + }); + if (defaultStorageType) { this.setState({ isSetDefaultFolderPath: true, @@ -491,7 +518,7 @@ class DocumentsModule extends React.Component { if (+defaultPeriod === 1) { //Every Week option //debugger; - const arrayIndex = lng === "en" ? defaultDay - 1 : defaultDay - 2; //selected number of week + const arrayIndex = lng === "en" ? defaultDay : defaultDay - 1; //selected number of week defaultSelectedOption = periodOptions[1].label; defaultSelectedWeekdayOption = defaultDay; // defaultWeekly = true; @@ -505,14 +532,12 @@ class DocumentsModule extends React.Component { if (+defaultPeriod === 2) { //Every Month option defaultSelectedOption = periodOptions[2].label; - //defaultMonthly = true; this.setState({ selectedOption: defaultSelectedOption, monthlySchedule: true, selectedMonthOption: `${defaultDay}`, //selected day of month }); } else { - // defaultDaily = true; defaultSelectedOption = periodOptions[0].label; this.setState({ selectedOption: defaultSelectedOption, @@ -552,8 +577,6 @@ class DocumentsModule extends React.Component { monthNumberOptionsArray, timeOptionsArray, maxNumberCopiesArray, - // weeklySchedule, - // monthlySchedule, isCopyingToLocal, t, onSetLoadingData, @@ -566,14 +589,14 @@ class DocumentsModule extends React.Component { <> {!isLoading ? ( { + saveToSessionStorage(settingName, ""); + }); + if (defaultStorageType) { this.setState({ isSetDefaultFolderPath: true, @@ -486,7 +510,7 @@ class ThirdPartyModule extends React.Component { if (+defaultPeriod === 1) { //Every Week option //debugger; - const arrayIndex = lng === "en" ? defaultDay - 1 : defaultDay - 2; //selected number of week + const arrayIndex = lng === "en" ? defaultDay : defaultDay - 1; //selected number of week defaultSelectedOption = periodOptions[1].label; defaultSelectedWeekdayOption = defaultDay; // defaultWeekly = true; @@ -500,14 +524,12 @@ class ThirdPartyModule extends React.Component { if (+defaultPeriod === 2) { //Every Month option defaultSelectedOption = periodOptions[2].label; - //defaultMonthly = true; this.setState({ selectedOption: defaultSelectedOption, monthlySchedule: true, selectedMonthOption: `${defaultDay}`, //selected day of month }); } else { - // defaultDaily = true; defaultSelectedOption = periodOptions[0].label; this.setState({ selectedOption: defaultSelectedOption, @@ -547,8 +569,6 @@ class ThirdPartyModule extends React.Component { monthNumberOptionsArray, timeOptionsArray, maxNumberCopiesArray, - // weeklySchedule, - // monthlySchedule, isCopyingToLocal, t, onSetLoadingData, @@ -561,14 +581,14 @@ class ThirdPartyModule extends React.Component { <> {!isLoading ? (