@keycloakify/keycloak-admin-ui
Version:
Repackaged Keycloak Admin UI
22 lines • 1.98 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import { KeycloakSelect } from "../../ui-shared";
import { Dropdown, DropdownItem, DropdownList, MenuToggle, SelectOption, ToolbarItem, } from "@patternfly/react-core";
import { FilterIcon } from "@patternfly/react-icons";
import { useState } from "react";
import { useTranslation } from "react-i18next";
export const SearchDropdown = ({ searchType, onSelect, }) => {
const { t } = useTranslation();
const [searchToggle, setSearchToggle] = useState(false);
const createDropdown = (searchType) => (_jsx(DropdownItem, { onClick: () => {
onSelect(searchType);
setSearchToggle(false);
}, children: t(`searchType.${searchType}`) }, searchType));
const options = [createDropdown("default"), createDropdown("attribute")];
return (_jsx(Dropdown, { className: "keycloak__users__searchtype", onOpenChange: (isOpen) => setSearchToggle(isOpen), toggle: (ref) => (_jsx(MenuToggle, { "data-testid": "user-search-toggle", ref: ref, id: "toggle-id", onClick: () => setSearchToggle(!searchToggle), icon: _jsx(FilterIcon, {}), children: t(`searchType.${searchType}`) })), isOpen: searchToggle, children: _jsx(DropdownList, { children: options }) }));
};
export const SearchToolbar = ({ searchType, onSelect }) => {
const { t } = useTranslation();
const [open, setOpen] = useState(false);
return (_jsxs(_Fragment, { children: [_jsx(ToolbarItem, { children: _jsx(SearchDropdown, { searchType: searchType, onSelect: onSelect }) }), _jsx(ToolbarItem, { children: _jsxs(KeycloakSelect, { className: "keycloak__users__searchtype", onToggle: (val) => setOpen(val), isOpen: open, selections: [t("default"), t("attribute")], onSelect: () => setOpen(false), children: [_jsx(SelectOption, { value: "default", children: t("default") }), _jsx(SelectOption, { value: "attribute", children: t("attribute") })] }) })] }));
};
//# sourceMappingURL=SearchFilter.js.map