Web:Client:When creating a room based on one folder, the message in the toastr was corrected to include information about copying data inside the folder, but previously there was information about the folder itself.

This commit is contained in:
gazizova-vlada 2023-09-27 10:08:42 +03:00
parent ed5c8d0d76
commit c68dda815a
3 changed files with 77 additions and 61 deletions

View File

@ -85,8 +85,7 @@ class CreateEditRoomStore {
uploadRoomLogo,
addLogoToRoom,
} = this.filesStore;
const { preparingDataForCopyingToRoom } =
this.filesActionsStore.uploadDataStore;
const { preparingDataForCopyingToRoom } = this.filesActionsStore;
const createRoomData = {
roomType: roomParams.type,
@ -155,10 +154,8 @@ class CreateEditRoomStore {
});
} else !withPaging && this.onOpenNewRoom(room);
if (processCreatingRoomFromData) {
setSelectedItems();
if (processCreatingRoomFromData)
preparingDataForCopyingToRoom(room.id, t);
}
this.roomIsCreated = true;
} catch (err) {

View File

@ -22,6 +22,7 @@ import {
removeShareFiles,
createFolder,
moveToFolder,
getFolder,
} from "@docspace/common/api/files";
import {
ConflictResolveType,
@ -2318,6 +2319,73 @@ class FilesActionStore {
setGroupMenuBlocked = (blocked) => {
this.isGroupMenuBlocked = blocked;
};
preparingDataForCopyingToRoom = async (destFolderId, t) => {
const { selection, bufferSelection } = this.filesStore;
let fileIds = [];
let folderIds = [];
const selections =
selection.length > 0 && selection[0] != null
? selection
: bufferSelection != null
? [bufferSelection]
: [];
if (!selections.length) return;
const oneFolder = selections.length === 1 && selections[0].isFolder;
if (oneFolder) {
folderIds = [selections[0].id];
try {
const selectedFolder = await getFolder(selections[0].id);
const { folders, files } = selectedFolder;
const amountDataInFolder = folders.length + files.length;
if (amountDataInFolder > 1)
this.setSelectedItems(false, amountDataInFolder);
if (amountDataInFolder === 1) {
const title = !!folders.length ? folders[0].title : files[0].title;
this.setSelectedItems(title, amountDataInFolder);
}
if (amountDataInFolder === 0) {
this.filesStore.setSelection([]);
this.filesStore.setBufferSelection(null);
return;
}
} catch (err) {
toastr.error(err);
}
}
!oneFolder &&
selections.map((item) => {
if (item.fileExst || item.contentLength) fileIds.push(item.id);
else folderIds.push(item.id);
});
!oneFolder && this.setSelectedItems();
this.filesStore.setSelection([]);
this.filesStore.setBufferSelection(null);
const operationData = {
destFolderId,
folderIds: folderIds,
fileIds,
deleteAfter: false,
isCopy: true,
translations: {
copy: t("Common:CopyOperation"),
},
content: oneFolder,
};
this.uploadDataStore.itemOperationToFolder(operationData);
};
}
export default FilesActionStore;

View File

@ -1327,7 +1327,8 @@ class UploadDataStore {
fileIds,
conflictResolveType,
deleteAfter,
operationId
operationId,
content
) => {
const { setSecondaryProgressBarData, clearSecondaryProgressData } =
this.secondaryProgressDataStore;
@ -1337,7 +1338,8 @@ class UploadDataStore {
folderIds,
fileIds,
conflictResolveType,
deleteAfter
deleteAfter,
content
)
.then((res) => {
const pbData = { icon: "duplicate", operationId };
@ -1450,6 +1452,7 @@ class UploadDataStore {
deleteAfter,
isCopy,
translations,
content,
} = data;
const conflictResolveType = data.conflictResolveType
? data.conflictResolveType
@ -1474,7 +1477,8 @@ class UploadDataStore {
fileIds,
conflictResolveType,
deleteAfter,
operationId
operationId,
content
)
: this.moveToAction(
destFolderId,
@ -1486,59 +1490,6 @@ class UploadDataStore {
);
};
preparingDataForCopyingToRoom = async (destFolderId, t) => {
const { selection, bufferSelection } = this.filesStore;
let fileIds = [];
let folderIds = [];
const selections =
selection.length > 0 && selection[0] != null
? selection
: bufferSelection != null
? [bufferSelection]
: [];
if (!selections.length) return;
const oneFolder = selections.length === 1 && selections[0].isFolder;
if (oneFolder) {
try {
const selectedFolder = await getFolder(selections[0].id);
const { folders, files } = selectedFolder;
if (!!files.length) files.map((item) => fileIds.push(item.id));
if (!!folders.length) folders.map((item) => folderIds.push(item.id));
} catch (err) {
toastr.error(err);
}
}
!oneFolder &&
selections.map((item) => {
if (item.fileExst || item.contentLength) fileIds.push(item.id);
else folderIds.push(item.id);
});
this.filesStore.setSelection([]);
this.filesStore.setBufferSelection(null);
if (!folderIds.length && !fileIds.length) return;
const operationData = {
destFolderId,
folderIds,
fileIds,
deleteAfter: false,
isCopy: true,
translations: {
copy: t("Common:CopyOperation"),
},
};
this.itemOperationToFolder(operationData);
};
loopFilesOperations = async (data, pbData, isDownloadAction) => {
const { clearSecondaryProgressData, setSecondaryProgressBarData } =
this.secondaryProgressDataStore;