import PropTypes from 'prop-types'; import React, { Component } from 'react'; 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 Button from 'Components/Link/Button'; 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 } from 'Helpers/Props'; import translate from 'Utilities/String/translate'; class FileEditModalContent extends Component { // // Lifecycle constructor(props, context) { super(props, context); const { qualityId, languageIds, indexerFlags, proper, real, edition, releaseGroup } = props; this.state = { qualityId, languageIds, indexerFlags, proper, real, edition, releaseGroup }; } // // Listeners onQualityChange = ({ value }) => { this.setState({ qualityId: parseInt(value) }); } onInputChange = ({ name, value }) => { this.setState({ [name]: value }); } onSaveInputs = () => { this.props.onSaveInputs(this.state); } // // Render render() { const { isFetching, isPopulated, error, qualities, languages, relativePath, onModalClose } = this.props; const { qualityId, languageIds, indexerFlags, proper, real, edition, releaseGroup } = this.state; const qualityOptions = qualities.map(({ id, name }) => { return { key: id, value: name }; }); const languageOptions = languages.map(({ id, name }) => { return { key: id, value: name }; }); return ( {translate('EditMovieFile')} - {relativePath} { isFetching && } { !isFetching && !!error &&
{translate('UnableToLoadQualities')}
} { isPopulated && !error &&
{translate('Quality')} {translate('Proper')} {translate('Real')} {translate('Languages')} {translate('IndexerFlags')} {translate('Edition')} {translate('ReleaseGroup')}
}
); } } FileEditModalContent.propTypes = { qualityId: PropTypes.number.isRequired, proper: PropTypes.bool.isRequired, real: PropTypes.bool.isRequired, relativePath: PropTypes.string.isRequired, edition: PropTypes.string.isRequired, releaseGroup: PropTypes.string.isRequired, languageIds: PropTypes.arrayOf(PropTypes.number).isRequired, languages: PropTypes.arrayOf(PropTypes.object).isRequired, indexerFlags: PropTypes.number.isRequired, isFetching: PropTypes.bool.isRequired, isPopulated: PropTypes.bool.isRequired, error: PropTypes.object, qualities: PropTypes.arrayOf(PropTypes.object).isRequired, onSaveInputs: PropTypes.func.isRequired, onModalClose: PropTypes.func.isRequired }; export default FileEditModalContent;