1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-06 17:33:18 +00:00

Add sharing dialog and optimize nav-link style (#2580)

This commit is contained in:
C_Q
2018-12-06 11:28:16 +08:00
committed by Daniel Pan
parent 4b74fcee56
commit 16d6b9c6d0
19 changed files with 1247 additions and 221 deletions

View File

@@ -1,8 +1,8 @@
import React, { Fragment } from 'react';
import PropTypes from 'prop-types';
import { gettext, siteRoot } from '../../utils/constants';
import { seafileAPI } from '../../utils/seafile-api';
import { Utils } from '../../utils/utils';
import { seafileAPI } from '../../utils/seafile-api';
import URLDecorator from '../../utils/url-decorator';
import Toast from '../toast';
import DirentMenu from './dirent-menu';
@@ -11,6 +11,7 @@ import ModalPortal from '../modal-portal';
import ZipDownloadDialog from '../dialog/zip-download-dialog';
import MoveDirentDialog from '../dialog/move-dirent-dialog';
import CopyDirentDialog from '../dialog/copy-dirent-dialog';
import ShareDialog from '../dialog/share-dialog';
const propTypes = {
path: PropTypes.string.isRequired,
@@ -45,6 +46,7 @@ class DirentListItem extends React.Component {
isProgressDialogShow: false,
isMoveDialogShow: false,
isCopyDialogShow: false,
isShareDialogShow: false,
isMutipleOperation: false,
};
this.zipToken = null;
@@ -148,6 +150,11 @@ class DirentListItem extends React.Component {
this.props.onItemDelete(this.props.dirent);
}
onItemShare = (e) => {
e.nativeEvent.stopImmediatePropagation(); //for document event
this.setState({isShareDialogShow: !this.state.isShareDialogShow});
}
onMenuItemClick = (operation) => {
switch(operation) {
case 'Rename':
@@ -467,6 +474,17 @@ class DirentListItem extends React.Component {
/>
</ModalPortal>
}
{this.state.isShareDialogShow &&
<ModalPortal>
<ShareDialog
isDir={dirent.isDir()}
itemPath={direntPath}
itemName={dirent.name}
repoID={this.props.repoID}
toggleDialog={this.onItemShare}
/>
</ModalPortal>
}
</Fragment>
);
}