fixed the search attributes when federation is enabled (#27550)

fixes: #23701

Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>
This commit is contained in:
Erik Jan de Wit 2024-03-07 10:03:56 +01:00 committed by GitHub
parent 33219a334b
commit 4feb776d3d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 16 additions and 4 deletions

View file

@ -104,6 +104,7 @@ export function UserDataTable() {
const [realm, setRealm] = useState<RealmRepresentation | undefined>();
const [selectedRows, setSelectedRows] = useState<UserRepresentation[]>([]);
const [searchType, setSearchType] = useState<SearchType>("default");
const [searchDropdownOpen, setSearchDropdownOpen] = useState(false);
const [activeFilters, setActiveFilters] = useState<UserAttribute[]>([]);
const [profile, setProfile] = useState<UserProfileConfig>({});
const [query, setQuery] = useState("");
@ -153,7 +154,7 @@ export function UserDataTable() {
params.search = searchParam;
}
if (!listUsers && !searchParam) {
if (!listUsers && !(params.search || params.q)) {
return [];
}
@ -277,6 +278,8 @@ export function UserDataTable() {
const toolbar = () => {
return (
<UserDataTableToolbarItems
searchDropdownOpen={searchDropdownOpen}
setSearchDropdownOpen={setSearchDropdownOpen}
realm={realm}
hasSelectedRows={selectedRows.length === 0}
toggleDeleteDialog={toggleDeleteDialog}

View file

@ -21,6 +21,8 @@ import { UserDataTableAttributeSearchForm } from "./UserDataTableAttributeSearch
import DropdownPanel from "../dropdown-panel/DropdownPanel";
type UserDataTableToolbarItemsProps = {
searchDropdownOpen: boolean;
setSearchDropdownOpen: (open: boolean) => void;
realm: RealmRepresentation;
hasSelectedRows: boolean;
toggleDeleteDialog: () => void;
@ -40,6 +42,8 @@ type UserDataTableToolbarItemsProps = {
};
export function UserDataTableToolbarItems({
searchDropdownOpen,
setSearchDropdownOpen,
realm,
hasSelectedRows,
toggleDeleteDialog,
@ -59,7 +63,6 @@ export function UserDataTableToolbarItems({
}: UserDataTableToolbarItemsProps) {
const { t } = useTranslation();
const [kebabOpen, setKebabOpen] = useState(false);
const [searchDropdownOpen, setSearchDropdownOpen] = useState(false);
const { hasAccess } = useAccess();
@ -130,13 +133,19 @@ export function UserDataTableToolbarItems({
setActiveFilters={setActiveFilters}
profile={profile}
createAttributeSearchChips={createAttributeSearchChips}
searchUserWithAttributes={searchUserWithAttributes}
searchUserWithAttributes={() => {
searchUserWithAttributes();
setSearchDropdownOpen(false);
}}
/>
</DropdownPanel>
<Button
icon={<ArrowRightIcon />}
variant="control"
onClick={searchUserWithAttributes}
onClick={() => {
searchUserWithAttributes();
setSearchDropdownOpen(false);
}}
aria-label={t("searchAttributes")}
/>
</>