From 5b3d89bade3140725b0e26502bfda2b355fdc33b Mon Sep 17 00:00:00 2001 From: Montassar Ghanmy Date: Wed, 24 Jul 2024 12:53:59 +0100 Subject: [PATCH 1/5] =?UTF-8?q?=F0=9F=90=9B=20Fixed=20"nothing=20is=20here?= =?UTF-8?q?"=20everywhere?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Monta --- tdrive/frontend/src/app/views/client/body/drive/browser.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tdrive/frontend/src/app/views/client/body/drive/browser.tsx b/tdrive/frontend/src/app/views/client/body/drive/browser.tsx index 5ba8b7f7..e3b3cadb 100644 --- a/tdrive/frontend/src/app/views/client/body/drive/browser.tsx +++ b/tdrive/frontend/src/app/views/client/body/drive/browser.tsx @@ -423,7 +423,7 @@ export default memo(
- {documents.length === 0 && !loading && ( + {children.length === 0 && !loading && (
{Languages.t('scenes.app.drive.nothing')} From bb07ca2a7ac854fc3416db2be04fbefbc540aafd Mon Sep 17 00:00:00 2001 From: Eric Doughty-Papassideris Date: Wed, 24 Jul 2024 12:31:04 +0200 Subject: [PATCH 2/5] =?UTF-8?q?=F0=9F=92=84=20frontend:=20hide=20open=20in?= =?UTF-8?q?=20new=20window=20context=20menu=20(#603)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../frontend/src/app/views/client/body/drive/context-menu.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tdrive/frontend/src/app/views/client/body/drive/context-menu.tsx b/tdrive/frontend/src/app/views/client/body/drive/context-menu.tsx index 4185694c..5b265e3b 100644 --- a/tdrive/frontend/src/app/views/client/body/drive/context-menu.tsx +++ b/tdrive/frontend/src/app/views/client/body/drive/context-menu.tsx @@ -102,6 +102,7 @@ export const useOnBuildContextMenu = (children: DriveItem[], initialParentId?: s } } }, + /*TODO: fix loading of preview in new window and uncomment. See https://github.com/linagora/twake-drive/issues/603 . { type: 'menu', icon: 'eye', @@ -112,7 +113,7 @@ export const useOnBuildContextMenu = (children: DriveItem[], initialParentId?: s const route = RouterServices.generateRouteFromState({ companyId: company, viewId, itemId }); window.open(route, '_blank'); } - }, + }, // */ { type: 'separator' }, { type: 'menu', From a09bd964e197783d32d8b06691953097e4045542 Mon Sep 17 00:00:00 2001 From: Montassar Ghanmy Date: Wed, 24 Jul 2024 14:06:46 +0100 Subject: [PATCH 3/5] =?UTF-8?q?=F0=9F=90=9B=20Fix=20shared=20file=20action?= =?UTF-8?q?=20menu=20(#626)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/app/views/client/body/drive/browser.tsx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/tdrive/frontend/src/app/views/client/body/drive/browser.tsx b/tdrive/frontend/src/app/views/client/body/drive/browser.tsx index e3b3cadb..5863ba9f 100644 --- a/tdrive/frontend/src/app/views/client/body/drive/browser.tsx +++ b/tdrive/frontend/src/app/views/client/body/drive/browser.tsx @@ -149,14 +149,14 @@ export default memo( if (item?.id) setUploadModalState({ open: true, parent_id: item.id }); }, [item?.id, setUploadModalState]); - const documents = ( - item?.is_directory === false + const items = item?.is_directory === false ? //We use this hack for public shared single file item ? [item] : [] : children - ).filter(i => !i.is_directory); + + const documents = items.filter(i => !i.is_directory); const selectedCount = Object.values(checked).filter(v => v).length; @@ -307,7 +307,7 @@ export default memo(
@@ -423,7 +423,7 @@ export default memo(
- {children.length === 0 && !loading && ( + {items.length === 0 && !loading && (
{Languages.t('scenes.app.drive.nothing')} @@ -443,14 +443,14 @@ export default memo( )}
)} - {children.map((child, index) => + {items.map((child, index) => child.is_directory ? ( { @@ -476,7 +476,7 @@ export default memo( From 123e6212fbe2b765a98f398a3639bfaea057be98 Mon Sep 17 00:00:00 2001 From: Montassar Ghanmy Date: Wed, 24 Jul 2024 14:28:55 +0100 Subject: [PATCH 4/5] =?UTF-8?q?=F0=9F=90=9B=20Disable=20upload=20to=20tras?= =?UTF-8?q?h/shared=20with=20me=20(#627)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tdrive/frontend/src/app/views/client/body/drive/browser.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/tdrive/frontend/src/app/views/client/body/drive/browser.tsx b/tdrive/frontend/src/app/views/client/body/drive/browser.tsx index 5863ba9f..bb973514 100644 --- a/tdrive/frontend/src/app/views/client/body/drive/browser.tsx +++ b/tdrive/frontend/src/app/views/client/body/drive/browser.tsx @@ -292,6 +292,7 @@ export default memo( }} onDragOver={handleDragOver} onDrop={handleDrop} + disabled={inTrash || access === 'read'} > {role == 'admin' && } From 9b99f3f3540fe1a189ee6074a1a53142b56036fc Mon Sep 17 00:00:00 2001 From: Montassar Ghanmy Date: Wed, 24 Jul 2024 16:01:42 +0100 Subject: [PATCH 5/5] =?UTF-8?q?=F0=9F=90=9B=20Fix=20permanent=20trash=20de?= =?UTF-8?q?lete=20(#629)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/app/features/drive/hooks/use-drive-actions.tsx | 6 ++++-- .../client/body/drive/modals/confirm-delete/index.tsx | 7 +++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/tdrive/frontend/src/app/features/drive/hooks/use-drive-actions.tsx b/tdrive/frontend/src/app/features/drive/hooks/use-drive-actions.tsx index f56c794e..cbb7eb3d 100644 --- a/tdrive/frontend/src/app/features/drive/hooks/use-drive-actions.tsx +++ b/tdrive/frontend/src/app/features/drive/hooks/use-drive-actions.tsx @@ -111,9 +111,11 @@ export const useDriveActions = () => { ); const remove = useCallback( - async (id: string, parentId: string) => { + async (id: string | string[], parentId: string) => { try { - await DriveApiClient.remove(companyId, id); + if (Array.isArray(id)) { + await Promise.all(id.map(i => DriveApiClient.remove(companyId, i))); + } else await DriveApiClient.remove(companyId, id); await refresh(parentId || '', true); await getQuota(); } catch (e) { diff --git a/tdrive/frontend/src/app/views/client/body/drive/modals/confirm-delete/index.tsx b/tdrive/frontend/src/app/views/client/body/drive/modals/confirm-delete/index.tsx index d31ad1c2..5a31d570 100644 --- a/tdrive/frontend/src/app/views/client/body/drive/modals/confirm-delete/index.tsx +++ b/tdrive/frontend/src/app/views/client/body/drive/modals/confirm-delete/index.tsx @@ -41,7 +41,7 @@ const ConfirmDeleteModalContent = ({ items }: { items: DriveItem[] }) => { const [loading, setLoading] = useState(false); const [state, setState] = useRecoilState(ConfirmDeleteModalAtom); const [, setSelected] = useRecoilState(DriveItemSelectedList); - const { viewId } = RouterServices.getStateFromRoute(); + const { dirId, viewId } = RouterServices.getStateFromRoute(); useEffect(() => { refresh(items[0].id); @@ -65,9 +65,8 @@ const ConfirmDeleteModalContent = ({ items }: { items: DriveItem[] }) => { loading={loading} onClick={async () => { setLoading(true); - for (const item of items) { - await remove(item.id, viewId || ""); - } + const ids = items.map((item) => item.id); + await remove(ids, dirId || viewId || ""); setLoading(false); setSelected({}); setState({ ...state, open: false });