diff --git a/apps/systemtags/src/components/SystemTagForm.spec.ts b/apps/systemtags/src/components/SystemTagForm.spec.ts new file mode 100644 index 0000000000000..84b426009bd28 --- /dev/null +++ b/apps/systemtags/src/components/SystemTagForm.spec.ts @@ -0,0 +1,35 @@ +/** + * SPDX-FileCopyrightText: 2026 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +import type { VueWrapper } from '@vue/test-utils' +import type { TagWithId } from '../types.ts' + +import { mount } from '@vue/test-utils' +import { afterEach, describe, expect, it } from 'vitest' +import SystemTagForm from './SystemTagForm.vue' + +const tags: TagWithId[] = Array.from({ length: 8 }, (_, index) => ({ + id: index + 1, + displayName: `tag ${index + 1}`, + userVisible: true, + userAssignable: true, + canAssign: true, +})) + +describe('SystemTagForm', () => { + let component: VueWrapper + + afterEach(() => { + component?.unmount() + }) + + it('offers every tag for editing', () => { + component = mount(SystemTagForm, { props: { tags } }) + + const select = component.findComponent({ name: 'VueSelect' }) + + expect(select.vm.filteredOptions).toHaveLength(tags.length) + }) +}) diff --git a/apps/systemtags/src/components/SystemTagForm.vue b/apps/systemtags/src/components/SystemTagForm.vue index 24bf5c872bf8f..49d6d63feb19c 100644 --- a/apps/systemtags/src/components/SystemTagForm.vue +++ b/apps/systemtags/src/components/SystemTagForm.vue @@ -235,6 +235,7 @@ function getTagLevel(userVisible: boolean, userAssignable: boolean): TagLevel { :placeholder="t('systemtags', 'Collaborative tags …')" :fetchTags="false" :options="tags" + :limit="null" :multiple="false" labelOutside @update:modelValue="onSelectTag"> diff --git a/apps/systemtags/src/components/SystemTags.vue b/apps/systemtags/src/components/SystemTags.vue index fb5d201c47ddf..a5f98671f5658 100644 --- a/apps/systemtags/src/components/SystemTags.vue +++ b/apps/systemtags/src/components/SystemTags.vue @@ -245,6 +245,7 @@ async function updateAndDispatchNodeTagsEvent(fileId: number) { :inputLabel="t('systemtags', 'Search or create collaborative tags')" :placeholder="t('systemtags', 'Collaborative tags …')" :options="sortedTags" + :limit="null" :modelValue="selectedTags" :createOption="createOption" :disabled="disabled" diff --git a/apps/workflowengine/src/components/Checks/FileSystemTag.vue b/apps/workflowengine/src/components/Checks/FileSystemTag.vue index aea0499876807..68a9b72e62063 100644 --- a/apps/workflowengine/src/components/Checks/FileSystemTag.vue +++ b/apps/workflowengine/src/components/Checks/FileSystemTag.vue @@ -5,6 +5,7 @@