All Downloads are FREE. Search and download functionalities are using the official Maven repository.

theme.keycloak.v2.admin.resources.assets.UserForm-954f441f.js.map Maven / Gradle / Ivy

There is a newer version: 25.0.1
Show newest version
{"version":3,"file":"UserForm-954f441f.js","sources":["../../src/user/FederatedUserLink.tsx","../../src/user/UserProfileFields.tsx","../../src/user/user-credentials/RequiredActionMultiSelect.tsx","../../src/user/UserForm.tsx"],"sourcesContent":["import type ComponentRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/componentRepresentation\";\nimport type UserRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/userRepresentation\";\nimport { Button } from \"@patternfly/react-core\";\nimport { useState } from \"react\";\nimport { Link } from \"react-router-dom\";\n\nimport { adminClient } from \"../admin-client\";\nimport { useAccess } from \"../context/access/Access\";\nimport { useRealm } from \"../context/realm-context/RealmContext\";\nimport { toCustomUserFederation } from \"../user-federation/routes/CustomUserFederation\";\nimport { useFetch } from \"../utils/useFetch\";\n\ntype FederatedUserLinkProps = {\n  user: UserRepresentation;\n};\n\nexport const FederatedUserLink = ({ user }: FederatedUserLinkProps) => {\n  const access = useAccess();\n  const { realm } = useRealm();\n\n  const [component, setComponent] = useState();\n\n  useFetch(\n    () =>\n      access.hasAccess(\"view-realm\")\n        ? adminClient.components.findOne({\n            id: (user.federationLink || user.origin)!,\n          })\n        : adminClient.userStorageProvider.name({\n            id: (user.federationLink || user.origin)!,\n          }),\n    setComponent,\n    []\n  );\n\n  if (!component) return null;\n\n  return (\n     (\n        \n      )}\n    >\n      {component.name}\n    \n  );\n};\n","import type { UserProfileAttribute } from \"@keycloak/keycloak-admin-client/lib/defs/userProfileConfig\";\nimport {\n  Form,\n  FormGroup,\n  Select,\n  SelectOption,\n  Text,\n} from \"@patternfly/react-core\";\nimport { Fragment } from \"react\";\nimport { Controller, useFormContext } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { KeycloakTextInput } from \"../components/keycloak-text-input/KeycloakTextInput\";\nimport { ScrollForm } from \"../components/scroll-form/ScrollForm\";\nimport { useUserProfile } from \"../realm-settings/user-profile/UserProfileContext\";\nimport { isBundleKey, unWrap } from \"./utils\";\nimport useToggle from \"../utils/useToggle\";\n\nconst ROOT_ATTRIBUTES = [\"username\", \"firstName\", \"lastName\", \"email\"];\nconst DEFAULT_ROLES = [\"admin\", \"user\"];\n\ntype UserProfileFieldsProps = {\n  roles?: string[];\n};\n\nexport type UserProfileError = {\n  responseData: { errors?: { errorMessage: string }[] };\n};\n\nexport function isUserProfileError(error: unknown): error is UserProfileError {\n  return !!(error as UserProfileError).responseData.errors;\n}\n\nexport function userProfileErrorToString(error: UserProfileError) {\n  return (\n    error.responseData[\"errors\"]?.map((e) => e[\"errorMessage\"]).join(\"\\n\") || \"\"\n  );\n}\n\nexport const UserProfileFields = ({\n  roles = [\"admin\"],\n}: UserProfileFieldsProps) => {\n  const { t } = useTranslation(\"realm-settings\");\n  const { config } = useUserProfile();\n\n  return (\n     ({\n        title: g.displayHeader || g.name || t(\"general\"),\n        panel: (\n          
\n {g.displayDescription && (\n {g.displayDescription}\n )}\n {config?.attributes?.map((attribute) => (\n \n {(attribute.group || \"\") === g.name &&\n (attribute.permissions?.view || DEFAULT_ROLES).some((r) =>\n roles.includes(r)\n ) && }\n \n ))}\n
\n ),\n }))}\n />\n );\n};\n\ntype FormFieldProps = {\n attribute: UserProfileAttribute;\n roles: string[];\n};\n\nconst FormField = ({ attribute, roles }: FormFieldProps) => {\n const { t } = useTranslation(\"users\");\n const {\n formState: { errors },\n register,\n control,\n } = useFormContext();\n const [open, toggle] = useToggle();\n\n const isSelect = (attribute: UserProfileAttribute) =>\n Object.hasOwn(attribute.validations || {}, \"options\");\n\n const isRootAttribute = (attr?: string) =>\n attr && ROOT_ATTRIBUTES.includes(attr);\n\n const isRequired = (attribute: UserProfileAttribute) =>\n Object.keys(attribute.required || {}).length !== 0 ||\n ((attribute.validations?.length?.min as number) || 0) > 0;\n\n const fieldName = (attribute: UserProfileAttribute) =>\n `${isRootAttribute(attribute.name) ? \"\" : \"attributes.\"}${attribute.name}`;\n\n return (\n \n {isSelect(attribute) ? (\n (\n {\n field.onChange(value.toString());\n toggle();\n }}\n selections={field.value}\n variant=\"single\"\n aria-label={t(\"common:selectOne\")}\n isOpen={open}\n isDisabled={\n !(attribute.permissions?.edit || DEFAULT_ROLES).some((r) =>\n roles.includes(r)\n )\n }\n >\n {[\n \n {t(\"common:choose\")}\n ,\n ...(\n attribute.validations?.options as { options: string[] }\n ).options.map((option) => (\n \n {option}\n \n )),\n ]}\n \n )}\n />\n ) : (\n \n roles.includes(r)\n )\n }\n {...register(fieldName(attribute))}\n />\n )}\n \n );\n};\n","import type RequiredActionProviderRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/requiredActionProviderRepresentation\";\nimport {\n FormGroup,\n Select,\n SelectOption,\n SelectVariant,\n} from \"@patternfly/react-core\";\nimport { useState } from \"react\";\nimport { Controller, useFormContext } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { HelpItem } from \"ui-shared\";\n\nimport { adminClient } from \"../../admin-client\";\nimport { useFetch } from \"../../utils/useFetch\";\n\ntype RequiredActionMultiSelectProps = {\n name: string;\n label: string;\n help: string;\n};\n\nexport const RequiredActionMultiSelect = ({\n name,\n label,\n help,\n}: RequiredActionMultiSelectProps) => {\n const { t } = useTranslation(\"users\");\n const { control } = useFormContext();\n const [open, setOpen] = useState(false);\n const [requiredActions, setRequiredActions] = useState<\n RequiredActionProviderRepresentation[]\n >([]);\n\n useFetch(\n () => adminClient.authenticationManagement.getRequiredActions(),\n (actions) => {\n const enabledUserActions = actions.filter((action) => {\n return action.enabled;\n });\n setRequiredActions(enabledUserActions);\n },\n []\n );\n\n return (\n }\n fieldId=\"actions\"\n >\n (\n setOpen(open)}\n isOpen={open}\n selections={field.value}\n onSelect={(_, selectedValue) =>\n field.onChange(\n field.value.find((o: string) => o === selectedValue)\n ? field.value.filter((item: string) => item !== selectedValue)\n : [...field.value, selectedValue]\n )\n }\n onClear={(event) => {\n event.stopPropagation();\n field.onChange([]);\n }}\n typeAheadAriaLabel={t(\"resetActions\")}\n >\n {requiredActions.map(({ alias, name }) => (\n \n {name}\n \n ))}\n \n )}\n />\n \n );\n};\n","import type GroupRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/groupRepresentation\";\nimport type RealmRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/realmRepresentation\";\nimport type UserRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/userRepresentation\";\nimport {\n ActionGroup,\n AlertVariant,\n Button,\n Chip,\n ChipGroup,\n FormGroup,\n InputGroup,\n Switch,\n} from \"@patternfly/react-core\";\nimport { useState } from \"react\";\nimport { Controller, useFormContext } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { useNavigate } from \"react-router-dom\";\nimport { HelpItem } from \"ui-shared\";\n\nimport { adminClient } from \"../admin-client\";\nimport { useAlerts } from \"../components/alert/Alerts\";\nimport { FormAccess } from \"../components/form/FormAccess\";\nimport { GroupPickerDialog } from \"../components/group/GroupPickerDialog\";\nimport { KeycloakTextInput } from \"../components/keycloak-text-input/KeycloakTextInput\";\nimport { useAccess } from \"../context/access/Access\";\nimport { useRealm } from \"../context/realm-context/RealmContext\";\nimport { emailRegexPattern } from \"../util\";\nimport useFormatDate from \"../utils/useFormatDate\";\nimport useIsFeatureEnabled, { Feature } from \"../utils/useIsFeatureEnabled\";\nimport { FederatedUserLink } from \"./FederatedUserLink\";\nimport { UserProfileFields } from \"./UserProfileFields\";\nimport { RequiredActionMultiSelect } from \"./user-credentials/RequiredActionMultiSelect\";\n\nexport type BruteForced = {\n isBruteForceProtected?: boolean;\n isLocked?: boolean;\n};\n\nexport type UserFormProps = {\n user?: UserRepresentation;\n bruteForce?: BruteForced;\n realm?: RealmRepresentation;\n save: (user: UserRepresentation) => void;\n onGroupsUpdate?: (groups: GroupRepresentation[]) => void;\n};\n\nconst EmailVerified = () => {\n const { t } = useTranslation(\"users\");\n const { control } = useFormContext();\n return (\n \n }\n >\n (\n field.onChange(value)}\n isChecked={field.value}\n label={t(\"common:yes\")}\n labelOff={t(\"common:no\")}\n />\n )}\n />\n \n );\n};\n\nexport const UserForm = ({\n user,\n realm,\n bruteForce: { isBruteForceProtected, isLocked } = {\n isBruteForceProtected: false,\n isLocked: false,\n },\n save,\n onGroupsUpdate,\n}: UserFormProps) => {\n const { t } = useTranslation(\"users\");\n const { realm: realmName } = useRealm();\n const formatDate = useFormatDate();\n const isFeatureEnabled = useIsFeatureEnabled();\n\n const navigate = useNavigate();\n const { addAlert, addError } = useAlerts();\n const { hasAccess } = useAccess();\n const isManager = hasAccess(\"manage-users\");\n\n const {\n handleSubmit,\n register,\n watch,\n control,\n reset,\n formState: { errors },\n } = useFormContext();\n const watchUsernameInput = watch(\"username\");\n const [selectedGroups, setSelectedGroups] = useState(\n []\n );\n const [open, setOpen] = useState(false);\n const [locked, setLocked] = useState(isLocked);\n\n const unLockUser = async () => {\n try {\n await adminClient.attackDetection.del({ id: user!.id! });\n addAlert(t(\"unlockSuccess\"), AlertVariant.success);\n } catch (error) {\n addError(\"users:unlockError\", error);\n }\n };\n\n const deleteItem = (id: string) => {\n setSelectedGroups(selectedGroups.filter((item) => item.name !== id));\n onGroupsUpdate?.(selectedGroups);\n };\n\n const addChips = async (groups: GroupRepresentation[]): Promise => {\n setSelectedGroups([...selectedGroups!, ...groups]);\n onGroupsUpdate?.([...selectedGroups!, ...groups]);\n };\n\n const addGroups = async (groups: GroupRepresentation[]): Promise => {\n const newGroups = groups;\n\n newGroups.forEach(async (group) => {\n try {\n await adminClient.users.addToGroup({\n id: user!.id!,\n groupId: group.id!,\n });\n addAlert(t(\"users:addedGroupMembership\"), AlertVariant.success);\n } catch (error) {\n addError(\"users:addedGroupMembershipError\", error);\n }\n });\n };\n\n const toggleModal = () => {\n setOpen(!open);\n };\n\n const isUserProfileEnabled =\n isFeatureEnabled(Feature.DeclarativeUserProfile) &&\n realm?.attributes?.userProfileEnabled === \"true\";\n\n return (\n \n {open && (\n {\n user?.id ? addGroups(groups || []) : addChips(groups || []);\n setOpen(false);\n }}\n onClose={() => setOpen(false)}\n filterGroups={selectedGroups}\n />\n )}\n {isUserProfileEnabled && }\n {user?.id && (\n <>\n \n \n \n \n \n \n \n )}\n \n {(user?.federationLink || user?.origin) && (\n \n }\n >\n \n \n )}\n {isUserProfileEnabled ? (\n \n ) : (\n <>\n {!realm?.registrationEmailAsUsername && (\n \n \n \n )}\n \n \n \n \n \n \n \n \n \n \n \n )}\n {isBruteForceProtected && (\n \n }\n >\n {\n unLockUser();\n setLocked(value);\n }}\n isChecked={locked}\n isDisabled={!locked}\n label={t(\"common:on\")}\n labelOff={t(\"common:off\")}\n />\n \n )}\n {!user?.id && (\n \n }\n >\n (\n \n \n {selectedGroups.map((currentChip) => (\n deleteItem(currentChip.name!)}\n >\n {currentChip.path}\n \n ))}\n \n \n {t(\"users:joinGroups\")}\n \n \n )}\n />\n \n )}\n\n \n \n {user?.id ? t(\"common:save\") : t(\"common:create\")}\n \n \n user?.id ? reset(user) : navigate(`/${realmName}/users`)\n }\n variant=\"link\"\n >\n {user?.id ? t(\"common:revert\") : t(\"common:cancel\")}\n \n \n \n );\n};\n"],"names":["FederatedUserLink","user","access","useAccess","realm","useRealm","component","setComponent","useState","useFetch","adminClient","jsx","Button","props","Link","toCustomUserFederation","ROOT_ATTRIBUTES","DEFAULT_ROLES","isUserProfileError","error","userProfileErrorToString","e","UserProfileFields","roles","t","useTranslation","config","useUserProfile","ScrollForm","g","Form","Text","attribute","Fragment","r","FormField","errors","register","control","useFormContext","open","toggle","useToggle","isSelect","isRootAttribute","attr","isRequired","fieldName","FormGroup","isBundleKey","unWrap","Controller","field","Select","_","value","SelectOption","option","KeycloakTextInput","RequiredActionMultiSelect","name","label","help","setOpen","requiredActions","setRequiredActions","actions","enabledUserActions","action","HelpItem","SelectVariant","selectedValue","o","item","event","alias","EmailVerified","Switch","UserForm","isBruteForceProtected","isLocked","save","onGroupsUpdate","realmName","formatDate","useFormatDate","isFeatureEnabled","useIsFeatureEnabled","navigate","useNavigate","addAlert","addError","useAlerts","hasAccess","isManager","handleSubmit","watch","reset","watchUsernameInput","selectedGroups","setSelectedGroups","locked","setLocked","unLockUser","AlertVariant","deleteItem","id","addChips","groups","addGroups","group","toggleModal","isUserProfileEnabled","Feature","jsxs","FormAccess","GroupPickerDialog","emailRegexPattern","InputGroup","ChipGroup","currentChip","Chip","ActionGroup"],"mappings":"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"}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy