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

theme.keycloak.v2.admin.resources.assets.AddMapper-e4976377.js.map Maven / Gradle / Ivy

There is a newer version: 25.0.1
Show newest version
{"version":3,"file":"AddMapper-e4976377.js","sources":["../../src/identity-providers/add/AddMapperForm.tsx","../../src/identity-providers/add/AddMapper.tsx"],"sourcesContent":["import type IdentityProviderMapperRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/identityProviderMapperRepresentation\";\nimport type { IdentityProviderMapperTypeRepresentation } from \"@keycloak/keycloak-admin-client/lib/defs/identityProviderMapperTypeRepresentation\";\nimport {\n  FormGroup,\n  Select,\n  SelectOption,\n  SelectVariant,\n  ValidatedOptions,\n} from \"@patternfly/react-core\";\nimport { useState } from \"react\";\nimport { Controller, UseFormReturn } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { HelpItem } from \"ui-shared\";\nimport { KeycloakTextInput } from \"../../components/keycloak-text-input/KeycloakTextInput\";\nimport type { IdPMapperRepresentationWithAttributes } from \"./AddMapper\";\n\ntype AddMapperFormProps = {\n  mapperTypes: IdentityProviderMapperRepresentation[];\n  mapperType: IdentityProviderMapperTypeRepresentation;\n  id: string;\n  updateMapperType: (\n    mapperType: IdentityProviderMapperTypeRepresentation\n  ) => void;\n  form: UseFormReturn;\n};\n\nexport const AddMapperForm = ({\n  mapperTypes,\n  mapperType,\n  form,\n  id,\n  updateMapperType,\n}: AddMapperFormProps) => {\n  const { t } = useTranslation(\"identity-providers\");\n\n  const {\n    control,\n    register,\n    formState: { errors },\n  } = form;\n\n  const [mapperTypeOpen, setMapperTypeOpen] = useState(false);\n\n  const syncModes = [\"inherit\", \"import\", \"legacy\", \"force\"];\n  const [syncModeOpen, setSyncModeOpen] = useState(false);\n\n  return (\n    <>\n      \n        }\n        fieldId=\"kc-name\"\n        isRequired\n        validated={\n          errors.name ? ValidatedOptions.error : ValidatedOptions.default\n        }\n        helperTextInvalid={t(\"common:required\")}\n      >\n        \n      \n      \n        }\n        fieldId=\"syncMode\"\n      >\n         (\n             setSyncModeOpen(!syncModeOpen)}\n              onSelect={(_, value) => {\n                field.onChange(value.toString().toUpperCase());\n                setSyncModeOpen(false);\n              }}\n              selections={t(`syncModes.${field.value.toLowerCase()}`)}\n              variant={SelectVariant.single}\n              aria-label={t(\"syncMode\")}\n              isOpen={syncModeOpen}\n            >\n              {syncModes.map((option) => (\n                \n                  {t(`syncModes.${option}`)}\n                \n              ))}\n            \n          )}\n        />\n      \n      \n        }\n        fieldId=\"identityProviderMapper\"\n      >\n         (\n             setMapperTypeOpen(!mapperTypeOpen)}\n              onSelect={(_, value) => {\n                const mapperType =\n                  value as IdentityProviderMapperTypeRepresentation;\n                updateMapperType(mapperType);\n                field.onChange(mapperType.id);\n                setMapperTypeOpen(false);\n              }}\n              selections={mapperType.name}\n              variant={SelectVariant.single}\n              aria-label={t(\"mapperType\")}\n              isOpen={mapperTypeOpen}\n            >\n              {mapperTypes.map((option) => (\n                \n                  {option.name}\n                \n              ))}\n            \n          )}\n        />\n      \n    \n  );\n};\n","import type IdentityProviderMapperRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/identityProviderMapperRepresentation\";\nimport type { IdentityProviderMapperTypeRepresentation } from \"@keycloak/keycloak-admin-client/lib/defs/identityProviderMapperTypeRepresentation\";\nimport type RoleRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/roleRepresentation\";\nimport {\n  ActionGroup,\n  AlertVariant,\n  Button,\n  ButtonVariant,\n  DropdownItem,\n  FormGroup,\n  PageSection,\n  ValidatedOptions,\n} from \"@patternfly/react-core\";\nimport { useState } from \"react\";\nimport { FormProvider, useForm } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link, useNavigate } from \"react-router-dom\";\n\nimport { adminClient } from \"../../admin-client\";\nimport { useAlerts } from \"../../components/alert/Alerts\";\nimport { useConfirmDialog } from \"../../components/confirm-dialog/ConfirmDialog\";\nimport { DynamicComponents } from \"../../components/dynamic/DynamicComponents\";\nimport { FormAccess } from \"../../components/form/FormAccess\";\nimport type { AttributeForm } from \"../../components/key-value-form/AttributeForm\";\nimport { KeycloakSpinner } from \"../../components/keycloak-spinner/KeycloakSpinner\";\nimport { KeycloakTextInput } from \"../../components/keycloak-text-input/KeycloakTextInput\";\nimport { ViewHeader } from \"../../components/view-header/ViewHeader\";\nimport { useRealm } from \"../../context/realm-context/RealmContext\";\nimport { convertFormValuesToObject, convertToFormValues } from \"../../util\";\nimport { useFetch } from \"../../utils/useFetch\";\nimport useLocaleSort, { mapByKey } from \"../../utils/useLocaleSort\";\nimport { useParams } from \"../../utils/useParams\";\nimport {\n  IdentityProviderEditMapperParams,\n  toIdentityProviderEditMapper,\n} from \"../routes/EditMapper\";\nimport { toIdentityProvider } from \"../routes/IdentityProvider\";\nimport { AddMapperForm } from \"./AddMapperForm\";\n\nexport type IdPMapperRepresentationWithAttributes =\n  IdentityProviderMapperRepresentation & AttributeForm;\n\nexport type Role = RoleRepresentation & {\n  clientId?: string;\n};\n\nexport default function AddMapper() {\n  const { t } = useTranslation(\"identity-providers\");\n\n  const form = useForm({\n    shouldUnregister: true,\n  });\n  const {\n    handleSubmit,\n    register,\n    formState: { errors },\n  } = form;\n  const { addAlert, addError } = useAlerts();\n  const navigate = useNavigate();\n  const localeSort = useLocaleSort();\n\n  const { realm } = useRealm();\n\n  const { id, providerId, alias } =\n    useParams();\n\n  const [mapperTypes, setMapperTypes] =\n    useState();\n\n  const [currentMapper, setCurrentMapper] =\n    useState();\n\n  const save = async (idpMapper: IdentityProviderMapperRepresentation) => {\n    const mapper = convertFormValuesToObject(idpMapper);\n\n    const identityProviderMapper = {\n      ...mapper,\n      config: {\n        ...mapper.config,\n      },\n      identityProviderAlias: alias!,\n    };\n\n    if (id) {\n      try {\n        await adminClient.identityProviders.updateMapper(\n          {\n            id: id!,\n            alias: alias!,\n          },\n          { ...identityProviderMapper }\n        );\n        addAlert(t(\"mapperSaveSuccess\"), AlertVariant.success);\n      } catch (error) {\n        addError(t(\"mapperSaveError\"), error);\n      }\n    } else {\n      try {\n        const createdMapper = await adminClient.identityProviders.createMapper({\n          identityProviderMapper,\n          alias: alias!,\n        });\n\n        addAlert(t(\"mapperCreateSuccess\"), AlertVariant.success);\n        navigate(\n          toIdentityProviderEditMapper({\n            realm,\n            alias,\n            providerId: providerId,\n            id: createdMapper.id,\n          })\n        );\n      } catch (error) {\n        addError(t(\"mapperCreateError\"), error);\n      }\n    }\n  };\n\n  const [toggleDeleteMapperDialog, DeleteMapperConfirm] = useConfirmDialog({\n    titleKey: \"identity-providers:deleteProviderMapper\",\n    messageKey: t(\"identity-providers:deleteMapperConfirm\", {\n      mapper: currentMapper?.name,\n    }),\n    continueButtonLabel: \"common:delete\",\n    continueButtonVariant: ButtonVariant.danger,\n    onConfirm: async () => {\n      try {\n        await adminClient.identityProviders.delMapper({\n          alias: alias,\n          id: id!,\n        });\n        addAlert(t(\"deleteMapperSuccess\"), AlertVariant.success);\n        navigate(\n          toIdentityProvider({ providerId, alias, tab: \"mappers\", realm })\n        );\n      } catch (error) {\n        addError(\"identity-providers:deleteErrorError\", error);\n      }\n    },\n  });\n\n  useFetch(\n    () =>\n      Promise.all([\n        id ? adminClient.identityProviders.findOneMapper({ alias, id }) : null,\n        adminClient.identityProviders.findMapperTypes({ alias }),\n      ]),\n    ([mapper, mapperTypes]) => {\n      const mappers = localeSort(Object.values(mapperTypes), mapByKey(\"name\"));\n      if (mapper) {\n        setCurrentMapper(\n          mappers.find(({ id }) => id === mapper.identityProviderMapper)\n        );\n        setupForm(mapper);\n      } else {\n        setCurrentMapper(mappers[0]);\n      }\n\n      setMapperTypes(mappers);\n    },\n    []\n  );\n\n  const setupForm = (mapper: IdentityProviderMapperRepresentation) => {\n    convertToFormValues(mapper, form.setValue);\n  };\n\n  if (!mapperTypes || !currentMapper) {\n    return ;\n  }\n\n  return (\n    \n      \n      \n                  {t(\"common:delete\")}\n                ,\n              ]\n            : undefined\n        }\n        divider\n      />\n      \n        {id && (\n          \n            \n          \n        )}\n        {currentMapper.properties && (\n          <>\n            \n            \n              \n            \n          \n        )}\n\n        \n          \n            {t(\"common:save\")}\n          \n           (\n              \n            )}\n          >\n            {t(\"common:cancel\")}\n          \n        \n      \n    \n  );\n}\n"],"names":["AddMapperForm","mapperTypes","mapperType","form","id","updateMapperType","t","useTranslation","control","register","errors","mapperTypeOpen","setMapperTypeOpen","useState","syncModes","syncModeOpen","setSyncModeOpen","jsxs","Fragment","jsx","FormGroup","HelpItem","ValidatedOptions","KeycloakTextInput","Controller","field","Select","_","value","SelectVariant","option","SelectOption","AddMapper","useForm","handleSubmit","addAlert","addError","useAlerts","navigate","useNavigate","localeSort","useLocaleSort","realm","useRealm","providerId","alias","useParams","setMapperTypes","currentMapper","setCurrentMapper","save","idpMapper","mapper","convertFormValuesToObject","identityProviderMapper","adminClient","AlertVariant","error","createdMapper","toIdentityProviderEditMapper","toggleDeleteMapperDialog","DeleteMapperConfirm","useConfirmDialog","ButtonVariant","toIdentityProvider","useFetch","mappers","mapByKey","setupForm","convertToFormValues","KeycloakSpinner","PageSection","ViewHeader","DropdownItem","FormAccess","FormProvider","DynamicComponents","ActionGroup","Button","props","Link"],"mappings":"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"}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy