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

View File

@ -15,6 +15,7 @@ import {
getFileConversationProgress, getFileConversationProgress,
copyToFolder, copyToFolder,
moveToFolder, moveToFolder,
fileCopyAs,
} from "@appserver/common/api/files"; } from "@appserver/common/api/files";
class UploadDataStore { 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) => { itemOperationToFolder = (data) => {
const { const {
destFolderId, destFolderId,