diff --git a/frontend/src/components/dialog/generate-share-link.js b/frontend/src/components/dialog/generate-share-link.js index 32a0bb0b9f..f0a82be0e9 100644 --- a/frontend/src/components/dialog/generate-share-link.js +++ b/frontend/src/components/dialog/generate-share-link.js @@ -10,7 +10,8 @@ import toaster from '../toast'; const propTypes = { itemPath: PropTypes.string.isRequired, - repoID: PropTypes.string.isRequired + repoID: PropTypes.string.isRequired, + closeShareDialog: PropTypes.func.isRequired, }; class GenerateShareLink extends React.Component { @@ -117,12 +118,14 @@ class GenerateShareLink extends React.Component { let sharedLink = this.state.sharedLinkInfo.link; copy(sharedLink); toaster.success(gettext('Share link is copied to the clipboard.')); + this.props.closeShareDialog(); } - + onCopyDownloadLink = () => { let downloadLink = this.state.sharedLinkInfo.link + '?dl'; copy(downloadLink); toaster.success(gettext('Direct download link is copied to the clipboard.')); + this.props.closeShareDialog(); } deleteShareLink = () => { diff --git a/frontend/src/components/dialog/generate-upload-link.js b/frontend/src/components/dialog/generate-upload-link.js index 52e12ac0f9..a456ab65b8 100644 --- a/frontend/src/components/dialog/generate-upload-link.js +++ b/frontend/src/components/dialog/generate-upload-link.js @@ -9,7 +9,8 @@ import toaster from '../toast'; const propTypes = { itemPath: PropTypes.string.isRequired, - repoID: PropTypes.string.isRequired + repoID: PropTypes.string.isRequired, + closeShareDialog: PropTypes.func.isRequired, }; class GenerateUploadLink extends React.Component { @@ -104,6 +105,7 @@ class GenerateUploadLink extends React.Component { let uploadLink = this.state.sharedUploadInfo.link; copy(uploadLink); toaster.success(gettext('Upload link is copied to the clipboard.')); + this.props.closeShareDialog(); } deleteUploadLink = () => { diff --git a/frontend/src/components/dialog/share-dialog.js b/frontend/src/components/dialog/share-dialog.js index f7d92b89de..099f482e99 100644 --- a/frontend/src/components/dialog/share-dialog.js +++ b/frontend/src/components/dialog/share-dialog.js @@ -62,10 +62,18 @@ class ShareDialog extends React.Component {
- + - + @@ -95,7 +103,11 @@ class ShareDialog extends React.Component {
- +
diff --git a/frontend/src/components/dirent-list-view/dirent-list-item.js b/frontend/src/components/dirent-list-view/dirent-list-item.js index d7c8c6621b..81291c7cb8 100644 --- a/frontend/src/components/dirent-list-view/dirent-list-item.js +++ b/frontend/src/components/dirent-list-view/dirent-list-item.js @@ -160,6 +160,10 @@ class DirentListItem extends React.Component { this.setState({isShareDialogShow: !this.state.isShareDialogShow}); } + closeSharedDialog = () => { + this.setState({isShareDialogShow: !this.state.isShareDialogShow}); + } + onMenuItemClick = (operation) => { switch(operation) { case 'Rename': @@ -516,7 +520,7 @@ class DirentListItem extends React.Component { itemName={dirent.name} itemPath={direntPath} repoID={this.props.repoID} - toggleDialog={this.onItemShare} + toggleDialog={this.closeSharedDialog} /> }