feat(gantt): reset gantt filter
This commit is contained in:

committed by
kolaente

parent
6bf6357cbd
commit
52d4d0bdb9
@ -1,11 +1,13 @@
|
||||
import {computed, ref, watch, type Ref} from 'vue'
|
||||
import {useRouter, type RouteLocationNormalized, type RouteLocationRaw} from 'vue-router'
|
||||
import cloneDeep from 'lodash.clonedeep'
|
||||
import equal from 'fast-deep-equal/es6'
|
||||
|
||||
export type Filters = Record<string, any>
|
||||
|
||||
export function useRouteFilters<CurrentFilters extends Filters>(
|
||||
route: Ref<RouteLocationNormalized>,
|
||||
getDefaultFilters: (route: RouteLocationNormalized) => CurrentFilters,
|
||||
routeToFilters: (route: RouteLocationNormalized) => CurrentFilters,
|
||||
filtersToRoute: (filters: CurrentFilters) => RouteLocationRaw,
|
||||
) {
|
||||
@ -37,7 +39,17 @@ export function useRouteFilters<CurrentFilters extends Filters>(
|
||||
{flush: 'post'},
|
||||
)
|
||||
|
||||
const hasDefaultFilters = computed(() => {
|
||||
return equal(filters.value, getDefaultFilters(route.value))
|
||||
})
|
||||
|
||||
function setDefaultFilters() {
|
||||
filters.value = getDefaultFilters(route.value)
|
||||
}
|
||||
|
||||
return {
|
||||
filters,
|
||||
hasDefaultFilters,
|
||||
setDefaultFilters,
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user