aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files/src
diff options
context:
space:
mode:
authorJohn Molakvoæ <skjnldsv@protonmail.com>2024-01-19 17:10:18 +0100
committerFerdinand Thiessen <opensource@fthiessen.de>2024-01-22 20:39:37 +0100
commit3c5a09b9a447d2509714914b94477cde941886d4 (patch)
treedaa8978000f5b052135d08a8a3c12c561579a9b4 /apps/files/src
parent9398e908281d354e11e0b4680c693ffbbc98c57d (diff)
downloadnextcloud-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.ts21
-rw-r--r--apps/files/src/actions/viewInFolderAction.ts9
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
}