import PropTypes from 'prop-types'; import React from 'react'; import { FormattedMessage, injectIntl, intlShape } from 'react-intl'; import classNames from 'classnames'; import Badge from '../../components/badge'; import FileIcon from '../../icons/file-icon'; import { VersionPropType } from './prop-types'; import FileVersionActions from './FileVersionActions'; import FileVersionInfo from './FileVersionInfo'; import messages from './messages'; const FileVersionListItem = ({ canDelete, canUpload, intl, isOverVersionLimit = false, isProcessing = false, onDelete, onDownload, onMakeCurrent, onRestore, style, version, versionLimit, }) => { const classes = classNames('file-version-row', { 'is-deleted': version.deleted > 0, }); return (
{version.itemName} {version.isCurrent && ( )}
{isOverVersionLimit ? ( ) : ( )}
); }; FileVersionListItem.propTypes = { intl: intlShape.isRequired, isOverVersionLimit: PropTypes.bool, // This value cannot be computed within this component isProcessing: PropTypes.bool, onDelete: PropTypes.func.isRequired, onDownload: PropTypes.func.isRequired, onMakeCurrent: PropTypes.func.isRequired, onRestore: PropTypes.func.isRequired, style: PropTypes.any, version: VersionPropType.isRequired, versionLimit: PropTypes.number.isRequired, }; export { FileVersionListItem as FileVersionListItemBase }; export default injectIntl(FileVersionListItem);