import React from 'react'; import PropTypes from 'prop-types'; import { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap'; import { gettext, siteRoot } from '../../utils/constants'; import { seafileAPI } from '../../utils/seafile-api'; import moment from 'moment'; import { Utils } from '../../utils/utils'; import Draft from '../../models/draft'; const propTypes = { repoID: PropTypes.string.isRequired, toggle: PropTypes.func.isRequired, }; class ListRepoDraftsDialog extends React.Component { constructor(props) { super(props); this.state = { drafts: [], }; } componentDidMount() { seafileAPI.listRepoDrafts(this.props.repoID).then(res => { let drafts = res.data.drafts.map(item => { let draft = new Draft(item); return draft; }); this.setState({ drafts: drafts }); }); } toggle = () => { this.props.toggle(); } render() { let drafts = this.state.drafts; return ( {gettext('Drafts')} {this.state.drafts.map((draft) => { let href = siteRoot + 'drafts/' + draft.id + '/'; return ( ); })}
{gettext('Name')} {gettext('Owner')} {gettext('Last Update')}
{Utils.getFileName(draft.draftFilePath)} {draft.ownerNickname} {moment(draft.createdStr).fromNow()}
); } } ListRepoDraftsDialog.propTypes = propTypes; export default ListRepoDraftsDialog;