fix(gantt): open task with double click from the gantt chart
This commit is contained in:
parent
09ffd9414b
commit
a6eb804fae
@ -1,5 +1,5 @@
|
||||
import {computed, ref, watch, type Ref} from 'vue'
|
||||
import {useRouter, type RouteLocationNormalized, type RouteLocationRaw} from 'vue-router'
|
||||
import {useRouter, type RouteLocationNormalized, type RouteLocationRaw, type RouteRecordName} from 'vue-router'
|
||||
import equal from 'fast-deep-equal/es6'
|
||||
|
||||
export type Filters = Record<string, any>
|
||||
@ -9,6 +9,7 @@ export function useRouteFilters<CurrentFilters extends Filters>(
|
||||
getDefaultFilters: (route: RouteLocationNormalized) => CurrentFilters,
|
||||
routeToFilters: (route: RouteLocationNormalized) => CurrentFilters,
|
||||
filtersToRoute: (filters: CurrentFilters) => RouteLocationRaw,
|
||||
routeAllowList: RouteRecordName[] = [],
|
||||
) {
|
||||
const router = useRouter()
|
||||
|
||||
@ -21,7 +22,8 @@ export function useRouteFilters<CurrentFilters extends Filters>(
|
||||
(route, oldRoute) => {
|
||||
if (
|
||||
route?.name !== oldRoute?.name ||
|
||||
routeFromFiltersFullPath.value === route.fullPath
|
||||
routeFromFiltersFullPath.value === route.fullPath ||
|
||||
!routeAllowList.includes(route.name ?? '')
|
||||
) {
|
||||
return
|
||||
}
|
||||
|
@ -101,6 +101,7 @@ export function useGanttFilters(route: Ref<RouteLocationNormalized>): UseGanttFi
|
||||
ganttGetDefaultFilters,
|
||||
ganttRouteToFilters,
|
||||
ganttFiltersToRoute,
|
||||
['project.gantt'],
|
||||
)
|
||||
|
||||
const {
|
||||
|
@ -59,7 +59,7 @@ export function useGanttTaskList<F extends Filters>(
|
||||
async function addTask(task: Partial<ITask>) {
|
||||
const newTask = await taskService.create(new TaskModel({...task}))
|
||||
tasks.value.set(newTask.id, newTask)
|
||||
|
||||
|
||||
return newTask
|
||||
}
|
||||
|
||||
@ -77,12 +77,12 @@ export function useGanttTaskList<F extends Filters>(
|
||||
// set in expectation that server update works
|
||||
tasks.value.set(newTask.id, newTask)
|
||||
|
||||
try {
|
||||
try {
|
||||
const updatedTask = await taskService.update(newTask)
|
||||
// update the task with possible changes from server
|
||||
tasks.value.set(updatedTask.id, updatedTask)
|
||||
success('Saved')
|
||||
} catch(e: any) {
|
||||
} catch (e: any) {
|
||||
error('Something went wrong saving the task')
|
||||
// roll back changes
|
||||
tasks.value.set(task.id, oldTask)
|
||||
|
Loading…
x
Reference in New Issue
Block a user