fix(projects): load all projects when first opening Vikunja
This commit is contained in:
parent
a3932a0a19
commit
89b01e86bc
@ -122,7 +122,7 @@ const labelStore = useLabelStore()
|
|||||||
labelStore.loadAllLabels()
|
labelStore.loadAllLabels()
|
||||||
|
|
||||||
const projectStore = useProjectStore()
|
const projectStore = useProjectStore()
|
||||||
projectStore.loadProjects()
|
projectStore.loadAllProjects()
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
@ -111,13 +111,13 @@ export function useSavedFilter(projectId?: MaybeRef<IProject['id']>) {
|
|||||||
|
|
||||||
async function createFilter() {
|
async function createFilter() {
|
||||||
filter.value = await filterService.create(filter.value)
|
filter.value = await filterService.create(filter.value)
|
||||||
await projectStore.loadProjects()
|
await projectStore.loadAllProjects()
|
||||||
router.push({name: 'project.index', params: {projectId: getProjectId(filter.value)}})
|
router.push({name: 'project.index', params: {projectId: getProjectId(filter.value)}})
|
||||||
}
|
}
|
||||||
|
|
||||||
async function saveFilter() {
|
async function saveFilter() {
|
||||||
const response = await filterService.update(filter.value)
|
const response = await filterService.update(filter.value)
|
||||||
await projectStore.loadProjects()
|
await projectStore.loadAllProjects()
|
||||||
success({message: t('filters.edit.success')})
|
success({message: t('filters.edit.success')})
|
||||||
response.filters = objectToSnakeCase(response.filters)
|
response.filters = objectToSnakeCase(response.filters)
|
||||||
filter.value = response
|
filter.value = response
|
||||||
@ -130,7 +130,7 @@ export function useSavedFilter(projectId?: MaybeRef<IProject['id']>) {
|
|||||||
|
|
||||||
async function deleteFilter() {
|
async function deleteFilter() {
|
||||||
await filterService.delete(filter.value)
|
await filterService.delete(filter.value)
|
||||||
await projectStore.loadProjects()
|
await projectStore.loadAllProjects()
|
||||||
success({message: t('filters.delete.success')})
|
success({message: t('filters.delete.success')})
|
||||||
router.push({name: 'projects.index'})
|
router.push({name: 'projects.index'})
|
||||||
}
|
}
|
||||||
|
@ -175,20 +175,28 @@ export const useProjectStore = defineStore('project', () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function loadProjects() {
|
async function loadAllProjects() {
|
||||||
const cancel = setModuleLoading(setIsLoading)
|
const cancel = setModuleLoading(setIsLoading)
|
||||||
|
|
||||||
const projectService = new ProjectService()
|
const projectService = new ProjectService()
|
||||||
|
const loadedProjects: IProject[] = []
|
||||||
|
let page = 1
|
||||||
try {
|
try {
|
||||||
const loadedProjects = await projectService.getAll({}, {is_archived: true}) as IProject[]
|
do {
|
||||||
projects.value = {}
|
const newProjects = await projectService.getAll({}, {is_archived: true}, page) as IProject[]
|
||||||
setProjects(loadedProjects)
|
loadedProjects.push(...newProjects)
|
||||||
loadedProjects.forEach(p => add(p))
|
page++
|
||||||
|
} while (page <= projectService.totalPages)
|
||||||
|
|
||||||
return loadedProjects
|
|
||||||
} finally {
|
} finally {
|
||||||
cancel()
|
cancel()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
projects.value = {}
|
||||||
|
setProjects(loadedProjects)
|
||||||
|
loadedProjects.forEach(p => add(p))
|
||||||
|
|
||||||
|
return loadedProjects
|
||||||
}
|
}
|
||||||
|
|
||||||
function getAncestors(project: IProject): IProject[] {
|
function getAncestors(project: IProject): IProject[] {
|
||||||
@ -222,7 +230,7 @@ export const useProjectStore = defineStore('project', () => {
|
|||||||
setProjects,
|
setProjects,
|
||||||
removeProjectById,
|
removeProjectById,
|
||||||
toggleProjectFavorite,
|
toggleProjectFavorite,
|
||||||
loadProjects,
|
loadAllProjects,
|
||||||
createProject,
|
createProject,
|
||||||
updateProject,
|
updateProject,
|
||||||
deleteProject,
|
deleteProject,
|
||||||
|
@ -473,7 +473,7 @@ export const useTaskStore = defineStore('task', () => {
|
|||||||
task = await taskService.update(task)
|
task = await taskService.update(task)
|
||||||
|
|
||||||
// reloading the projects list so that the Favorites project shows up or is hidden when there are (or are not) favorite tasks
|
// reloading the projects list so that the Favorites project shows up or is hidden when there are (or are not) favorite tasks
|
||||||
await projectStore.loadProjects()
|
await projectStore.loadAllProjects()
|
||||||
|
|
||||||
return task
|
return task
|
||||||
}
|
}
|
||||||
|
@ -213,7 +213,7 @@ async function migrate() {
|
|||||||
const result = await migrationFileService.migrate(migrationConfig as File)
|
const result = await migrationFileService.migrate(migrationConfig as File)
|
||||||
message.value = result.message
|
message.value = result.message
|
||||||
const projectStore = useProjectStore()
|
const projectStore = useProjectStore()
|
||||||
return projectStore.loadProjects()
|
return projectStore.loadAllProjects()
|
||||||
}
|
}
|
||||||
|
|
||||||
await migrationService.migrate(migrationConfig as MigrationConfig)
|
await migrationService.migrate(migrationConfig as MigrationConfig)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user