diff --git a/frontend/src/components/project/partials/FilterInput.vue b/frontend/src/components/project/partials/FilterInput.vue index 518d71033..a3139b3f0 100644 --- a/frontend/src/components/project/partials/FilterInput.vue +++ b/frontend/src/components/project/partials/FilterInput.vue @@ -222,7 +222,7 @@ function handleFieldInput() { autocompleteResults.value = projectStore.searchProject(search) } autocompleteMatchText.value = keyword - autocompleteMatchPosition.value = prefix.length - 1 + keyword.replace(search, '').length + autocompleteMatchPosition.value = match.index + prefix.length - 1 + keyword.replace(search, '').length } } }) diff --git a/frontend/src/helpers/filters.test.ts b/frontend/src/helpers/filters.test.ts index 2a71d9f9f..502362926 100644 --- a/frontend/src/helpers/filters.test.ts +++ b/frontend/src/helpers/filters.test.ts @@ -107,6 +107,16 @@ describe('Filter Transformation', () => { expect(transformed).toBe('project = 1') }) + + it('should resolve project and labels independently', () => { + const transformed = transformFilterStringForApi( + 'project = lorem && labels = ipsum', + multipleDummyResolver, + multipleDummyResolver, + ) + + expect(transformed).toBe('project = 1 && labels = 2') + }) }) describe('To API', () => {