fix(quick actions): project search
All checks were successful
continuous-integration/drone/pr Build is passing

This commit is contained in:
kolaente 2023-08-29 10:08:47 +02:00
parent a4b369470a
commit 442d0342a9
Signed by: konrad
GPG Key ID: F40E70337AB24C9B
2 changed files with 7 additions and 11 deletions

View File

@ -143,18 +143,13 @@ const foundProjects = computed(() => {
searchMode.value === SEARCH_MODE.PROJECTS || searchMode.value === SEARCH_MODE.PROJECTS ||
text === '' text === ''
) { ) {
return [] const history = getHistory()
return history.map((p) => projectStore.projects[p.id])
.filter(p => Boolean(p))
} }
const history = getHistory() return projectStore.searchProject(project ?? text)
const allProjects = [ .filter(p => Boolean(p))
...new Set([
...history.map((p) => projectStore.projects[p.id]),
...projectStore.searchProject(project),
]),
]
return allProjects.filter(p => Boolean(p))
}) })
// FIXME: use fuzzysearch // FIXME: use fuzzysearch

View File

@ -19,7 +19,7 @@ import {success} from '@/message'
import {useBaseStore} from '@/stores/base' import {useBaseStore} from '@/stores/base'
import {getSavedFilterIdFromProjectId} from '@/services/savedFilter' 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 { export interface ProjectState {
[id: IProject['id']]: IProject [id: IProject['id']]: IProject
@ -174,6 +174,7 @@ export const useProjectStore = defineStore('project', () => {
const loadedProjects = await projectService.getAll({}, {is_archived: true}) as IProject[] const loadedProjects = await projectService.getAll({}, {is_archived: true}) as IProject[]
projects.value = {} projects.value = {}
setProjects(loadedProjects) setProjects(loadedProjects)
loadedProjects.forEach(p => add(p))
return loadedProjects return loadedProjects
} finally { } finally {