From d5a4eb81395c57e655469ccd6f951ab9eb3410d9 Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Tue, 17 Jun 2025 19:27:23 +0200 Subject: [PATCH] fix(files): also use `open-in-files` for the search view Signed-off-by: Ferdinand Thiessen --- .../src/actions/openInFilesAction.spec.ts | 2 +- apps/files/src/actions/openInFilesAction.ts | 18 ++++++++++-------- .../files_actions/openInFilesAction.spec.ts | 2 +- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/apps/files/src/actions/openInFilesAction.spec.ts b/apps/files/src/actions/openInFilesAction.spec.ts index e732270d4c0..3ccd15fa2d2 100644 --- a/apps/files/src/actions/openInFilesAction.spec.ts +++ b/apps/files/src/actions/openInFilesAction.spec.ts @@ -19,7 +19,7 @@ const recentView = { describe('Open in files action conditions tests', () => { test('Default values', () => { expect(action).toBeInstanceOf(FileAction) - expect(action.id).toBe('open-in-files-recent') + expect(action.id).toBe('open-in-files') expect(action.displayName([], recentView)).toBe('Open in Files') expect(action.iconSvgInline([], recentView)).toBe('') expect(action.default).toBe(DefaultType.HIDDEN) diff --git a/apps/files/src/actions/openInFilesAction.ts b/apps/files/src/actions/openInFilesAction.ts index 10e19e7eace..9e10b1ac74e 100644 --- a/apps/files/src/actions/openInFilesAction.ts +++ b/apps/files/src/actions/openInFilesAction.ts @@ -2,19 +2,21 @@ * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later */ -import { translate as t } from '@nextcloud/l10n' -import { type Node, FileType, FileAction, DefaultType } from '@nextcloud/files' -/** - * TODO: Move away from a redirect and handle - * navigation straight out of the recent view - */ +import type { Node } from '@nextcloud/files' + +import { t } from '@nextcloud/l10n' +import { FileType, FileAction, DefaultType } from '@nextcloud/files' +import { VIEW_ID as SEARCH_VIEW_ID } from '../views/search' + export const action = new FileAction({ - id: 'open-in-files-recent', + id: 'open-in-files', displayName: () => t('files', 'Open in Files'), iconSvgInline: () => '', - enabled: (nodes, view) => view.id === 'recent', + enabled(nodes, view) { + return view.id === 'recent' || view.id === SEARCH_VIEW_ID + }, async exec(node: Node) { let dir = node.dirname diff --git a/apps/files_sharing/src/files_actions/openInFilesAction.spec.ts b/apps/files_sharing/src/files_actions/openInFilesAction.spec.ts index 95bd2812db7..23c0938545c 100644 --- a/apps/files_sharing/src/files_actions/openInFilesAction.spec.ts +++ b/apps/files_sharing/src/files_actions/openInFilesAction.spec.ts @@ -29,7 +29,7 @@ const invalidViews = [ describe('Open in files action conditions tests', () => { test('Default values', () => { expect(action).toBeInstanceOf(FileAction) - expect(action.id).toBe('open-in-files') + expect(action.id).toBe('files_sharing:open-in-files') expect(action.displayName([], validViews[0])).toBe('Open in Files') expect(action.iconSvgInline([], validViews[0])).toBe('') expect(action.default).toBe(DefaultType.HIDDEN)