From cb1ddb07fd83e9dda4c6d6cc610e40c04850590a Mon Sep 17 00:00:00 2001 From: Git'Fellow <12234510+solracsf@users.noreply.github.com> Date: Sun, 20 Sep 2026 10:24:41 +0200 Subject: [PATCH] fix(systemtags): offer every tag in the tag selects NcSelectTags only lists five options by default, so the tag editor in the admin settings, the tag field in the files sidebar and the tag check of the workflow engine each stopped at five tags. Signed-off-by: Git'Fellow <12234510+solracsf@users.noreply.github.com> --- .../src/components/SystemTagForm.spec.ts | 35 +++++++++++++++++++ .../src/components/SystemTagForm.vue | 1 + apps/systemtags/src/components/SystemTags.vue | 1 + .../src/components/Checks/FileSystemTag.vue | 1 + 4 files changed, 38 insertions(+) create mode 100644 apps/systemtags/src/components/SystemTagForm.spec.ts 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 @@