/* eslint-disable */ // @ts-nocheck import { FormErrorText, HelpItem } from "../../../shared/keycloak-ui-shared"; import { Chip, FormGroup, Split, SplitItem } from "../../../shared/@patternfly/react-core"; import { useState } from "react"; import { Controller, useFormContext } from "react-hook-form"; import { useTranslation } from "react-i18next"; import useToggle from "../../utils/useToggle"; import { AddRoleButton, AddRoleMappingModal, FilterType, } from "../role-mapping/AddRoleMappingModal"; import { Row, ServiceRole } from "../role-mapping/RoleMapping"; import type { ComponentProps } from "./components"; const parseValue = (value: any) => value?.includes(".") ? value.split(".") : ["", value || ""]; const parseRow = (value: Row) => value.client?.clientId ? `${value.client.clientId}.${value.role.name}` : value.role.name; export const RoleComponent = ({ name, label, helpText, defaultValue, required, isDisabled = false, convertToName, }: ComponentProps) => { const { t } = useTranslation(); const [openModal, toggleModal] = useToggle(); const [filterType, setFilterType] = useState("clients"); const { control, formState: { errors }, } = useFormContext(); const fieldName = convertToName(name!); return ( } fieldId={name!} isRequired={required} > ( {openModal && ( field.onChange(parseRow(rows[0]))} onClose={toggleModal} isRadio /> )} {field.value !== "" && ( field.onChange("")}> )} { setFilterType(type); toggleModal(); }} variant="secondary" data-testid="add-roles" isDisabled={isDisabled} /> )} /> {errors[fieldName] && } ); };