mirror of
https://github.com/haiwen/seahub.git
synced 2025-09-02 07:27:04 +00:00
Optimize repo delete 2 (#4628)
* optimzie group repo delete logic * repair code bug * optimize repo delete code
This commit is contained in:
@@ -44,7 +44,8 @@ class SharedRepoListItem extends React.Component {
|
||||
isHistorySettingDialogShow: false,
|
||||
isDeleteDialogShow: false,
|
||||
isAPITokenDialogShow: false,
|
||||
isRepoShareUploadLinksDialogOpen: false
|
||||
isRepoShareUploadLinksDialogOpen: false,
|
||||
isRepoDeleted: false,
|
||||
};
|
||||
this.isDeparementOnwerGroupMember = false;
|
||||
}
|
||||
@@ -187,6 +188,37 @@ class SharedRepoListItem extends React.Component {
|
||||
this.setState({isDeleteDialogShow: !this.state.isDeleteDialogShow});
|
||||
}
|
||||
|
||||
onItemDelete = () => {
|
||||
const { currentGroup, repo } = this.props;
|
||||
if (!currentGroup) { // repo can not be deleted in share all module
|
||||
return;
|
||||
}
|
||||
|
||||
const groupID = currentGroup.id;
|
||||
|
||||
seafileAPI.deleteGroupOwnedLibrary(groupID, repo.repo_id).then(() => {
|
||||
|
||||
this.setState({
|
||||
isRepoDeleted: true,
|
||||
isDeleteDialogShow: false,
|
||||
});
|
||||
|
||||
this.props.onItemDelete(repo);
|
||||
let name = repo.repo_name;
|
||||
var msg = gettext('Successfully deleted {name}.').replace('{name}', name);
|
||||
toaster.success(msg);
|
||||
}).catch((error) => {
|
||||
let errMessage = Utils.getErrorMsg(error);
|
||||
if (errMessage === gettext('Error')) {
|
||||
let name = repo.repo_name;
|
||||
errMessage = gettext('Failed to delete {name}.').replace('{name}', name);
|
||||
}
|
||||
toaster.danger(errMessage);
|
||||
|
||||
this.setState({isRepoDeleted: false});
|
||||
});
|
||||
}
|
||||
|
||||
toggleShareDialog = () => {
|
||||
this.setState({isShowSharedDialog: false});
|
||||
}
|
||||
@@ -475,7 +507,8 @@ class SharedRepoListItem extends React.Component {
|
||||
<ModalPortal>
|
||||
<DeleteRepoDialog
|
||||
repo={this.props.repo}
|
||||
onDeleteRepo={this.props.onItemDelete}
|
||||
isRepoDeleted={this.state.isRepoDeleted}
|
||||
onDeleteRepo={this.onItemDelete}
|
||||
toggle={this.onItemDeleteToggle}
|
||||
/>
|
||||
</ModalPortal>
|
||||
|
@@ -15,7 +15,7 @@ const propTypes = {
|
||||
sortItems: PropTypes.func,
|
||||
repoList: PropTypes.array.isRequired,
|
||||
onItemUnshare: PropTypes.func.isRequired,
|
||||
onItemDelete: PropTypes.func.isRequired,
|
||||
onItemDelete: PropTypes.func,
|
||||
onItemDetails: PropTypes.func,
|
||||
onItemRename: PropTypes.func,
|
||||
};
|
||||
|
Reference in New Issue
Block a user