import PropTypes from 'prop-types'; import React, { Component } from 'react'; import AuthorNameLink from 'Author/AuthorNameLink'; import AuthorStatusCell from 'Author/Index/Table/AuthorStatusCell'; import TableRowCell from 'Components/Table/Cells/TableRowCell'; import TableSelectCell from 'Components/Table/Cells/TableSelectCell'; import TableRow from 'Components/Table/TableRow'; import TagListConnector from 'Components/TagListConnector'; import formatBytes from 'Utilities/Number/formatBytes'; class AuthorEditorRow extends Component { // // Listeners onBookFolderChange = () => { // Mock handler to satisfy `onChange` being required for `CheckInput`. // }; // // Render render() { const { id, status, titleSlug, authorName, monitored, metadataProfile, qualityProfile, path, statistics, tags, columns, isSelected, onSelectedChange } = this.props; return ( { columns.map((column) => { const { name, isVisible } = column; if (!isVisible) { return null; } if (name === 'status') { return ( ); } if (name === 'sortName') { return ( ); } if (name === 'qualityProfileId') { return ( {qualityProfile.name} ); } if (name === 'metadataProfileId') { return ( {metadataProfile.name} ); } if (name === 'path') { return ( {path} ); } if (name === 'sizeOnDisk') { return ( {formatBytes(statistics.sizeOnDisk)} ); } if (name === 'tags') { return ( ); } return null; }) } ); } } AuthorEditorRow.propTypes = { id: PropTypes.number.isRequired, status: PropTypes.string.isRequired, titleSlug: PropTypes.string.isRequired, authorName: PropTypes.string.isRequired, monitored: PropTypes.bool.isRequired, metadataProfile: PropTypes.object.isRequired, qualityProfile: PropTypes.object.isRequired, path: PropTypes.string.isRequired, statistics: PropTypes.object.isRequired, tags: PropTypes.arrayOf(PropTypes.number).isRequired, columns: PropTypes.arrayOf(PropTypes.object).isRequired, isSelected: PropTypes.bool, onSelectedChange: PropTypes.func.isRequired }; AuthorEditorRow.defaultProps = { tags: [] }; export default AuthorEditorRow;