import PropTypes from 'prop-types'; import React, { Component } from 'react'; import Alert from 'Components/Alert'; import FieldSet from 'Components/FieldSet'; import Form from 'Components/Form/Form'; import FormGroup from 'Components/Form/FormGroup'; import FormInputGroup from 'Components/Form/FormInputGroup'; import FormLabel from 'Components/Form/FormLabel'; import ProviderFieldFormGroup from 'Components/Form/ProviderFieldFormGroup'; import Button from 'Components/Link/Button'; import SpinnerErrorButton from 'Components/Link/SpinnerErrorButton'; import LoadingIndicator from 'Components/Loading/LoadingIndicator'; import ModalBody from 'Components/Modal/ModalBody'; import ModalContent from 'Components/Modal/ModalContent'; import ModalFooter from 'Components/Modal/ModalFooter'; import ModalHeader from 'Components/Modal/ModalHeader'; import { inputTypes, kinds, sizes } from 'Helpers/Props'; import AdvancedSettingsButton from 'Settings/AdvancedSettingsButton'; import translate from 'Utilities/String/translate'; import styles from './EditDownloadClientModalContent.css'; class EditDownloadClientModalContent extends Component { // // Render render() { const { advancedSettings, isFetching, error, isSaving, isTesting, saveError, item, onInputChange, onFieldChange, onModalClose, onSavePress, onTestPress, onAdvancedSettingsPress, onDeleteDownloadClientPress, ...otherProps } = this.props; const { id, implementationName, name, enable, protocol, priority, removeCompletedDownloads, removeFailedDownloads, fields, tags, message } = item; return ( {id ? translate('EditDownloadClientImplementation', { implementationName }) : translate('AddDownloadClientImplementation', { implementationName })} { isFetching && } { !isFetching && !!error &&
{translate('UnableToAddANewDownloadClientPleaseTryAgain')}
} { !isFetching && !error &&
{ !!message && {message.value.message} } {translate('Name')} {translate('Enable')} { fields.map((field) => { return ( ); }) } {translate('ClientPriority')} {translate('Tags')}
{translate('RemoveCompleted')} { protocol.value !== 'torrent' && {translate('RemoveFailed')} }
}
{ id && } {translate('Test')} {translate('Save')}
); } } EditDownloadClientModalContent.propTypes = { advancedSettings: PropTypes.bool.isRequired, isFetching: PropTypes.bool.isRequired, error: PropTypes.object, isSaving: PropTypes.bool.isRequired, saveError: PropTypes.object, isTesting: PropTypes.bool.isRequired, item: PropTypes.object.isRequired, onInputChange: PropTypes.func.isRequired, onFieldChange: PropTypes.func.isRequired, onModalClose: PropTypes.func.isRequired, onSavePress: PropTypes.func.isRequired, onTestPress: PropTypes.func.isRequired, onAdvancedSettingsPress: PropTypes.func.isRequired, onDeleteDownloadClientPress: PropTypes.func }; export default EditDownloadClientModalContent;