fix(views): fetch buckets through view
This commit is contained in:
parent
cb111df2b7
commit
ca0550acea
@ -1,6 +1,7 @@
|
|||||||
import type {IAbstract} from './IAbstract'
|
import type {IAbstract} from './IAbstract'
|
||||||
import type {IUser} from './IUser'
|
import type {IUser} from './IUser'
|
||||||
import type {ITask} from './ITask'
|
import type {ITask} from './ITask'
|
||||||
|
import type {IProjectView} from '@/modelTypes/IProjectView'
|
||||||
|
|
||||||
export interface IBucket extends IAbstract {
|
export interface IBucket extends IAbstract {
|
||||||
id: number
|
id: number
|
||||||
@ -10,6 +11,7 @@ export interface IBucket extends IAbstract {
|
|||||||
tasks: ITask[]
|
tasks: ITask[]
|
||||||
position: number
|
position: number
|
||||||
count: number
|
count: number
|
||||||
|
projectViewId: IProjectView['id']
|
||||||
|
|
||||||
createdBy: IUser
|
createdBy: IUser
|
||||||
created: Date
|
created: Date
|
||||||
|
@ -226,15 +226,15 @@ export const useKanbanStore = defineStore('kanban', () => {
|
|||||||
allTasksLoadedForBucket.value[bucketId] = true
|
allTasksLoadedForBucket.value[bucketId] = true
|
||||||
}
|
}
|
||||||
|
|
||||||
async function loadBucketsForProject({projectId, params}: { projectId: IProject['id'], params }) {
|
async function loadBucketsForProject(projectId: IProject['id'], viewId: IProjectView['id'], params) {
|
||||||
const cancel = setModuleLoading(setIsLoading)
|
const cancel = setModuleLoading(setIsLoading)
|
||||||
|
|
||||||
// Clear everything to prevent having old buckets in the project if loading the buckets from this project takes a few moments
|
// Clear everything to prevent having old buckets in the project if loading the buckets from this project takes a few moments
|
||||||
setBuckets([])
|
setBuckets([])
|
||||||
|
|
||||||
const bucketService = new BucketService()
|
const taskCollectionService = new TaskCollectionService()
|
||||||
try {
|
try {
|
||||||
const newBuckets = await bucketService.getAll({projectId}, {
|
const newBuckets = await taskCollectionService.getAll({projectId, viewId}, {
|
||||||
...params,
|
...params,
|
||||||
per_page: TASKS_PER_BUCKET,
|
per_page: TASKS_PER_BUCKET,
|
||||||
})
|
})
|
||||||
@ -311,7 +311,7 @@ export const useKanbanStore = defineStore('kanban', () => {
|
|||||||
const response = await bucketService.delete(bucket)
|
const response = await bucketService.delete(bucket)
|
||||||
removeBucket(bucket)
|
removeBucket(bucket)
|
||||||
// We reload all buckets because tasks are being moved from the deleted bucket
|
// We reload all buckets because tasks are being moved from the deleted bucket
|
||||||
loadBucketsForProject({projectId: bucket.projectId, params})
|
loadBucketsForProject(bucket.projectId, bucket.projectViewId, params)
|
||||||
return response
|
return response
|
||||||
} finally {
|
} finally {
|
||||||
cancel()
|
cancel()
|
||||||
|
@ -396,13 +396,14 @@ watch(
|
|||||||
() => ({
|
() => ({
|
||||||
params: params.value,
|
params: params.value,
|
||||||
projectId,
|
projectId,
|
||||||
|
viewId: view.id,
|
||||||
}),
|
}),
|
||||||
({params}) => {
|
({params}) => {
|
||||||
if (projectId === undefined || Number(projectId) === 0) {
|
if (projectId === undefined || Number(projectId) === 0) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
collapsedBuckets.value = getCollapsedBucketState(projectId)
|
collapsedBuckets.value = getCollapsedBucketState(projectId)
|
||||||
kanbanStore.loadBucketsForProject({projectId, params})
|
kanbanStore.loadBucketsForProject(projectId, view.id, params)
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
immediate: true,
|
immediate: true,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user