UNPKG

@keycloakify/keycloak-admin-ui

Version:
22 lines 1.98 kB
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