1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-07-31 22:57:47 +00:00

repair bug&improve code (#4521)

* repair bug&improve code

* delete test code
This commit is contained in:
杨顺强 2020-04-10 18:08:27 +08:00 committed by GitHub
parent 11a0d0fc3c
commit 5591bbd1d6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 27 additions and 18 deletions

View File

@ -54,7 +54,7 @@ const propTypes = {
onShowDirentsDraggablePreview: PropTypes.func,
};
class DirentListItem extends React.Component {
class DirentListItem extends React.PureComponent {
constructor(props) {
super(props);

View File

@ -87,6 +87,8 @@ class LibContentView extends React.Component {
window.onpopstate = this.onpopstate;
this.lastModifyTime = new Date();
this.isNeedUpdateHistoryState = true; // Load, refresh page, switch mode for the first time, no need to set historyState
this.currentMoveItemName = '';
this.currentMoveItemPath = '';
}
showDirentDetail = (direntDetailPanelTab) => {
@ -600,12 +602,19 @@ class LibContentView extends React.Component {
if (data.successful) {
if (asyncOperationType === 'move') {
if (this.state.currentMode === 'column') {
let direntPaths = this.getSelectedDirentPaths();
this.deleteTreeNodes(direntPaths);
if (this.currentMoveItemName && this.currentMoveItemPath) {
if (this.state.currentMode === 'column') {
this.deleteTreeNode(this.currentMoveItemPath);
}
this.moveDirent(this.currentMoveItemName);
} else {
if (this.state.currentMode === 'column') {
let direntPaths = this.getSelectedDirentPaths();
this.deleteTreeNodes(direntPaths);
}
let direntNames = this.getSelectedDirentNames();
this.moveDirents(direntNames);
}
let direntNames = this.getSelectedDirentNames();
this.moveDirents(direntNames);
}
this.setState({isCopyMoveProgressDialogShow: false});
@ -1043,10 +1052,10 @@ class LibContentView extends React.Component {
seafileAPI.moveDir(repoID, destRepo.repo_id, moveToDirentPath, nodeParentPath, dirName).then(res => {
if (repoID !== destRepo.repo_id) {
this.setState({
asyncCopyMoveTaskId: res.data.task_id,
}, () => {
this.getAsyncCopyMoveProgress();
this.setState({asyncCopyMoveTaskId: res.data.task_id}, () => {
this.currentMoveItemName = dirName;
this.currentMoveItemPath = direntPath;
this.getAsyncCopyMoveProgress(dirName, direntPath);
});
}
@ -1105,15 +1114,15 @@ class LibContentView extends React.Component {
});
}
if (repoID === destRepo.repo_id && this.state.currentMode === 'column') {
this.updateMoveCopyTreeNode(copyToDirentPath);
}
if (copyToDirentPath === nodeParentPath) {
this.loadDirentList(this.state.path);
}
if (repoID === destRepo.repo_id) {
if (this.state.currentMode === 'column') {
this.updateMoveCopyTreeNode(copyToDirentPath);
}
if (copyToDirentPath === nodeParentPath) {
this.loadDirentList(this.state.path);
}
let message = gettext('Successfully copied %(name)s.');
message = message.replace('%(name)s', dirName);
toaster.success(message);