1
0

feat(gantt): reset gantt filter

This commit is contained in:
Dominik Pschenitschni
2022-10-24 15:51:50 +02:00
committed by kolaente
parent 6bf6357cbd
commit 52d4d0bdb9
5 changed files with 706 additions and 656 deletions

View File

@ -16,6 +16,12 @@
/>
</div>
</div>
<div class="field" v-if="!hasDefaultFilters">
<label class="label" for="range">Reset</label>
<div class="control">
<x-button @click="setDefaultFilters">Reset</x-button>
</div>
</div>
<fancycheckbox class="is-block" v-model="filters.showTasksWithoutDates">
{{ $t('list.gantt.showTasksWithoutDates') }}
</fancycheckbox>
@ -74,6 +80,8 @@ const canWrite = computed(() => baseStore.currentList.maxRight > RIGHTS.READ)
const {route} = toRefs(props)
const {
filters,
hasDefaultFilters,
setDefaultFilters,
tasks,
isLoading,
addTask,

View File

@ -47,6 +47,10 @@ function ganttRouteToFilters(route: Partial<RouteLocationNormalized>): GanttFilt
}
}
function ganttGetDefaultFilters(route: Partial<RouteLocationNormalized>): GanttFilters {
return ganttRouteToFilters({params: {listId: route.params?.listId as string}})
}
// FIXME: use zod for this
function ganttFiltersToRoute(filters: GanttFilters): RouteLocationRaw {
let query: Record<string, string> = {}
@ -88,9 +92,12 @@ export type UseGanttFiltersReturn = ReturnType<typeof useRouteFilters> & ReturnT
export function useGanttFilters(route: Ref<RouteLocationNormalized>): UseGanttFiltersReturn {
const {
filters,
hasDefaultFilters,
setDefaultFilters,
} = useRouteFilters<GanttFilters>(
route,
ganttRouteToFilters,
ganttGetDefaultFilters,
ganttFiltersToRoute
)
@ -105,6 +112,8 @@ export function useGanttFilters(route: Ref<RouteLocationNormalized>): UseGanttFi
return {
filters,
hasDefaultFilters,
setDefaultFilters,
tasks,
loadTasks,