Fixed Bug 62573 - Files.Media. Fixed delete action
This commit is contained in:
parent
85bce1ba4a
commit
9995eed7bf
@ -51,6 +51,8 @@ const FilesMediaViewer = (props) => {
|
||||
getFirstUrl,
|
||||
firstLoad,
|
||||
setSelection,
|
||||
activeFiles,
|
||||
activeFolders,
|
||||
} = props;
|
||||
|
||||
useEffect(() => {
|
||||
@ -135,6 +137,12 @@ const FilesMediaViewer = (props) => {
|
||||
if (files.length > 0) {
|
||||
let file = files.find((file) => file.id === id);
|
||||
if (file) {
|
||||
// try to fix with one check later (see deleteAction)
|
||||
const isActiveFile = activeFiles.find((id) => id === file.id);
|
||||
const isActiveFolder = activeFolders.find((id) => id === file.id);
|
||||
|
||||
if (isActiveFile || isActiveFolder) return;
|
||||
|
||||
setRemoveMediaItem(file);
|
||||
deleteItemAction(file.id, translations, true, file.providerKey);
|
||||
}
|
||||
@ -234,6 +242,8 @@ export default inject(
|
||||
resetUrl,
|
||||
setSelection,
|
||||
setAlreadyFetchingRooms,
|
||||
activeFiles,
|
||||
activeFolders,
|
||||
} = filesStore;
|
||||
const {
|
||||
visible,
|
||||
@ -306,6 +316,8 @@ export default inject(
|
||||
archiveRoomsId,
|
||||
setSelection,
|
||||
getFirstUrl,
|
||||
activeFiles,
|
||||
activeFolders,
|
||||
};
|
||||
}
|
||||
)(
|
||||
|
@ -257,6 +257,8 @@ class FilesActionStore {
|
||||
addActiveItems,
|
||||
getIsEmptyTrash,
|
||||
bufferSelection,
|
||||
activeFiles,
|
||||
activeFolders,
|
||||
} = this.filesStore;
|
||||
const {
|
||||
secondaryProgressDataStore,
|
||||
@ -279,16 +281,6 @@ class FilesActionStore {
|
||||
|
||||
const operationId = uniqueid("operation_");
|
||||
|
||||
setSecondaryProgressBarData({
|
||||
icon: "trash",
|
||||
visible: true,
|
||||
percent: 0,
|
||||
label: translations.deleteOperation,
|
||||
alert: false,
|
||||
filesCount: selection.length,
|
||||
operationId,
|
||||
});
|
||||
|
||||
const deleteAfter = false; //Delete after finished TODO: get from settings
|
||||
const immediately = isRecycleBinFolder || isPrivacyFolder ? true : false; //Don't move to the Recycle Bin
|
||||
|
||||
@ -298,13 +290,32 @@ class FilesActionStore {
|
||||
let i = 0;
|
||||
while (selection.length !== i) {
|
||||
if (selection[i].fileExst || selection[i].contentLength) {
|
||||
fileIds.push(selection[i].id);
|
||||
// try to fix with one check later (see onDeleteMediaFile)
|
||||
const isActiveFile = activeFiles.find((id) => id === selection[i].id);
|
||||
!isActiveFile && fileIds.push(selection[i].id);
|
||||
} else {
|
||||
folderIds.push(selection[i].id);
|
||||
// try to fix with one check later (see onDeleteMediaFile)
|
||||
const isActiveFolder = activeFolders.find(
|
||||
(id) => id === selection[i].id
|
||||
);
|
||||
!isActiveFolder && folderIds.push(selection[i].id);
|
||||
}
|
||||
i++;
|
||||
}
|
||||
|
||||
if (!folderIds.length && !fileIds.length) return;
|
||||
const filesCount = folderIds.length + fileIds.length;
|
||||
|
||||
setSecondaryProgressBarData({
|
||||
icon: "trash",
|
||||
visible: true,
|
||||
percent: 0,
|
||||
label: translations.deleteOperation,
|
||||
alert: false,
|
||||
filesCount,
|
||||
operationId,
|
||||
});
|
||||
|
||||
addActiveItems(fileIds);
|
||||
addActiveItems(null, folderIds);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user