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

theme.keycloak.v2.admin.resources.assets.DetailProvider-848b35bb.js.map Maven / Gradle / Ivy

There is a newer version: 25.0.1
Show newest version
{"version":3,"file":"DetailProvider-848b35bb.js","sources":["../../src/clients/registration/DetailProvider.tsx"],"sourcesContent":["import ComponentRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/componentRepresentation\";\nimport ComponentTypeRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/componentTypeRepresentation\";\nimport {\n  ActionGroup,\n  Button,\n  ButtonVariant,\n  DropdownItem,\n  FormGroup,\n  PageSection,\n  ValidatedOptions,\n} from \"@patternfly/react-core\";\nimport { useState } from \"react\";\nimport { FormProvider, useForm, useWatch } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport { HelpItem } from \"ui-shared\";\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 { 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 { useFetch } from \"../../utils/useFetch\";\nimport { useParams } from \"../../utils/useParams\";\nimport {\n  RegistrationProviderParams,\n  toRegistrationProvider,\n} from \"../routes/AddRegistrationProvider\";\nimport { toClientRegistration } from \"../routes/ClientRegistration\";\n\nexport default function DetailProvider() {\n  const { t } = useTranslation(\"clients\");\n  const { id, providerId, subTab } = useParams();\n  const navigate = useNavigate();\n  const form = useForm({\n    defaultValues: { providerId },\n  });\n  const {\n    register,\n    control,\n    handleSubmit,\n    reset,\n    formState: { errors },\n  } = form;\n\n  const { realm } = useRealm();\n  const { addAlert, addError } = useAlerts();\n  const [provider, setProvider] = useState();\n  const [parentId, setParentId] = useState(\"\");\n\n  useFetch(\n    async () =>\n      await Promise.all([\n        adminClient.realms.getClientRegistrationPolicyProviders({ realm }),\n        adminClient.realms.findOne({ realm }),\n        id ? adminClient.components.findOne({ id }) : Promise.resolve(),\n      ]),\n    ([providers, realm, data]) => {\n      setProvider(providers.find((p) => p.id === providerId));\n      setParentId(realm?.id || \"\");\n      reset(data || { providerId });\n    },\n    []\n  );\n\n  const providerName = useWatch({ control, defaultValue: \"\", name: \"name\" });\n\n  const onSubmit = async (component: ComponentRepresentation) => {\n    if (component.config)\n      Object.entries(component.config).forEach(\n        ([key, value]) =>\n          (component.config![key] = Array.isArray(value) ? value : [value])\n      );\n    try {\n      const updatedComponent = {\n        ...component,\n        subType: subTab,\n        parentId,\n        providerType:\n          \"org.keycloak.services.clientregistration.policy.ClientRegistrationPolicy\",\n        providerId,\n      };\n      if (id) {\n        await adminClient.components.update({ id }, updatedComponent);\n      } else {\n        const { id } = await adminClient.components.create(updatedComponent);\n        navigate(toRegistrationProvider({ id, realm, subTab, providerId }));\n      }\n      addAlert(t(`provider${id ? \"Updated\" : \"Create\"}Success`));\n    } catch (error) {\n      addError(`clients:provider${id ? \"Updated\" : \"Create\"}Error`, error);\n    }\n  };\n\n  const [toggleDeleteDialog, DeleteConfirm] = useConfirmDialog({\n    titleKey: \"clients:clientRegisterPolicyDeleteConfirmTitle\",\n    messageKey: t(\"clientRegisterPolicyDeleteConfirm\", {\n      name: providerName,\n    }),\n    continueButtonLabel: \"common:delete\",\n    continueButtonVariant: ButtonVariant.danger,\n    onConfirm: async () => {\n      try {\n        await adminClient.components.del({\n          realm,\n          id: id!,\n        });\n        addAlert(t(\"clientRegisterPolicyDeleteSuccess\"));\n        navigate(toClientRegistration({ realm, subTab }));\n      } catch (error) {\n        addError(\"clients:clientRegisterPolicyDeleteError\", error);\n      }\n    },\n  });\n\n  if (!provider) {\n    return ;\n  }\n\n  return (\n    <>\n      \n                  {t(\"common:delete\")}\n                ,\n              ]\n            : undefined\n        }\n      />\n      \n      \n        \n          \n            \n          \n          \n            }\n            isRequired\n          >\n            \n          \n          \n            \n          \n          \n            \n             (\n                \n              )}\n            >\n              {t(\"common:cancel\")}\n            \n          \n        \n      \n    \n  );\n}\n"],"names":["DetailProvider","useTranslation","id","providerId","subTab","useParams","navigate","useNavigate","form","useForm","register","control","handleSubmit","reset","errors","realm","useRealm","addAlert","addError","useAlerts","provider","setProvider","useState","parentId","setParentId","useFetch","adminClient","providers","data","p","providerName","useWatch","onSubmit","component","key","value","updatedComponent","toRegistrationProvider","error","toggleDeleteDialog","DeleteConfirm","useConfirmDialog","ButtonVariant","toClientRegistration","jsxs","Fragment","jsx","ViewHeader","DropdownItem","PageSection","FormAccess","FormGroup","KeycloakTextInput","ValidatedOptions","HelpItem","FormProvider","DynamicComponents","ActionGroup","Button","props","Link","KeycloakSpinner"],"mappings":"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"}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy