From 7fbc2ca25ed8bd4befbfa6bbe87f244300e45b76 Mon Sep 17 00:00:00 2001 From: Ferdinand Thiessen Date: Tue, 14 Oct 2025 15:19:15 +0200 Subject: [PATCH] feat: add new link endpoint when using globalscale Signed-off-by: Ferdinand Thiessen --- .../src/views/FileReferencePickerElement.vue | 7 ++-- apps/files/src/views/ReferenceFileWidget.vue | 9 +++--- .../src/components/SharingEntryInherited.vue | 6 ++-- .../src/components/SharingEntryInternal.vue | 4 +-- .../src/utils/generateUrl.spec.ts | 30 +++++++++++++++++ apps/files_sharing/src/utils/generateUrl.ts | 32 +++++++++++++++++++ 6 files changed, 72 insertions(+), 16 deletions(-) create mode 100644 apps/files_sharing/src/utils/generateUrl.spec.ts create mode 100644 apps/files_sharing/src/utils/generateUrl.ts diff --git a/apps/files/src/views/FileReferencePickerElement.vue b/apps/files/src/views/FileReferencePickerElement.vue index 24de7e3e4f4..d3b9079f4ee 100644 --- a/apps/files/src/views/FileReferencePickerElement.vue +++ b/apps/files/src/views/FileReferencePickerElement.vue @@ -13,8 +13,8 @@ import type { Node as NcNode } from '@nextcloud/files' import { FilePickerBuilder } from '@nextcloud/dialogs' import { t } from '@nextcloud/l10n' -import { generateUrl } from '@nextcloud/router' import { onMounted } from 'vue' +import { generateFileUrl } from '../../../files_sharing/src/utils/generateUrl.ts' import logger from '../logger.ts' defineProps<{ @@ -74,9 +74,6 @@ function buttonFactory(selected: NcNode[]): IFilePickerButton[] { * @param node - selected node */ function onSubmit(node: NcNode) { - const url = new URL(window.location.href) - url.pathname = generateUrl('/f/{fileId}', { fileId: node.fileid! }) - url.search = '' - emit('submit', url.href) + emit('submit', generateFileUrl(node.fileid!)) } diff --git a/apps/files/src/views/ReferenceFileWidget.vue b/apps/files/src/views/ReferenceFileWidget.vue index 5881fa9c2fd..963867034c9 100644 --- a/apps/files/src/views/ReferenceFileWidget.vue +++ b/apps/files/src/views/ReferenceFileWidget.vue @@ -67,6 +67,7 @@ import path from 'path' import { defineComponent } from 'vue' import FileIcon from 'vue-material-design-icons/File.vue' import FolderIcon from 'vue-material-design-icons/Folder.vue' +import { generateFileUrl } from '../../../files_sharing/src/utils/generateUrl.ts' import logger from '../logger.ts' // see lib/private/Collaboration/Reference/File/FileReferenceProvider.php @@ -234,11 +235,9 @@ export default defineComponent({ .addButton({ id: 'open', label: this.t('settings', 'Open in files'), - callback(nodes: Node[]) { - if (nodes[0]) { - window.open(generateUrl('/f/{fileid}', { - fileid: nodes[0].fileid, - })) + callback([node]: Node[]) { + if (node) { + window.open(generateFileUrl(node.fileid!)) } }, type: 'primary', diff --git a/apps/files_sharing/src/components/SharingEntryInherited.vue b/apps/files_sharing/src/components/SharingEntryInherited.vue index 03dd05f10a7..d58a2290310 100644 --- a/apps/files_sharing/src/components/SharingEntryInherited.vue +++ b/apps/files_sharing/src/components/SharingEntryInherited.vue @@ -34,7 +34,6 @@