From d485a09318cfcf595d2ff2689393daa771666e25 Mon Sep 17 00:00:00 2001 From: Fred KISSIE Date: Thu, 4 Jun 2026 19:45:54 +0200 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20use=20site=20label=20filte?= =?UTF-8?q?r=20column?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/PrivateResourcesTable.tsx | 101 +++++------------------ 1 file changed, 22 insertions(+), 79 deletions(-) diff --git a/src/components/PrivateResourcesTable.tsx b/src/components/PrivateResourcesTable.tsx index 37acb3e94..6472a23f2 100644 --- a/src/components/PrivateResourcesTable.tsx +++ b/src/components/PrivateResourcesTable.tsx @@ -54,6 +54,7 @@ import { ColumnFilterButton } from "./ColumnFilterButton"; import { LabelColumnFilterButton } from "./LabelColumnFilterButton"; import { LabelsTableCell } from "./LabelsTableCell"; import { ControlledDataTable } from "./ui/controlled-data-table"; +import { SitesColumnFilterButton } from "./SitesColumnFilterButton"; export type InternalResourceSiteRow = ResourceSiteRow; @@ -146,7 +147,6 @@ export default function PrivateResourcesTable({ const [editingResource, setEditingResource] = useState(); const [isCreateDialogOpen, setIsCreateDialogOpen] = useState(false); - const [siteFilterOpen, setSiteFilterOpen] = useState(false); const [isRefreshing, startRefreshTransition] = useTransition(); @@ -160,22 +160,6 @@ export default function PrivateResourcesTable({ // return () => clearInterval(interval); // }, [router]); - const siteIdQ = searchParams.get("siteId"); - const siteIdNum = siteIdQ ? parseInt(siteIdQ, 10) : NaN; - const selectedSite: Selectedsite | null = useMemo(() => { - if (!siteIdQ || !Number.isInteger(siteIdNum) || siteIdNum <= 0) { - return null; - } - if (initialFilterSite && initialFilterSite.siteId === siteIdNum) { - return initialFilterSite; - } - return { - siteId: siteIdNum, - name: t("standaloneHcFilterSiteIdFallback", { id: siteIdNum }), - type: "newt" - }; - }, [initialFilterSite, siteIdQ, siteIdNum, t]); - const refreshData = () => { startRefreshTransition(() => { try { @@ -269,58 +253,27 @@ export default function PrivateResourcesTable({ accessorFn: (row) => row.sites.map((s) => s.siteName).join(", "), friendlyName: t("sites"), - header: () => ( - - - - - -
- -
- -
-
- ), + header: () => { + const siteIdQ = searchParams.get("siteId"); + const siteIdNum = siteIdQ ? parseInt(siteIdQ, 10) : NaN; + + const selectedSiteId = + !siteIdQ || + !Number.isInteger(siteIdNum) || + siteIdNum <= 0 + ? null + : siteIdNum; + + return ( + + handleFilterChange("siteId", value?.toString()) + } + orgId={orgId} + /> + ); + }, cell: ({ row }) => { const resourceRow = row.original; return ( @@ -570,16 +523,6 @@ export default function PrivateResourcesTable({ }); } - const clearSiteFilter = () => { - handleFilterChange("siteId", undefined); - setSiteFilterOpen(false); - }; - - const onPickSite = (site: Selectedsite) => { - handleFilterChange("siteId", String(site.siteId)); - setSiteFilterOpen(false); - }; - function toggleSort(column: string) { const newSearch = getNextSortOrder(column, searchParams);