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 { toastSuccess, toastError } from '../../../util/apiNotification'; class ZipFileTable extends React.Component { constructor(props) { super(props); this.deleteZipFile = this.deleteZipFile.bind(this); } async deleteZipFile(zipFile) { // TODO use appContainer.apiv3.delete await this.props.appContainer.apiRequest('delete', `/v3/export/${zipFile}`, {}); this.props.removeZipFileStat(zipFile); // TODO toastSuccess, toastError } render() { // const { t } = this.props; return ( {this.props.zipFileStats.map(({ meta, fileName, fileStats }) => { return ( ); })}
File Growi Version Collections Exported At
{fileName} {meta.version} {fileStats.map(fileStat => fileStat.collectionName).join(', ')} {meta.exportedAt ? format(new Date(meta.exportedAt), 'yyyy/MM/dd HH:mm:ss') : ''}
); } } ZipFileTable.propTypes = { t: PropTypes.func.isRequired, // i18next appContainer: PropTypes.instanceOf(AppContainer).isRequired, zipFileStats: PropTypes.arrayOf(PropTypes.object).isRequired, removeZipFileStat: PropTypes.func.isRequired, }; /** * Wrapper component for using unstated */ const ZipFileTableWrapper = (props) => { return createSubscribedElement(ZipFileTable, props, [AppContainer]); }; export default withTranslation()(ZipFileTableWrapper);