From a0d0dff2373563c8b42551ba38a5257fa7bcedaf Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 10 Jun 2026 15:06:58 +1000 Subject: [PATCH] [UI] User Filters (#12143) * Enforce min width for drop-down filters * Pass active filter to owner column * Fix filter name * Add active filter to UserFilter by default --- src/frontend/src/tables/Filter.tsx | 10 ++++++++-- src/frontend/src/tables/FilterSelectDrawer.tsx | 2 +- src/frontend/src/tables/build/BuildOrderTable.tsx | 1 + 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/frontend/src/tables/Filter.tsx b/src/frontend/src/tables/Filter.tsx index 83957096ee..eebf11501c 100644 --- a/src/frontend/src/tables/Filter.tsx +++ b/src/frontend/src/tables/Filter.tsx @@ -374,11 +374,13 @@ export function ProjectCodeFilter(): TableFilter { export function OwnerFilter({ name, label, - description + description, + apiFilter }: { name: string; label: string; description: string; + apiFilter?: Record; }): TableFilter { return { name: name, @@ -386,6 +388,7 @@ export function OwnerFilter({ description: description, type: 'api', apiUrl: apiUrl(ApiEndpoints.owner_list), + apiFilter: { is_active: true, ...apiFilter }, model: ModelType.owner, modelRenderer: (instance: any) => instance.name }; @@ -425,11 +428,13 @@ export function TagsFilter({ export function UserFilter({ name, label, - description + description, + apiFilter }: { name?: string; label?: string; description?: string; + apiFilter?: Record; }): TableFilter { return { name: name ?? 'user', @@ -437,6 +442,7 @@ export function UserFilter({ description: description ?? t`Filter by user`, type: 'api', apiUrl: apiUrl(ApiEndpoints.user_list), + apiFilter: { is_active: true, ...apiFilter }, model: ModelType.user, modelRenderer: (instance: any) => instance.username }; diff --git a/src/frontend/src/tables/FilterSelectDrawer.tsx b/src/frontend/src/tables/FilterSelectDrawer.tsx index 8be8e4f9f8..b923963652 100644 --- a/src/frontend/src/tables/FilterSelectDrawer.tsx +++ b/src/frontend/src/tables/FilterSelectDrawer.tsx @@ -585,7 +585,7 @@ export function ColumnFilterPopover({ const closeOnApply = filters.length === 1; return ( - + {filters.map((filter, index) => ( {index > 0 && } diff --git a/src/frontend/src/tables/build/BuildOrderTable.tsx b/src/frontend/src/tables/build/BuildOrderTable.tsx index 12eaf08167..a913184a16 100644 --- a/src/frontend/src/tables/build/BuildOrderTable.tsx +++ b/src/frontend/src/tables/build/BuildOrderTable.tsx @@ -120,6 +120,7 @@ export function BuildOrderTable({ UserColumn({ accessor: 'issued_by_detail', ordering: 'issued_by', + filter: 'issued_by', title: t`Issued By` }), ResponsibleColumn({}),