import React from 'react'; import { translate } from 'react-i18next'; import { Checkbox, InputField, Subtitle, AddEntryToTableField, } from '@scm-manager/ui-components'; import ProxyExcludesTable from '../table/ProxyExcludesTable'; type Props = { proxyPassword: string; proxyPort: number; proxyServer: string; proxyUser: string; enableProxy: boolean; proxyExcludes: string[]; t: (p: string) => string; onChange: (p1: boolean, p2: any, p3: string) => void; hasUpdatePermission: boolean; }; class ProxySettings extends React.Component { render() { const { t, proxyPassword, proxyPort, proxyServer, proxyUser, enableProxy, proxyExcludes, hasUpdatePermission, } = this.props; return (
this.props.onChange(isValid, changedValue, name) } disabled={!enableProxy || !hasUpdatePermission} />
); } handleProxyPasswordChange = (value: string) => { this.props.onChange(true, value, 'proxyPassword'); }; handleProxyPortChange = (value: string) => { this.props.onChange(true, value, 'proxyPort'); }; handleProxyServerChange = (value: string) => { this.props.onChange(true, value, 'proxyServer'); }; handleProxyUserChange = (value: string) => { this.props.onChange(true, value, 'proxyUser'); }; handleEnableProxyChange = (value: string) => { this.props.onChange(true, value, 'enableProxy'); }; addProxyExclude = (proxyExcludeName: string) => { if (this.isProxyExcludeMember(proxyExcludeName)) { return; } this.props.onChange( true, [...this.props.proxyExcludes, proxyExcludeName], 'proxyExcludes', ); }; isProxyExcludeMember = (proxyExcludeName: string) => { return this.props.proxyExcludes.includes(proxyExcludeName); }; } export default translate('config')(ProxySettings);