Web: Files: Store/HOC: Added copyAsAction at store, fixed HOC action

This commit is contained in:
Ilya Oleshko 2021-11-29 16:32:30 +03:00
parent 0b9a9b633d
commit f905ad0e23
2 changed files with 38 additions and 11 deletions

View File

@ -21,16 +21,13 @@ export default function withContextOptions(WrappedComponent) {
};
onClickMakeForm = () => {
const { convertFile, item } = this.props;
const { copyAsAction, item, formfillingDocs } = this.props;
const { title, id, folderId, fileExst } = item;
const convertItem = {
fileId: item.id,
toFolderId: item.folderId,
action: "convert",
fileInfo: item,
};
const newTitle =
title.substring(0, title.length - fileExst.length) + formfillingDocs[0];
convertFile(convertItem);
copyAsAction(id, newTitle, folderId);
};
onOpenLocation = () => {
@ -565,7 +562,7 @@ export default function withContextOptions(WrappedComponent) {
},
{ item }
) => {
const { openDocEditor, fileActionStore } = filesStore;
const { openDocEditor, fileActionStore, formatsStore } = filesStore;
const {
deleteItemAction,
downloadAction,
@ -594,7 +591,8 @@ export default function withContextOptions(WrappedComponent) {
const { setIsVerHistoryPanel, fetchFileVersions } = versionHistoryStore;
const { setAction, type, extension, id } = fileActionStore;
const { setMediaViewerData } = mediaViewerDataStore;
const { convertFile } = uploadDataStore;
const { copyAsAction } = uploadDataStore;
const { formfillingDocs } = formatsStore.docserviceStore;
const { isRecycleBinFolder, isShare } = treeFoldersStore;
const isShareFolder = isShare(item.rootFolderType);
@ -633,7 +631,8 @@ export default function withContextOptions(WrappedComponent) {
setDeleteDialogVisible,
setUnsubscribe,
isDesktop: isDesktopClient,
convertFile,
copyAsAction,
formfillingDocs,
};
}
)(observer(WithContextOptions));

View File

@ -15,6 +15,7 @@ import {
getFileConversationProgress,
copyToFolder,
moveToFolder,
fileCopyAs,
} from "@appserver/common/api/files";
class UploadDataStore {
@ -919,6 +920,33 @@ class UploadDataStore {
});
};
copyAsAction = (fileId, title, folderId, enableExternalExt) => {
const { clearPrimaryProgressData } = this.primaryProgressDataStore;
const {
setSecondaryProgressBarData,
clearSecondaryProgressData,
} = this.secondaryProgressDataStore;
return fileCopyAs(fileId, title, folderId, enableExternalExt)
.then((res) => {
const data = res[0] ? res[0] : null;
const pbData = { icon: "duplicate" };
return this.loopFilesOperations(data, pbData).then(() =>
this.moveToCopyTo(destFolderId, pbData, true)
);
})
.catch((err) => {
setSecondaryProgressBarData({
visible: true,
alert: true,
icon: "duplicate",
});
setTimeout(() => clearPrimaryProgressData(), TIMEOUT);
setTimeout(() => clearSecondaryProgressData(), TIMEOUT);
return Promise.reject(err);
});
};
itemOperationToFolder = (data) => {
const {
destFolderId,