Fixed folder loader after closing ConflictResolveDialog

This commit is contained in:
Akmal Isomadinov 2023-12-01 18:59:24 +05:00
parent 86195b4a68
commit b96b685649
2 changed files with 34 additions and 15 deletions

View File

@ -69,7 +69,9 @@ const ConflictResolveDialog = (props) => {
items,
itemOperationToFolder,
activeFiles,
activeFolders,
setActiveFiles,
setActiveFolders,
updateActiveFiles,
setSelected,
setMoveToPanelVisible,
@ -104,14 +106,17 @@ const ConflictResolveDialog = (props) => {
setRestoreAllPanelVisible(false);
setMoveToPublicRoomVisible(false);
};
const onCloseDialog = () => {
let newActiveFiles = activeFiles;
for (let item of fileIds) {
newActiveFiles = newActiveFiles.filter((f) => f !== item);
}
const differenceArray = (activeItems, ids) => {
return activeItems.filter((item) => !ids.includes(item.id ?? item));
};
const onCloseDialog = () => {
const newActiveFiles = differenceArray(activeFiles, fileIds);
const newActiveFolder = differenceArray(activeFolders, folderIds);
setActiveFiles(newActiveFiles);
setActiveFolders(newActiveFolder);
onClose();
};
@ -283,8 +288,14 @@ export default inject(({ auth, dialogsStore, uploadDataStore, filesStore }) => {
} = dialogsStore;
const { itemOperationToFolder } = uploadDataStore;
const { activeFiles, setActiveFiles, updateActiveFiles, setSelected } =
filesStore;
const {
activeFiles,
activeFolders,
setActiveFiles,
setActiveFolders,
updateActiveFiles,
setSelected,
} = filesStore;
const { settingsStore } = auth;
const { theme } = settingsStore;
return {
@ -295,7 +306,9 @@ export default inject(({ auth, dialogsStore, uploadDataStore, filesStore }) => {
setConflictResolveDialogVisible,
itemOperationToFolder,
activeFiles,
activeFolders,
setActiveFiles,
setActiveFolders,
updateActiveFiles,
setSelected,
setMoveToPanelVisible,

View File

@ -709,20 +709,26 @@ class FilesStore {
this.selectedFolderStore.setSelectedFolder(null);
};
mappingActiveItems = (items, destFolderId) => {
const arrayFormation = items.map((item) =>
typeof item === "object"
? { ...item, destFolderId: destFolderId ?? item.destFolderId }
: {
id: item,
destFolderId,
}
);
return arrayFormation;
};
setActiveFiles = (activeFiles, destFolderId) => {
const arrayFormation = activeFiles.map((id) => ({
id,
destFolderId,
}));
const arrayFormation = this.mappingActiveItems(activeFiles, destFolderId);
this.activeFiles = arrayFormation;
};
setActiveFolders = (activeFolders, destFolderId) => {
const arrayFormation = activeFolders.map((id) => ({
id,
destFolderId,
}));
const arrayFormation = this.mappingActiveItems(activeFolders, destFolderId);
this.activeFolders = arrayFormation;
};