Merge pull request #1245 from ONLYOFFICE/feature/dnd-to-trash

Web: Files: added drag-and-drop to trash folder
This commit is contained in:
Alexey Safronov 2023-02-28 18:53:20 +04:00 committed by GitHub
commit 6e4ff69ee9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -170,6 +170,7 @@ const Items = ({
onHide, onHide,
firstLoad, firstLoad,
deleteAction,
}) => { }) => {
useEffect(() => { useEffect(() => {
data.forEach((elem) => { data.forEach((elem) => {
@ -279,7 +280,8 @@ const Items = ({
(item.pathParts && (item.pathParts &&
(item.pathParts[0] === myId || item.pathParts[0] === commonId)) || (item.pathParts[0] === myId || item.pathParts[0] === commonId)) ||
item.rootFolderType === FolderType.USER || item.rootFolderType === FolderType.USER ||
item.rootFolderType === FolderType.COMMON item.rootFolderType === FolderType.COMMON ||
item.rootFolderType === FolderType.TRASH
) { ) {
return true; return true;
} }
@ -307,6 +309,18 @@ const Items = ({
[moveDragItems, t] [moveDragItems, t]
); );
const onRemove = React.useCallback(() => {
const translations = {
deleteOperation: t("Translations:DeleteOperation"),
deleteFromTrash: t("Translations:DeleteFromTrash"),
deleteSelectedElem: t("Translations:DeleteSelectedElem"),
FileRemoved: t("Files:FileRemoved"),
FolderRemoved: t("Files:FolderRemoved"),
};
deleteAction(translations);
}, [deleteAction]);
const onEmptyTrashAction = () => { const onEmptyTrashAction = () => {
isMobile && onHide(); isMobile && onHide();
setEmptyTrashDialogVisible(true); setEmptyTrashDialogVisible(true);
@ -336,7 +350,7 @@ const Items = ({
getEndOfBlock={getEndOfBlock} getEndOfBlock={getEndOfBlock}
showText={showText} showText={showText}
onClick={onClick} onClick={onClick}
onMoveTo={onMoveTo} onMoveTo={isTrash ? onRemove : onMoveTo}
onBadgeClick={isTrash ? onEmptyTrashAction : onBadgeClick} onBadgeClick={isTrash ? onEmptyTrashAction : onBadgeClick}
showDragItems={showDragItems} showDragItems={showDragItems}
showBadge={showBadge} showBadge={showBadge}
@ -419,7 +433,11 @@ export default inject(
} = treeFoldersStore; } = treeFoldersStore;
const { id, pathParts, rootFolderType } = selectedFolderStore; const { id, pathParts, rootFolderType } = selectedFolderStore;
const { moveDragItems, uploadEmptyFolders } = filesActionsStore; const {
moveDragItems,
uploadEmptyFolders,
deleteAction,
} = filesActionsStore;
const { setEmptyTrashDialogVisible } = dialogsStore; const { setEmptyTrashDialogVisible } = dialogsStore;
return { return {
@ -440,6 +458,7 @@ export default inject(
setDragging, setDragging,
setStartDrag, setStartDrag,
moveDragItems, moveDragItems,
deleteAction,
startUpload, startUpload,
uploadEmptyFolders, uploadEmptyFolders,
setEmptyTrashDialogVisible, setEmptyTrashDialogVisible,