1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-02 07:27:04 +00:00

Add delete-tag-dialog callback function (#3164)

* fix-bug

* update
This commit is contained in:
Michael An
2019-03-25 15:23:37 +08:00
committed by Daniel Pan
parent 34cf1eaa37
commit 8cf07d4b1b
5 changed files with 26 additions and 1 deletions

View File

@@ -15,6 +15,7 @@ const propTypes = {
permission: PropTypes.bool.isRequired,
currentPath: PropTypes.string.isRequired,
updateUsedRepoTags: PropTypes.func.isRequired,
onDeleteRepoTag: PropTypes.func.isRequired,
};
class DirTool extends React.Component {
@@ -121,6 +122,7 @@ class DirTool extends React.Component {
currentTag={this.state.currentTag}
onClose={this.onCloseRepoTagDialog}
toggleCancel={this.onUpdateRepoTagToggle}
onDeleteRepoTag={this.props.onDeleteRepoTag}
/>
)}

View File

@@ -14,6 +14,7 @@ const propTypes = {
isViewFile: PropTypes.bool,
updateUsedRepoTags: PropTypes.func.isRequired,
fileTags: PropTypes.array.isRequired,
onDeleteRepoTag: PropTypes.func.isRequired,
};
class CurDirPath extends React.Component {
@@ -37,6 +38,7 @@ class CurDirPath extends React.Component {
permission={this.props.permission}
currentPath={this.props.currentPath}
updateUsedRepoTags={this.props.updateUsedRepoTags}
onDeleteRepoTag={this.props.onDeleteRepoTag}
/>
</Fragment>
);

View File

@@ -8,6 +8,7 @@ const propTypes = {
currentTag: PropTypes.object,
repoID: PropTypes.string.isRequired,
toggleCancel: PropTypes.func.isRequired,
onDeleteRepoTag: PropTypes.func.isRequired,
onClose: PropTypes.func.isRequired
};
@@ -65,8 +66,11 @@ class UpdateTagDialog extends React.Component {
onDeleteTag = () => {
let tag = this.props.currentTag;
let repoID = this.props.repoID;
seafileAPI.deleteRepoTag(repoID, tag.id).then(() => {
seafileAPI.deleteRepoTag(repoID, tag.id).then((res) => {
this.props.toggleCancel();
if (res.data.success === "true") {
this.props.onDeleteRepoTag(tag.id);
}
});
}

View File

@@ -75,6 +75,7 @@ const propTypes = {
selectedDirent: PropTypes.object,
closeDirentDetail: PropTypes.func.isRequired,
showDirentDetail: PropTypes.func.isRequired,
onDeleteRepoTag: PropTypes.func.isRequired,
};
class LibContentContainer extends React.Component {
@@ -153,6 +154,7 @@ class LibContentContainer extends React.Component {
onPathClick={this.onPathClick}
updateUsedRepoTags={this.props.updateUsedRepoTags}
fileTags={this.props.fileTags}
onDeleteRepoTag={this.props.onDeleteRepoTag}
/>
</div>
<div className={`cur-view-content ${this.props.currentMode === 'column' ? 'view-mode-container' : ''}`}>

View File

@@ -1229,6 +1229,20 @@ class LibContentView extends React.Component {
this.onDirentSelected(dirent);
}
onDeleteRepoTag = (deletedTagID) => {
let direntList = this.state.direntList.map(dirent => {
if (dirent.file_tags) {
let fileTags = dirent.file_tags.filter(item => {
return item.repo_tag_id !== deletedTagID;
});
dirent.file_tags = fileTags;
}
return dirent;
});
this.setState({direntList: direntList});
this.updateUsedRepoTags();
}
render() {
if (this.state.libNeedDecrypt) {
return (
@@ -1380,6 +1394,7 @@ class LibContentView extends React.Component {
selectedDirent={this.state.selectedDirentList && this.state.selectedDirentList[0]}
closeDirentDetail={this.closeDirentDetail}
showDirentDetail={this.showDirentDetail}
onDeleteRepoTag={this.onDeleteRepoTag}
/>
{this.state.pathExist && !this.state.isViewFile && (
<FileUploader