Web: Files: added loader for delete operation
This commit is contained in:
parent
8a4a625609
commit
79c06534d5
@ -69,6 +69,7 @@ class FilesActionStore {
|
||||
|
||||
deleteAction = async (translations, newSelection = null) => {
|
||||
const { isRecycleBinFolder, isPrivacyFolder } = this.treeFoldersStore;
|
||||
const { setActiveFiles, setActiveFolders } = this.filesStore;
|
||||
|
||||
const selection = newSelection ? newSelection : this.filesStore.selection;
|
||||
|
||||
@ -101,6 +102,9 @@ class FilesActionStore {
|
||||
i++;
|
||||
}
|
||||
|
||||
setActiveFiles(fileIds);
|
||||
setActiveFolders(folderIds);
|
||||
|
||||
if (folderIds.length || fileIds.length) {
|
||||
this.isMediaOpen();
|
||||
|
||||
@ -112,7 +116,12 @@ class FilesActionStore {
|
||||
icon: "trash",
|
||||
label: translations.deleteOperation,
|
||||
};
|
||||
await this.uploadDataStore.loopFilesOperations(data, pbData);
|
||||
await this.uploadDataStore.loopFilesOperations(
|
||||
data,
|
||||
pbData,
|
||||
fileIds,
|
||||
folderIds
|
||||
);
|
||||
this.updateCurrentFolder();
|
||||
}
|
||||
);
|
||||
@ -327,25 +336,33 @@ class FilesActionStore {
|
||||
};
|
||||
|
||||
deleteItemOperation = (isFile, itemId, translations) => {
|
||||
const { setActiveFiles, setActiveFolders } = this.filesStore;
|
||||
|
||||
const pbData = {
|
||||
icon: "trash",
|
||||
label: translations.deleteOperation,
|
||||
};
|
||||
|
||||
if (isFile) {
|
||||
setActiveFiles([itemId]);
|
||||
this.isMediaOpen();
|
||||
return deleteFile(itemId)
|
||||
.then(async (res) => {
|
||||
const data = res[0] ? res[0] : null;
|
||||
await this.uploadDataStore.loopFilesOperations(data, pbData);
|
||||
await this.uploadDataStore.loopFilesOperations(data, pbData, [
|
||||
itemId,
|
||||
]);
|
||||
this.updateCurrentFolder();
|
||||
})
|
||||
.then(() => toastr.success(translations.successRemoveFile));
|
||||
} else {
|
||||
setActiveFolders([itemId]);
|
||||
return deleteFolder(itemId)
|
||||
.then(async (res) => {
|
||||
const data = res[0] ? res[0] : null;
|
||||
await this.uploadDataStore.loopFilesOperations(data, pbData);
|
||||
await this.uploadDataStore.loopFilesOperations(data, pbData, null, [
|
||||
itemId,
|
||||
]);
|
||||
this.updateCurrentFolder();
|
||||
})
|
||||
.then(() => toastr.success(translations.successRemoveFolder));
|
||||
|
@ -853,7 +853,7 @@ class UploadDataStore {
|
||||
);
|
||||
};
|
||||
|
||||
loopFilesOperations = async (data, pbData) => {
|
||||
loopFilesOperations = async (data, pbData, fileIds, folderIds) => {
|
||||
const label = this.secondaryProgressDataStore.label;
|
||||
|
||||
const {
|
||||
@ -892,16 +892,26 @@ class UploadDataStore {
|
||||
});
|
||||
}
|
||||
|
||||
const newActiveFiles = activeFiles.filter(
|
||||
(x) => !operationItem.files.find((y) => y.id === x)
|
||||
);
|
||||
if (operationItem.files || operationItem.folders) {
|
||||
const newActiveFiles = activeFiles.filter(
|
||||
(x) => !operationItem.files.find((y) => y.id === x)
|
||||
);
|
||||
|
||||
const newActiveFolders = activeFolders.filter(
|
||||
(x) => !operationItem.folders.find((y) => y.id === x)
|
||||
);
|
||||
const newActiveFolders = activeFolders.filter(
|
||||
(x) => !operationItem.folders.find((y) => y.id === x)
|
||||
);
|
||||
|
||||
setActiveFiles(newActiveFiles);
|
||||
setActiveFolders(newActiveFolders);
|
||||
setActiveFiles(newActiveFiles);
|
||||
setActiveFolders(newActiveFolders);
|
||||
} else if (fileIds || folderIds) {
|
||||
const newActiveFiles = activeFiles.filter((el) => !fileIds.includes(el));
|
||||
const newActiveFolders = activeFolders.filter(
|
||||
(el) => !folderIds.includes(el)
|
||||
);
|
||||
|
||||
setActiveFiles(newActiveFiles);
|
||||
setActiveFolders(newActiveFolders);
|
||||
}
|
||||
|
||||
// setTimeout(() => {
|
||||
// setActiveFiles(newActiveFiles);
|
||||
|
Loading…
Reference in New Issue
Block a user