From 442d0342a90093cbc1c7f778bd744d7e8a436a87 Mon Sep 17 00:00:00 2001 From: kolaente Date: Tue, 29 Aug 2023 10:08:47 +0200 Subject: [PATCH] fix(quick actions): project search --- src/components/quick-actions/quick-actions.vue | 15 +++++---------- src/stores/projects.ts | 3 ++- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/src/components/quick-actions/quick-actions.vue b/src/components/quick-actions/quick-actions.vue index d70ca7d0e..1648d81db 100644 --- a/src/components/quick-actions/quick-actions.vue +++ b/src/components/quick-actions/quick-actions.vue @@ -143,18 +143,13 @@ const foundProjects = computed(() => { searchMode.value === SEARCH_MODE.PROJECTS || text === '' ) { - return [] + const history = getHistory() + return history.map((p) => projectStore.projects[p.id]) + .filter(p => Boolean(p)) } - const history = getHistory() - const allProjects = [ - ...new Set([ - ...history.map((p) => projectStore.projects[p.id]), - ...projectStore.searchProject(project), - ]), - ] - - return allProjects.filter(p => Boolean(p)) + return projectStore.searchProject(project ?? text) + .filter(p => Boolean(p)) }) // FIXME: use fuzzysearch diff --git a/src/stores/projects.ts b/src/stores/projects.ts index b3ce6d889..a18e14956 100644 --- a/src/stores/projects.ts +++ b/src/stores/projects.ts @@ -19,7 +19,7 @@ import {success} from '@/message' import {useBaseStore} from '@/stores/base' import {getSavedFilterIdFromProjectId} from '@/services/savedFilter' -const {remove, search, update} = createNewIndexer('projects', ['title', 'description']) +const {add, remove, search, update} = createNewIndexer('projects', ['title', 'description']) export interface ProjectState { [id: IProject['id']]: IProject @@ -174,6 +174,7 @@ export const useProjectStore = defineStore('project', () => { const loadedProjects = await projectService.getAll({}, {is_archived: true}) as IProject[] projects.value = {} setProjects(loadedProjects) + loadedProjects.forEach(p => add(p)) return loadedProjects } finally {