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:
parent
ed5c8d0d76
commit
c68dda815a
@ -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) {
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user