Refactor move operations with actions.
This commit is contained in:
parent
01e25257b5
commit
89a102ee17
@ -9,8 +9,7 @@ import { StyledAsidePanel } from "../StyledPanels";
|
|||||||
import TreeFolders from "../../Article/Body/TreeFolders";
|
import TreeFolders from "../../Article/Body/TreeFolders";
|
||||||
import {
|
import {
|
||||||
setProgressBarData,
|
setProgressBarData,
|
||||||
clearProgressData,
|
itemOperationToFolder
|
||||||
loopFilesOperations,
|
|
||||||
} from "../../../store/files/actions";
|
} from "../../../store/files/actions";
|
||||||
import {
|
import {
|
||||||
getFilter,
|
getFilter,
|
||||||
@ -40,11 +39,10 @@ class OperationsPanelComponent extends React.Component {
|
|||||||
t,
|
t,
|
||||||
isCopy,
|
isCopy,
|
||||||
selection,
|
selection,
|
||||||
loopFilesOperations,
|
|
||||||
setProgressBarData,
|
setProgressBarData,
|
||||||
clearProgressData,
|
|
||||||
currentFolderId,
|
currentFolderId,
|
||||||
onClose
|
onClose,
|
||||||
|
itemOperationToFolder
|
||||||
} = this.props;
|
} = this.props;
|
||||||
|
|
||||||
const destFolderId = Number(e);
|
const destFolderId = Number(e);
|
||||||
@ -67,52 +65,12 @@ class OperationsPanelComponent extends React.Component {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
onClose();
|
onClose();
|
||||||
|
|
||||||
if (isCopy) {
|
|
||||||
setProgressBarData({
|
setProgressBarData({
|
||||||
visible: true,
|
visible: true,
|
||||||
percent: 0,
|
percent: 0,
|
||||||
label: t("CopyOperation"),
|
label: isCopy ? t("CopyOperation") : t("MoveToOperation"),
|
||||||
});
|
});
|
||||||
api.files
|
itemOperationToFolder(destFolderId, folderIds, fileIds, conflictResolveType, deleteAfter, isCopy)
|
||||||
.copyToFolder(
|
|
||||||
destFolderId,
|
|
||||||
folderIds,
|
|
||||||
fileIds,
|
|
||||||
conflictResolveType,
|
|
||||||
deleteAfter
|
|
||||||
)
|
|
||||||
.then((res) => {
|
|
||||||
const id = res[0] && res[0].id ? res[0].id : null;
|
|
||||||
loopFilesOperations(id, destFolderId, isCopy);
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
toastr.error(err);
|
|
||||||
clearProgressData();
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
setProgressBarData({
|
|
||||||
visible: true,
|
|
||||||
percent: 0,
|
|
||||||
label: t("MoveToOperation"),
|
|
||||||
});
|
|
||||||
api.files
|
|
||||||
.moveToFolder(
|
|
||||||
destFolderId,
|
|
||||||
folderIds,
|
|
||||||
fileIds,
|
|
||||||
conflictResolveType,
|
|
||||||
deleteAfter
|
|
||||||
)
|
|
||||||
.then((res) => {
|
|
||||||
const id = res[0] && res[0].id ? res[0].id : null;
|
|
||||||
loopFilesOperations(id, destFolderId, false);
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
toastr.error(err);
|
|
||||||
clearProgressData();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -182,6 +140,5 @@ const mapStateToProps = (state) => {
|
|||||||
|
|
||||||
export default connect(mapStateToProps, {
|
export default connect(mapStateToProps, {
|
||||||
setProgressBarData,
|
setProgressBarData,
|
||||||
clearProgressData,
|
itemOperationToFolder
|
||||||
loopFilesOperations,
|
|
||||||
})(withRouter(OperationsPanel));
|
})(withRouter(OperationsPanel));
|
||||||
|
@ -1237,3 +1237,26 @@ export const loopFilesOperations = (id, destFolderId, isCopy) => {
|
|||||||
loopOperation();
|
loopOperation();
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export function selectItemOperation(destFolderId, folderIds, fileIds, conflictResolveType, deleteAfter, isCopy) {
|
||||||
|
return (dispatch) => {
|
||||||
|
return isCopy ?
|
||||||
|
files.copyToFolder(destFolderId, folderIds, fileIds, conflictResolveType, deleteAfter)
|
||||||
|
:
|
||||||
|
files.moveToFolder(destFolderId, folderIds, fileIds, conflictResolveType, deleteAfter)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export function itemOperationToFolder(destFolderId, folderIds, fileIds, conflictResolveType, deleteAfter, isCopy) {
|
||||||
|
return (dispatch) => {
|
||||||
|
return dispatch(selectItemOperation(destFolderId, folderIds, fileIds, conflictResolveType, deleteAfter, isCopy))
|
||||||
|
.then((res) => {
|
||||||
|
const id = res[0] && res[0].id ? res[0].id : null;
|
||||||
|
dispatch(loopFilesOperations(id, destFolderId, isCopy))
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
toastr.error(err);
|
||||||
|
dispatch(clearProgressData())
|
||||||
|
})
|
||||||
|
};
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user