import PropTypes from 'prop-types'; import React, { Component } from 'react'; 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 Modal from 'Components/Modal/Modal'; 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 translate from 'Utilities/String/translate'; import styles from './RemoveQueueItemsModal.css'; class RemoveQueueItemsModal extends Component { // // Lifecycle constructor(props, context) { super(props, context); this.state = { remove: true, blocklist: false, skipRedownload: false }; } // // Control resetState = function() { this.setState({ remove: true, blocklist: false, skipRedownload: false }); }; // // Listeners onRemoveChange = ({ value }) => { this.setState({ remove: value }); }; onBlocklistChange = ({ value }) => { this.setState({ blocklist: value }); }; onSkipRedownloadChange = ({ value }) => { this.setState({ skipRedownload: value }); }; onRemoveConfirmed = () => { const state = this.state; this.resetState(); this.props.onRemovePress(state); }; onModalClose = () => { this.resetState(); this.props.onModalClose(); }; // // Render render() { const { isOpen, selectedCount, canIgnore, allPending } = this.props; const { remove, blocklist, skipRedownload } = this.state; return ( {selectedCount > 1 ? translate('RemoveSelectedItems') : translate('RemoveSelectedItem')}
{selectedCount > 1 ? translate('RemoveSelectedItemsQueueMessageText', { selectedCount }) : translate('RemoveSelectedItemQueueMessageText')}
{ allPending ? null : {translate('RemoveFromDownloadClient')} } {selectedCount > 1 ? translate('BlocklistReleases') : translate('BlocklistRelease')} { blocklist ? {translate('SkipRedownload')} : null }
); } } RemoveQueueItemsModal.propTypes = { isOpen: PropTypes.bool.isRequired, selectedCount: PropTypes.number.isRequired, canIgnore: PropTypes.bool.isRequired, allPending: PropTypes.bool.isRequired, onRemovePress: PropTypes.func.isRequired, onModalClose: PropTypes.func.isRequired }; export default RemoveQueueItemsModal;