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

theme.keycloak.v2.admin.resources.assets.KeyProviderForm-d34f63ef.js.map Maven / Gradle / Ivy

There is a newer version: 25.0.1
Show newest version
{"version":3,"file":"KeyProviderForm-d34f63ef.js","sources":["../../src/realm-settings/keys/key-providers/KeyProviderForm.tsx"],"sourcesContent":["import type ComponentRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/componentRepresentation\";\nimport {\n  ActionGroup,\n  AlertVariant,\n  Button,\n  FormGroup,\n  PageSection,\n  TextInput,\n  ValidatedOptions,\n} from \"@patternfly/react-core\";\nimport { Controller, FormProvider, useForm } 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 { DynamicComponents } from \"../../../components/dynamic/DynamicComponents\";\nimport { FormAccess } from \"../../../components/form/FormAccess\";\nimport { KeycloakTextInput } from \"../../../components/keycloak-text-input/KeycloakTextInput\";\nimport { ViewHeader } from \"../../../components/view-header/ViewHeader\";\nimport { useServerInfo } from \"../../../context/server-info/ServerInfoProvider\";\nimport { KEY_PROVIDER_TYPE } from \"../../../util\";\nimport { useFetch } from \"../../../utils/useFetch\";\nimport { useParams } from \"../../../utils/useParams\";\nimport { KeyProviderParams, ProviderType } from \"../../routes/KeyProvider\";\nimport { toKeysTab } from \"../../routes/KeysTab\";\n\ntype KeyProviderFormProps = {\n  id?: string;\n  providerType: ProviderType;\n  onClose?: () => void;\n};\n\nexport const KeyProviderForm = ({\n  providerType,\n  onClose,\n}: KeyProviderFormProps) => {\n  const { t } = useTranslation(\"realm-settings\");\n  const { id } = useParams<{ id: string }>();\n  const { addAlert, addError } = useAlerts();\n\n  const serverInfo = useServerInfo();\n  const allComponentTypes =\n    serverInfo.componentTypes?.[KEY_PROVIDER_TYPE] ?? [];\n\n  const form = useForm({\n    mode: \"onChange\",\n  });\n  const {\n    register,\n    control,\n    handleSubmit,\n    formState: { errors },\n    reset,\n  } = form;\n\n  const save = 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      if (id) {\n        await adminClient.components.update(\n          { id },\n          {\n            ...component,\n            providerType: KEY_PROVIDER_TYPE,\n          },\n        );\n        addAlert(t(\"saveProviderSuccess\"), AlertVariant.success);\n      } else {\n        await adminClient.components.create({\n          ...component,\n          providerId: providerType,\n          providerType: KEY_PROVIDER_TYPE,\n        });\n        addAlert(t(\"saveProviderSuccess\"), AlertVariant.success);\n        onClose?.();\n      }\n    } catch (error) {\n      addError(\"realm-settings:saveProviderError\", error);\n    }\n  };\n\n  useFetch(\n    async () => {\n      if (id) return await adminClient.components.findOne({ id });\n    },\n    (result) => {\n      if (result) {\n        reset({ ...result });\n      }\n    },\n    [],\n  );\n\n  return (\n    \n      {id && (\n        \n          }\n          fieldId=\"providerId\"\n          isRequired\n        >\n          \n        \n      )}\n      \n        }\n        fieldId=\"name\"\n        isRequired\n        validated={\n          errors.name ? ValidatedOptions.error : ValidatedOptions.default\n        }\n        helperTextInvalid={t(\"common:required\")}\n      >\n         (\n            \n          )}\n        />\n      \n      \n         type.id === providerType)\n              ?.properties || []\n          }\n        />\n      \n      \n        \n          {t(\"common:save\")}\n        \n        \n      \n    \n  );\n};\n\nexport default function KeyProviderFormPage() {\n  const { t } = useTranslation(\"realm-settings\");\n  const params = useParams();\n  const navigate = useNavigate();\n\n  return (\n    <>\n      \n      \n        \n            navigate(toKeysTab({ realm: params.realm, tab: \"providers\" }))\n          }\n        />\n      \n    \n  );\n}\n"],"names":["KeyProviderForm","providerType","onClose","useTranslation","id","useParams","addAlert","addError","useAlerts","allComponentTypes","useServerInfo","KEY_PROVIDER_TYPE","form","useForm","register","control","handleSubmit","errors","reset","save","component","key","value","adminClient","AlertVariant","error","useFetch","result","jsxs","FormAccess","jsx","FormGroup","HelpItem","KeycloakTextInput","ValidatedOptions","Controller","field","TextInput","FormProvider","DynamicComponents","type","ActionGroup","Button","KeyProviderFormPage","t","params","navigate","useNavigate","Fragment","ViewHeader","PageSection","toKeysTab"],"mappings":"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"}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy