diff options
author | John Molakvoæ <skjnldsv@protonmail.com> | 2024-01-19 17:10:18 +0100 |
---|---|---|
committer | Ferdinand Thiessen <opensource@fthiessen.de> | 2024-01-22 20:39:37 +0100 |
commit | 3c5a09b9a447d2509714914b94477cde941886d4 (patch) | |
tree | daa8978000f5b052135d08a8a3c12c561579a9b4 /apps/files/src | |
parent | 9398e908281d354e11e0b4680c693ffbbc98c57d (diff) | |
download | nextcloud-server-3c5a09b9a447d2509714914b94477cde941886d4.tar.gz nextcloud-server-3c5a09b9a447d2509714914b94477cde941886d4.zip |
fix(files): do not show `View in folder` in the Files view
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
Diffstat (limited to 'apps/files/src')
-rw-r--r-- | apps/files/src/actions/viewInFolderAction.spec.ts | 21 | ||||
-rw-r--r-- | apps/files/src/actions/viewInFolderAction.ts | 9 |
2 files changed, 27 insertions, 3 deletions
diff --git a/apps/files/src/actions/viewInFolderAction.spec.ts b/apps/files/src/actions/viewInFolderAction.spec.ts index 147fd0c537b..14b431f78cc 100644 --- a/apps/files/src/actions/viewInFolderAction.spec.ts +++ b/apps/files/src/actions/viewInFolderAction.spec.ts @@ -24,6 +24,11 @@ import { expect } from '@jest/globals' import { File, Folder, Node, Permission, View, FileAction } from '@nextcloud/files' const view = { + id: 'trashbin', + name: 'Trashbin', +} as View + +const viewFiles = { id: 'files', name: 'Files', } as View @@ -36,11 +41,12 @@ describe('View in folder action conditions tests', () => { expect(action.iconSvgInline([], view)).toBe('<svg>SvgMock</svg>') expect(action.default).toBeUndefined() expect(action.order).toBe(80) + expect(action.enabled).toBeDefined() }) }) describe('View in folder action enabled tests', () => { - test('Enabled for files', () => { + test('Enabled for trashbin', () => { const file = new File({ id: 1, source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', @@ -53,6 +59,19 @@ describe('View in folder action enabled tests', () => { expect(action.enabled!([file], view)).toBe(true) }) + test('Disabled for files', () => { + const file = new File({ + id: 1, + source: 'https://cloud.domain.com/remote.php/dav/files/admin/foobar.txt', + owner: 'admin', + mime: 'text/plain', + permissions: Permission.ALL, + }) + + expect(action.enabled).toBeDefined() + expect(action.enabled!([file], viewFiles)).toBe(false) + }) + test('Disabled without permissions', () => { const file = new File({ id: 1, diff --git a/apps/files/src/actions/viewInFolderAction.ts b/apps/files/src/actions/viewInFolderAction.ts index c306f93b0af..6498e9aa786 100644 --- a/apps/files/src/actions/viewInFolderAction.ts +++ b/apps/files/src/actions/viewInFolderAction.ts @@ -30,7 +30,12 @@ export const action = new FileAction({ }, iconSvgInline: () => FolderMoveSvg, - enabled(nodes: Node[]) { + enabled(nodes: Node[], view: View) { + // Only works outside of the main files view + if (view.id === 'files') { + return false + } + // Only works on single node if (nodes.length !== 1) { return false @@ -49,7 +54,7 @@ export const action = new FileAction({ return node.type === FileType.File }, - async exec(node: Node, view: View, dir: string) { + async exec(node: Node) { if (!node || node.type !== FileType.File) { return false } |