diff --git a/frontend/src/components/dialog/list-taggedfiles-dialog.js b/frontend/src/components/dialog/list-taggedfiles-dialog.js index 6cce26eb56..5254eced4b 100644 --- a/frontend/src/components/dialog/list-taggedfiles-dialog.js +++ b/frontend/src/components/dialog/list-taggedfiles-dialog.js @@ -14,7 +14,8 @@ const propTypes = { onClose: PropTypes.func.isRequired, updateUsedRepoTags: PropTypes.func, onFileTagChanged: PropTypes.func, - shareLinkToken: PropTypes.string + shareLinkToken: PropTypes.string, + enableFileDownload: PropTypes.bool }; class ListTaggedFilesDialog extends React.Component { @@ -95,6 +96,7 @@ class ListTaggedFilesDialog extends React.Component { taggedFile={taggedFile} onDeleteTaggedFile={this.onDeleteTaggedFile} shareLinkToken={this.props.shareLinkToken} + enableFileDownload={this.props.enableFileDownload} /> ); })} @@ -117,7 +119,8 @@ const TaggedFilePropTypes = { repoID: PropTypes.string.isRequired, taggedFile: PropTypes.object, onDeleteTaggedFile: PropTypes.func.isRequired, - shareLinkToken: PropTypes.string + shareLinkToken: PropTypes.string, + enableFileDownload: PropTypes.bool }; class TaggedFile extends React.Component { @@ -147,12 +150,13 @@ class TaggedFile extends React.Component { } render() { - const { taggedFile, shareLinkToken } = this.props; - let className = this.state.active ? 'action-icon sf2-icon-x3' : 'action-icon vh sf2-icon-x3'; + const { taggedFile, shareLinkToken, enableFileDownload } = this.props; + let path = taggedFile.parent_path ? Utils.joinPath(taggedFile.parent_path, taggedFile.filename) : ''; let href = shareLinkToken ? siteRoot + 'd/' + shareLinkToken + '/files/?p=' + Utils.encodePath(path) : siteRoot + 'lib/' + this.props.repoID + '/file' + Utils.encodePath(path); + return ( {taggedFile.file_deleted ? @@ -170,7 +174,10 @@ class TaggedFile extends React.Component { } {!shareLinkToken && - + + } + {(shareLinkToken && enableFileDownload) && + } diff --git a/frontend/src/components/repo-info-bar.js b/frontend/src/components/repo-info-bar.js index f721797661..eb12531875 100644 --- a/frontend/src/components/repo-info-bar.js +++ b/frontend/src/components/repo-info-bar.js @@ -18,7 +18,8 @@ const propTypes = { updateUsedRepoTags: PropTypes.func, onFileTagChanged: PropTypes.func, className: PropTypes.string, - shareLinkToken: PropTypes.string + shareLinkToken: PropTypes.string, + enableFileDownload: PropTypes.bool }; class RepoInfoBar extends React.Component { @@ -121,6 +122,7 @@ class RepoInfoBar extends React.Component { updateUsedRepoTags={this.props.updateUsedRepoTags} onFileTagChanged={this.props.onFileTagChanged} shareLinkToken={this.props.shareLinkToken} + enableFileDownload={this.props.enableFileDownload} /> )} diff --git a/frontend/src/shared-dir-view.js b/frontend/src/shared-dir-view.js index 58f09566d9..10358afc6f 100644 --- a/frontend/src/shared-dir-view.js +++ b/frontend/src/shared-dir-view.js @@ -496,6 +496,7 @@ class SharedDirView extends React.Component { currentPath={'/'} usedRepoTags={this.state.usedRepoTags} shareLinkToken={token} + enableFileDownload={showDownloadIcon} className="mx-0" /> )}