Merge remote-tracking branch 'origin/6263-custom-ups-cache' into 6263-custom-ups-cache

This commit is contained in:
Dimitry Kolyshev 2023-11-22 09:49:10 +02:00
commit 23392d08b1
3 changed files with 44 additions and 3 deletions

View File

@ -734,5 +734,8 @@
"wednesday_short": "Wed", "wednesday_short": "Wed",
"thursday_short": "Thu", "thursday_short": "Thu",
"friday_short": "Fri", "friday_short": "Fri",
"saturday_short": "Sat" "saturday_short": "Sat",
"upstream_dns_cache_configuration": "Upstream DNS cache configuration",
"enable_upstream_dns_cache": "Enable DNS cache for this client's custom upstream configuration",
"dns_cache_size": "DNS cache size (in bytes)"
} }

View File

@ -79,6 +79,10 @@ const ClientsTable = ({
} else { } else {
config.tags = []; config.tags = [];
} }
if (typeof values.upstreams_cache_size === 'string') {
config.upstreams_cache_size = 0;
}
} }
if (modalType === MODAL_TYPE.EDIT_FILTERS) { if (modalType === MODAL_TYPE.EDIT_FILTERS) {

View File

@ -12,8 +12,13 @@ import i18n from '../../../i18n';
import Tabs from '../../ui/Tabs'; import Tabs from '../../ui/Tabs';
import Examples from '../Dns/Upstream/Examples'; import Examples from '../Dns/Upstream/Examples';
import { ScheduleForm } from '../../Filters/Services/ScheduleForm'; import { ScheduleForm } from '../../Filters/Services/ScheduleForm';
import { toggleAllServices, trimLinesAndRemoveEmpty, captitalizeWords } from '../../../helpers/helpers';
import { import {
toggleAllServices,
trimLinesAndRemoveEmpty,
captitalizeWords,
} from '../../../helpers/helpers';
import {
toNumber,
renderInputField, renderInputField,
renderGroupField, renderGroupField,
CheckboxField, CheckboxField,
@ -21,7 +26,7 @@ import {
renderTextareaField, renderTextareaField,
} from '../../../helpers/form'; } from '../../../helpers/form';
import { validateClientId, validateRequiredValue } from '../../../helpers/validators'; import { validateClientId, validateRequiredValue } from '../../../helpers/validators';
import { CLIENT_ID_LINK, FORM_NAME } from '../../../helpers/constants'; import { CLIENT_ID_LINK, FORM_NAME, UINT32_RANGE } from '../../../helpers/constants';
import './Service.css'; import './Service.css';
const settingsCheckboxes = [ const settingsCheckboxes = [
@ -307,6 +312,35 @@ let Form = (props) => {
normalizeOnBlur={trimLinesAndRemoveEmpty} normalizeOnBlur={trimLinesAndRemoveEmpty}
/> />
<Examples /> <Examples />
<div className="form__label--bold mt-5 mb-3">
{t('upstream_dns_cache_configuration')}
</div>
<div className="form__group mb-2">
<Field
name="upstreams_cache_enabled"
type="checkbox"
component={CheckboxField}
placeholder={t('enable_upstream_dns_cache')}
/>
</div>
<div className="form__group form__group--settings">
<label
htmlFor="upstreams_cache_size"
className="form__label"
>
{t('dns_cache_size')}
</label>
<Field
name="upstreams_cache_size"
type="number"
component={renderInputField}
placeholder={t('enter_cache_size')}
className="form-control"
normalize={toNumber}
min={0}
max={UINT32_RANGE.MAX}
/>
</div>
</div>, </div>,
}, },
}; };