import React, { Component, Fragment } from 'react'; import PropTypes from 'prop-types'; import { Link } from '@gatsbyjs/reach-router'; import { Utils } from '../../../utils/utils'; import { seafileAPI } from '../../../utils/seafile-api'; import { gettext, siteRoot } from '../../../utils/constants'; import Loading from '../../../components/loading'; import toaster from '../../../components/toast'; import EmptyTip from '../../../components/empty-tip'; const itemPropTypes = { item: PropTypes.object.isRequired, deleteItem: PropTypes.func.isRequired }; class Item extends Component { constructor(props) { super(props); this.state = { isOperationShow: false }; } onMouseEnter = () => { this.setState({ isOperationShow: true }); }; onMouseLeave = () => { this.setState({ isOperationShow: false }); }; onDeleteLink = (e) => { e.preventDefault(); this.props.deleteItem(this.props.item); }; render() { let objUrl; let item = this.props.item; let path = item.path === '/' ? '/' : item.path.slice(0, item.path.length - 1); if (item.is_dir) { objUrl = `${siteRoot}library/${item.repo_id}/${encodeURIComponent(item.repo_name)}${Utils.encodePath(path)}`; } else { objUrl = `${siteRoot}lib/${item.repo_id}/file${Utils.encodePath(item.path)}`; } return (
{errorMsg}
} {!loading && !errorMsg && !items.length &&{gettext('Creator')} | {gettext('Name')} | {gettext('Link')} |
---|