import PropTypes from 'prop-types'; import React, { Component } from 'react'; import FileDetailsModal from 'BookFile/FileDetailsModal'; import IconButton from 'Components/Link/IconButton'; import ConfirmModal from 'Components/Modal/ConfirmModal'; import TableRowCell from 'Components/Table/Cells/TableRowCell'; import { icons, kinds } from 'Helpers/Props'; import translate from 'Utilities/String/translate'; import styles from './BookFileActionsCell.css'; class BookFileActionsCell extends Component { // // Lifecycle constructor(props, context) { super(props, context); this.state = { isDetailsModalOpen: false, isConfirmDeleteModalOpen: false }; } // // Listeners onDetailsPress = () => { this.setState({ isDetailsModalOpen: true }); }; onDetailsModalClose = () => { this.setState({ isDetailsModalOpen: false }); }; onDeleteFilePress = () => { this.setState({ isConfirmDeleteModalOpen: true }); }; onConfirmDelete = () => { this.setState({ isConfirmDeleteModalOpen: false }); this.props.deleteBookFile({ id: this.props.id }); }; onConfirmDeleteModalClose = () => { this.setState({ isConfirmDeleteModalOpen: false }); }; // // Render render() { const { id, path } = this.props; const { isDetailsModalOpen, isConfirmDeleteModalOpen } = this.state; return ( { path && } { path && } ); } } BookFileActionsCell.propTypes = { id: PropTypes.number.isRequired, path: PropTypes.string, deleteBookFile: PropTypes.func.isRequired }; export default BookFileActionsCell;