Web: files: AutoBackup: Optimization saving process.

This commit is contained in:
Tatiana Lopaeva 2022-02-16 11:24:12 +03:00
parent b5ebbef616
commit f978cb657d

View File

@ -195,7 +195,7 @@ class AutomaticBackup extends React.PureComponent {
clearInterval(this.timerId); clearInterval(this.timerId);
} }
onSetDefaultOptions = (selectedSchedule) => { onSetDefaultOptions = (selectedSchedule, savingProcess = false) => {
let checkedStorage = {}; let checkedStorage = {};
let defaultOptions, selectedOptions; let defaultOptions, selectedOptions;
@ -267,17 +267,35 @@ class AutomaticBackup extends React.PureComponent {
this.onSetDefaultPeriodOption( this.onSetDefaultPeriodOption(
checkedStorage, checkedStorage,
defaultOptions, defaultOptions,
selectedOptions selectedOptions,
savingProcess
); );
}; };
onSetDefaultPeriodOption = ( onSetDefaultPeriodOption = (
checkedStorage, checkedStorage,
defaultOptions, defaultOptions,
selectedOptions selectedOptions,
savingProcess
) => { ) => {
const { defaultPeriodNumber, defaultDay, isEnable } = defaultOptions; const { defaultPeriodNumber, defaultDay, isEnable } = defaultOptions;
const defaultPeriodSettings = this.setDefaultPeriodSettings(
+defaultPeriodNumber
);
const resetOptions =
savingProcess && this._isMounted
? {
isLoadingData: false,
isChanged: false,
isChangedInStorage: false,
isError: false,
isErrorsFields: false,
isSuccessSave: true,
}
: {};
if (+defaultPeriodNumber === EVERY_WEEK_TYPE) { if (+defaultPeriodNumber === EVERY_WEEK_TYPE) {
//Every Week option //Every Week option
let weekDay; let weekDay;
@ -303,15 +321,14 @@ class AutomaticBackup extends React.PureComponent {
selectedWeekday: defaultDay, selectedWeekday: defaultDay,
defaultWeekday: defaultDay, defaultWeekday: defaultDay,
defaultWeeklySchedule: true,
selectedWeeklySchedule: true,
selectedMonthDay: "1", selectedMonthDay: "1",
defaultMonthDay: "1", defaultMonthDay: "1",
isInitialLoading: false, isInitialLoading: false,
...defaultPeriodSettings,
...defaultOptions, ...defaultOptions,
...selectedOptions, ...selectedOptions,
...resetOptions,
}); });
} else { } else {
const weekDay = this.weekdaysLabelArray[0].key; const weekDay = this.weekdaysLabelArray[0].key;
@ -335,12 +352,11 @@ class AutomaticBackup extends React.PureComponent {
selectedMonthDay: defaultDay, selectedMonthDay: defaultDay,
defaultMonthDay: defaultDay, defaultMonthDay: defaultDay,
defaultMonthlySchedule: true,
selectedMonthlySchedule: true,
isInitialLoading: false, isInitialLoading: false,
...defaultPeriodSettings,
...defaultOptions, ...defaultOptions,
...selectedOptions, ...selectedOptions,
...resetOptions,
}); });
} else { } else {
//Every Day option //Every Day option
@ -360,12 +376,11 @@ class AutomaticBackup extends React.PureComponent {
selectedMonthDay: "1", selectedMonthDay: "1",
defaultMonthDay: "1", defaultMonthDay: "1",
defaultDailySchedule: true,
selectedDailySchedule: true,
isInitialLoading: false, isInitialLoading: false,
...defaultPeriodSettings,
...defaultOptions, ...defaultOptions,
...selectedOptions, ...selectedOptions,
...resetOptions,
}); });
} }
} }
@ -539,6 +554,27 @@ class AutomaticBackup extends React.PureComponent {
}); });
}; };
setDefaultPeriodSettings = (key = -1) => {
const titleArray = [
[EVERY_DAY_TYPE, "Daily"],
[EVERY_WEEK_TYPE, "Weekly"],
[EVERY_MONTH_TYPE, "Monthly"],
];
let resultObj = {};
for (let i = 0; i < titleArray.length; i++) {
if (+key === titleArray[i][0]) {
resultObj[`default${titleArray[i][1]}Schedule`] = true;
resultObj[`selected${titleArray[i][1]}Schedule`] = true;
} else {
resultObj[`default${titleArray[i][1]}Schedule`] = false;
resultObj[`selected${titleArray[i][1]}Schedule`] = false;
}
}
return resultObj;
};
resetPeriodSettings = (key = -1) => { resetPeriodSettings = (key = -1) => {
const titleArray = [ const titleArray = [
[EVERY_DAY_TYPE, "Daily"], [EVERY_DAY_TYPE, "Daily"],
@ -672,12 +708,13 @@ class AutomaticBackup extends React.PureComponent {
if (i === lastElem && +key === STORAGES_MODULE_TYPE) { if (i === lastElem && +key === STORAGES_MODULE_TYPE) {
resultObj[`isChecked${arrayType[lastElem][1]}`] = true; resultObj[`isChecked${arrayType[lastElem][1]}`] = true;
resultObj["selectedStorageTypeNumber"] = key.toString(); resultObj["selectedStorageTypeNumber"] = key.toString();
}
if (+key === arrayType[i][0]) {
resultObj[`isChecked${arrayType[i][1]}`] = true;
resultObj["selectedStorageTypeNumber"] = key.toString();
} else { } else {
resultObj[`isChecked${arrayType[i][1]}`] = false; if (+key === arrayType[i][0]) {
resultObj[`isChecked${arrayType[i][1]}`] = true;
resultObj["selectedStorageTypeNumber"] = key.toString();
} else {
resultObj[`isChecked${arrayType[i][1]}`] = false;
}
} }
} }
@ -900,33 +937,10 @@ class AutomaticBackup extends React.PureComponent {
getBackupStorage(), getBackupStorage(),
]); ]);
this.storageInfo = storageInfo; this.storageInfo = storageInfo;
this.selectedSchedule = true;
if (selectedSchedule) { this.onSetDefaultOptions(selectedSchedule, true);
const { storageType } = selectedSchedule;
this.selectedSchedule = true;
const resetOptions = this.resetPeriodSettings();
const resetModuleSettings = this.resetModuleSettings(storageType);
console.log("createSchedule resetModuleSettings", resetModuleSettings);
this.setState({
...resetOptions,
...resetModuleSettings,
});
this.onSetDefaultOptions(selectedSchedule);
}
toastr.success(t("SuccessfullySaveSettingsMessage")); toastr.success(t("SuccessfullySaveSettingsMessage"));
this._isMounted &&
this.setState({
isLoadingData: false,
isChanged: false,
isChangedInStorage: false,
isError: false,
isErrorsFields: false,
isSuccessSave: true,
});
} catch (e) { } catch (e) {
toastr.error(e); toastr.error(e);
@ -942,15 +956,7 @@ class AutomaticBackup extends React.PureComponent {
this.setState({ isLoadingData: true }, () => { this.setState({ isLoadingData: true }, () => {
deleteBackupSchedule() deleteBackupSchedule()
.then(() => { .then(() => {
const resetOptions = this.resetPeriodSettings(); this.onSetDefaultOptions(null, true);
console.log("createSchedule resetOptions", resetOptions);
this.setState({
...resetOptions,
isLoadingData: false,
isChanged: false,
isChangedInStorage: false,
});
this.onSetDefaultOptions();
this.selectedSchedule = false; this.selectedSchedule = false;
toastr.success(t("SuccessfullySaveSettingsMessage")); toastr.success(t("SuccessfullySaveSettingsMessage"));
}) })
@ -1081,7 +1087,7 @@ class AutomaticBackup extends React.PureComponent {
console.log("render auto ", this.state); console.log("render auto ", this.state);
const isCopyingToLocal = downloadingProgress !== 100; const isCopyingToLocal = downloadingProgress !== 100;
console.log("this.storageInfo", this.storageInfo);
return isInitialLoading ? ( return isInitialLoading ? (
<Loader className="pageLoader" type="rombs" size="40px" /> <Loader className="pageLoader" type="rombs" size="40px" />
) : ( ) : (