fix(ui): перенести фильтры BGP и бэкапов на FilterQuery

This commit is contained in:
Denozordec committed 2026-09-14 22:09:48 +07:00
1 parent a475b5c6df
commit fca42aaa81
11 files changed
+103 -34

No files matched your search

+7 -7
View File
@@ -4,8 +4,10 @@ import { useState, useMemo, useEffect } from "react"
import { PageHeader } from "@/components/page-header"
import { DataPageToolbar } from "@/components/data-page-toolbar"
import { BgpSessionsDataGrid } from "@/components/data-grids/bgp-sessions-data-grid"
import type { Filter } from "@/components/reui/filters"
import { applyReuiFilters } from "@/lib/data-filters/apply-reui-filters"
import { createFilterQuery } from "@/components/reui/filters/filters-query"
import { QueryFilters } from "@/components/data-grids/query-filters"
import type { FilterQuery } from "@/components/reui/filters/filters-types"
import { applyFilterQuery } from "@/lib/data-filters/apply-filter-query"
import { BGP_FILTER_FIELDS } from "@/lib/data-filters/bgp-filter-fields"
import type { BgpSessionRow, BgpState, BgpType } from "@/lib/bgp/types"
import { BGP_AS_NAMES } from "@/lib/bgp/types"
@@ -306,7 +308,7 @@ function SessionsTab({ sessions }: { sessions: BgpSession[] }) {
const [search, setSearch] = useState("")
const [stateFilter, setStateFilter] = useState<StateFilter>("all")
const [typeFilter, setTypeFilter] = useState<TypeFilter>("all")
const [advancedFilters, setAdvancedFilters] = useState<Filter[]>([])
const [advancedFilters, setAdvancedFilters] = useState<FilterQuery>(() => createFilterQuery())
const q = search.toLowerCase()
const filtered = useMemo(() => {
@@ -325,7 +327,7 @@ function SessionsTab({ sessions }: { sessions: BgpSession[] }) {
}
return true
})
return applyReuiFilters(base, advancedFilters, BGP_FILTER_ACCESSORS)
return applyFilterQuery(base, advancedFilters, BGP_FILTER_ACCESSORS)
}, [sessions, q, stateFilter, typeFilter, advancedFilters])
return (
@@ -343,9 +345,7 @@ function SessionsTab({ sessions }: { sessions: BgpSession[] }) {
{ value: "OpenSent", label: "OpenSent", count: sessions.filter((s) => s.state === "OpenSent").length },
],
}}
filters={advancedFilters}
onFiltersChange={setAdvancedFilters}
filterFields={BGP_FILTER_FIELDS}
filterControl={<QueryFilters fields={BGP_FILTER_FIELDS} query={advancedFilters} onQueryChange={setAdvancedFilters} />}
search={search}
onSearchChange={setSearch}
searchPlaceholder="IP, AS, описание…"