diff --git a/src/helpers/filePicker.js b/src/helpers/filePicker.js index 497e87b1079..db866b91b85 100644 --- a/src/helpers/filePicker.js +++ b/src/helpers/filePicker.js @@ -3,13 +3,31 @@ * SPDX-License-Identifier: AGPL-3.0-or-later */ -import { FilePickerType, getFilePickerBuilder } from '@nextcloud/dialogs' +import { getFilePickerBuilder } from '@nextcloud/dialogs' export const buildFilePicker = (startPath) => { return getFilePickerBuilder(t('text', 'Select file or folder to link to')) .startAt(startPath) .allowDirectories(true) .setMultiSelect(false) - .setType(FilePickerType.Choose) + .setButtonFactory((nodes, path) => { + const buttons = [] + const node = nodes?.[0]?.attributes?.displayName || nodes?.[0]?.basename + const isRoot = nodes?.[0]?.root === nodes?.[0]?.attributes?.filename + let label = t('text', 'Choose') + + if (nodes.length === 1 && !isRoot) { + label = t('text', 'Choose {file}', { file: node }) + } + + buttons.push({ + callback: () => {}, + type: 'primary', + label, + disabled: isRoot, + }) + + return buttons + }) .build() }