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, isPro, username } from '../../../utils/constants'; import Loading from '../../../components/loading'; import toaster from '../../../components/toast'; import EmptyTip from '../../../components/empty-tip'; import SharePermissionEditor from '../../../components/select-editor/share-permission-editor'; const itemPropTypes = { item: PropTypes.object.isRequired, deleteItem: PropTypes.func.isRequired, isRepoOwner: PropTypes.bool.isRequired }; class Item extends Component { constructor(props) { super(props); this.state = { permission: this.props.item.permission, isOperationShow: false, isShowPermEditor: false, }; this.permissions = ['rw', 'r']; if (isPro) { if (this.props.item.path === '/' && this.props.isRepoOwner) { this.permissions.push('admin'); } this.permissions.push('cloud-edit', 'preview'); } } onMouseEnter = () => { this.setState({ isOperationShow: true }); }; onMouseLeave = () => { this.setState({ isOperationShow: false }); }; onDeleteLink = (e) => { e.preventDefault(); this.props.deleteItem(this.props.item); }; changePerm = (permission) => { const item = this.props.item; seafileAPI.updateShareToUserItemPermission(item.repo_id, item.path, 'user', item.share_to, permission).then(() => { this.setState({ permission: permission, }); }).catch(error => { let errMessage = Utils.getErrorMsg(error); toaster.danger(errMessage); }); }; onEditPermission = (event) => { event.nativeEvent.stopImmediatePropagation(); this.setState({ isShowPermEditor: true }); }; render() { let objUrl; let item = this.props.item; let path = item.path === '/' ? '/' : item.path.slice(0, item.path.length - 1); objUrl = `${siteRoot}library/${item.repo_id}/${encodeURIComponent(item.repo_name)}${Utils.encodePath(path)}`; return (
{errorMsg}
} {!loading && !errorMsg && !items.length &&{gettext('Name')} | {gettext('User')} | {gettext('Permission')} |
---|