Web: Settings:Backup: Added max copies option.

This commit is contained in:
Tatiana Lopaeva 2021-04-28 16:59:02 +03:00
parent 6220e70bf7
commit 462c2d7a5a
4 changed files with 67 additions and 8 deletions

View File

@ -153,5 +153,6 @@
"EnableAutomaticBackup": "Enable",
"MonthlyPeriodSchedule": "Every month",
"DailyPeriodSchedule": "Every day",
"WeeklyPeriodSchedule": "Every week"
"WeeklyPeriodSchedule": "Every week",
"MaxCopies": "copies max will be saved"
}

View File

@ -153,5 +153,6 @@
"EnableAutomaticBackup": "Давать возможность",
"MonthlyPeriodSchedule": "Каждый месяц",
"DailyPeriodSchedule": "Каждый день",
"WeeklyPeriodSchedule": "Каждую неделю"
"WeeklyPeriodSchedule": "Каждую неделю",
"MaxCopies": "копий максимум будет сохранено"
}

View File

@ -43,6 +43,10 @@ const StyledComponent = styled.div`
.automatic-backup_current_storage {
margin-bottom: 8px;
}
.backup_combobox {
display: inline-block;
margin-right: 8px;
}
`;
const StyledModules = styled.div`
margin-bottom: 40px;
@ -78,6 +82,8 @@ class AutomaticBackup extends React.Component {
selectedWeekdayOption: "",
selectedTimeOption: "12:00",
selectedMonthOption: "1",
selectedMaxCopies: "10",
weekOptions: [],
};
@ -100,6 +106,10 @@ class AutomaticBackup extends React.Component {
this.getTimeOptions();
this.monthNumberOptionsArray = [];
this.getMonthNumbersOption();
this.maxNumberCopiesArray = [];
this.getMaxNumberCopies();
this.weekdaysOptions = [];
this.arrayWeekdays = moment.weekdays();
}
@ -127,6 +137,17 @@ class AutomaticBackup extends React.Component {
this.monthNumberOptionsArray.push(obj);
}
};
getMaxNumberCopies = () => {
const { t } = this.props;
for (let item = 1; item <= 30; item++) {
let obj = {
key: item,
label: `${item} ${t("MaxCopies")}`,
};
this.maxNumberCopiesArray.push(obj);
}
};
getWeekdaysOptions = () => {
for (let item = 0; item < this.arrayWeekdays.length; item++) {
let obj = {
@ -240,6 +261,12 @@ class AutomaticBackup extends React.Component {
});
}
};
onSelectMaxCopies = (options) => {
console.log("opr max", options);
this.setState({
selectedMaxCopies: options.label,
});
};
render() {
const { t, language } = this.props;
const {
@ -261,6 +288,7 @@ class AutomaticBackup extends React.Component {
selectedWeekdayOption,
selectedTimeOption,
selectedMonthOption,
selectedMaxCopies,
} = this.state;
console.log(" this.arrayWeekdays", this.arrayWeekdays);
console.log("isCheckedDocuments", isCheckedDocuments);
@ -311,9 +339,12 @@ class AutomaticBackup extends React.Component {
selectedWeekdayOption={selectedWeekdayOption}
selectedTimeOption={selectedTimeOption}
selectedMonthOption={selectedMonthOption}
selectedMaxCopies={selectedMaxCopies}
periodOptions={this.periodOptions}
monthNumberOptionsArray={this.monthNumberOptionsArray}
timeOptionsArray={this.timeOptionsArray}
maxNumberCopiesArray={this.maxNumberCopiesArray}
onSelectMaxCopies={this.onSelectMaxCopies}
onSelectMonthNumberAndTimeOptions={
this.onSelectMonthNumberAndTimeOptions
}
@ -357,9 +388,12 @@ class AutomaticBackup extends React.Component {
selectedWeekdayOption={selectedWeekdayOption}
selectedTimeOption={selectedTimeOption}
selectedMonthOption={selectedMonthOption}
selectedMaxCopies={selectedMaxCopies}
periodOptions={this.periodOptions}
monthNumberOptionsArray={this.monthNumberOptionsArray}
timeOptionsArray={this.timeOptionsArray}
maxNumberCopiesArray={this.maxNumberCopiesArray}
onSelectMaxCopies={this.onSelectMaxCopies}
onSelectMonthNumberAndTimeOptions={
this.onSelectMonthNumberAndTimeOptions
}
@ -403,9 +437,12 @@ class AutomaticBackup extends React.Component {
selectedWeekdayOption={selectedWeekdayOption}
selectedTimeOption={selectedTimeOption}
selectedMonthOption={selectedMonthOption}
selectedMaxCopies={selectedMaxCopies}
periodOptions={this.periodOptions}
monthNumberOptionsArray={this.monthNumberOptionsArray}
timeOptionsArray={this.timeOptionsArray}
maxNumberCopiesArray={this.maxNumberCopiesArray}
onSelectMaxCopies={this.onSelectMaxCopies}
onSelectMonthNumberAndTimeOptions={
this.onSelectMonthNumberAndTimeOptions
}

View File

@ -1,5 +1,6 @@
import React from "react";
import ComboBox from "@appserver/components/combobox";
import { useTranslation } from "react-i18next";
const ScheduleComponent = ({
weeklySchedule,
@ -14,9 +15,13 @@ const ScheduleComponent = ({
monthNumberOptionsArray,
onSelectPeriodAndWeekday,
onSelectMonthNumberAndTimeOptions,
selectedMaxCopies,
onSelectMaxCopies,
maxNumberCopiesArray,
}) => {
const { t } = useTranslation("Settings");
return (
<div className="category-item-wrapper">
<div>
<ComboBox
options={periodOptions}
selectedOption={{
@ -29,8 +34,8 @@ const ScheduleComponent = ({
scaled={false}
scaledOptions={false}
dropDownMaxHeight={300}
size="base"
className="backup_combobox"
size="content"
className="backup_combobox "
/>
{weeklySchedule && (
<ComboBox
@ -45,7 +50,7 @@ const ScheduleComponent = ({
scaled={false}
scaledOptions={false}
dropDownMaxHeight={300}
size="base"
size="content"
className="backup_combobox"
/>
)}
@ -62,7 +67,7 @@ const ScheduleComponent = ({
scaled={false}
scaledOptions={false}
dropDownMaxHeight={300}
size="base"
size="content"
className="backup_combobox"
/>
)}
@ -78,7 +83,22 @@ const ScheduleComponent = ({
scaled={false}
scaledOptions={false}
dropDownMaxHeight={300}
size="base"
size="content"
className="backup_combobox"
/>
<ComboBox
options={maxNumberCopiesArray}
selectedOption={{
key: 0,
label: `${selectedMaxCopies} ${t("MaxCopies")}`,
}}
onSelect={onSelectMaxCopies}
isDisabled={false}
noBorder={false}
scaled={false}
scaledOptions={false}
dropDownMaxHeight={300}
size="content"
className="backup_combobox"
/>
</div>