import React from 'react'; import PropTypes from 'prop-types'; import { withTranslation } from 'react-i18next'; import { format } from 'date-fns'; import { createSubscribedElement } from '../../UnstatedUtils'; import AppContainer from '../../../services/AppContainer'; import ArchiveFilesTableMenu from './ArchiveFilesTableMenu'; class ArchiveFilesTable extends React.Component { render() { const { t } = this.props; return (
{this.props.zipFileStats.map(({ meta, fileName, innerFileStats }) => { return ( ); })}
{t('admin:export_management.file')} {t('admin:export_management.growi_version')} {t('admin:export_management.collections')} {t('admin:export_management.exported_at')}
{fileName} {meta.version} {innerFileStats.map(fileStat => fileStat.collectionName).join(', ')} {meta.exportedAt ? format(new Date(meta.exportedAt), 'yyyy/MM/dd HH:mm:ss') : ''}
); } } ArchiveFilesTable.propTypes = { t: PropTypes.func.isRequired, // i18next appContainer: PropTypes.instanceOf(AppContainer).isRequired, zipFileStats: PropTypes.arrayOf(PropTypes.object).isRequired, onZipFileStatRemove: PropTypes.func.isRequired, }; /** * Wrapper component for using unstated */ const ArchiveFilesTableWrapper = (props) => { return createSubscribedElement(ArchiveFilesTable, props, [AppContainer]); }; export default withTranslation()(ArchiveFilesTableWrapper);