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

theme.keycloak.v2.admin.resources.assets.ScopeForm-3a137987.js.map Maven / Gradle / Ivy

There is a newer version: 25.0.1
Show newest version
{"version":3,"file":"ScopeForm-3a137987.js","sources":["../../src/client-scopes/details/ScopeForm.tsx"],"sourcesContent":["import type ClientScopeRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/clientScopeRepresentation\";\nimport {\n  ActionGroup,\n  Button,\n  FormGroup,\n  Select,\n  SelectOption,\n  SelectVariant,\n  Switch,\n  ValidatedOptions,\n} from \"@patternfly/react-core\";\nimport { useEffect, useState } from \"react\";\nimport { Controller, FormProvider, useForm, useWatch } from \"react-hook-form\";\nimport { useTranslation } from \"react-i18next\";\nimport { Link } from \"react-router-dom\";\nimport { HelpItem, TextControl } from \"ui-shared\";\n\nimport { getProtocolName } from \"../../clients/utils\";\nimport { DefaultSwitchControl } from \"../../components/SwitchControl\";\nimport {\n  ClientScopeDefaultOptionalType,\n  allClientScopeTypes,\n  clientScopeTypesSelectOptions,\n} from \"../../components/client-scope/ClientScopeTypes\";\nimport { FormAccess } from \"../../components/form/FormAccess\";\nimport { KeycloakTextArea } from \"../../components/keycloak-text-area/KeycloakTextArea\";\nimport { KeycloakTextInput } from \"../../components/keycloak-text-input/KeycloakTextInput\";\nimport { useRealm } from \"../../context/realm-context/RealmContext\";\nimport { useLoginProviders } from \"../../context/server-info/ServerInfoProvider\";\nimport { convertAttributeNameToForm, convertToFormValues } from \"../../util\";\nimport useIsFeatureEnabled, { Feature } from \"../../utils/useIsFeatureEnabled\";\nimport { toClientScopes } from \"../routes/ClientScopes\";\n\ntype ScopeFormProps = {\n  clientScope?: ClientScopeRepresentation;\n  save: (clientScope: ClientScopeDefaultOptionalType) => void;\n};\n\nexport const ScopeForm = ({ clientScope, save }: ScopeFormProps) => {\n  const { t } = useTranslation(\"client-scopes\");\n  const { t: tc } = useTranslation(\"clients\");\n  const form = useForm({ mode: \"onChange\" });\n  const {\n    register,\n    control,\n    handleSubmit,\n    setValue,\n    formState: { errors, isDirty, isValid },\n  } = form;\n  const { realm } = useRealm();\n\n  const providers = useLoginProviders();\n  const isFeatureEnabled = useIsFeatureEnabled();\n  const isDynamicScopesEnabled = isFeatureEnabled(Feature.DynamicScopes);\n  const [open, isOpen] = useState(false);\n  const [openType, setOpenType] = useState(false);\n\n  const displayOnConsentScreen: string = useWatch({\n    control,\n    name: convertAttributeNameToForm(\"attributes.display.on.consent.screen\"),\n    defaultValue:\n      clientScope?.attributes?.[\"display.on.consent.screen\"] ?? \"true\",\n  });\n\n  const dynamicScope = useWatch({\n    control,\n    name: convertAttributeNameToForm(\n      \"attributes.is.dynamic.scope\"\n    ),\n    defaultValue: \"false\",\n  });\n\n  const setDynamicRegex = (value: string, append: boolean) =>\n    setValue(\n      convertAttributeNameToForm(\n        \"attributes.dynamic.scope.regexp\"\n      ),\n      append ? `${value}:*` : value\n    );\n\n  useEffect(() => {\n    convertToFormValues(clientScope ?? {}, setValue);\n  }, [clientScope]);\n\n  return (\n    \n      \n        }\n        fieldId=\"kc-name\"\n        validated={\n          errors.name ? ValidatedOptions.error : ValidatedOptions.default\n        }\n        helperTextInvalid={t(\"common:required\")}\n        isRequired\n      >\n         {\n              if (isDynamicScopesEnabled) {\n                setDynamicRegex(e.target.value, true);\n              }\n            },\n          })}\n        />\n      \n      {isDynamicScopesEnabled && (\n        \n          (\n              \"attributes.is.dynamic.scope\"\n            )}\n            label={t(\"dynamicScope\")}\n            labelIcon={t(\"client-scopes-help:dynamicScope\")}\n            onChange={(value) => {\n              setDynamicRegex(value ? form.getValues(\"name\") || \"\" : \"\", value);\n            }}\n            stringify\n          />\n          {dynamicScope === \"true\" && (\n            (\n                \"attributes.dynamic.scope.regexp\"\n              )}\n              label={t(\"dynamicScopeFormat\")}\n              labelIcon={t(\"client-scopes-help:dynamicScopeFormat\")}\n              isDisabled\n            />\n          )}\n        \n      )}\n      \n        }\n        fieldId=\"kc-description\"\n        validated={\n          errors.description ? ValidatedOptions.error : ValidatedOptions.default\n        }\n        helperTextInvalid={t(\"common:maxLength\", { length: 255 })}\n      >\n        \n      \n      \n        }\n        fieldId=\"kc-type\"\n      >\n         (\n             {\n                field.onChange(value);\n                setOpenType(false);\n              }}\n            >\n              {clientScopeTypesSelectOptions(t, allClientScopeTypes)}\n            \n          )}\n        />\n      \n      {!clientScope && (\n        \n          }\n          fieldId=\"kc-protocol\"\n        >\n           (\n               {\n                  field.onChange(value);\n                  isOpen(false);\n                }}\n                selections={field.value}\n                variant={SelectVariant.single}\n                isOpen={open}\n              >\n                {providers.map((option) => (\n                  \n                    {getProtocolName(tc, option)}\n                  \n                ))}\n              \n            )}\n          />\n        \n      )}\n      \n        }\n        fieldId=\"kc-display-on-consent-screen\"\n      >\n        (\n            \"attributes.display.on.consent.screen\"\n          )}\n          control={control}\n          defaultValue={displayOnConsentScreen}\n          render={({ field }) => (\n             field.onChange(value.toString())}\n            />\n          )}\n        />\n      \n      {displayOnConsentScreen === \"true\" && (\n        \n          }\n          fieldId=\"kc-consent-screen-text\"\n        >\n          (\n                \"attributes.consent.screen.text\"\n              )\n            )}\n          />\n        \n      )}\n      \n        }\n        fieldId=\"kc-include-in-token-scope\"\n      >\n        (\n            \"attributes.include.in.token.scope\"\n          )}\n          control={control}\n          defaultValue=\"true\"\n          render={({ field }) => (\n             field.onChange(value.toString())}\n            />\n          )}\n        />\n      \n      \n        }\n        fieldId=\"kc-gui-order\"\n      >\n        (\n            \"attributes.gui.order\"\n          )}\n          defaultValue=\"\"\n          control={control}\n          render={({ field }) => (\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"],"names":["ScopeForm","clientScope","save","t","useTranslation","tc","form","useForm","register","control","handleSubmit","setValue","errors","isDirty","isValid","realm","useRealm","providers","useLoginProviders","isDynamicScopesEnabled","useIsFeatureEnabled","Feature","open","isOpen","useState","openType","setOpenType","displayOnConsentScreen","useWatch","convertAttributeNameToForm","dynamicScope","setDynamicRegex","value","append","useEffect","convertToFormValues","jsxs","FormAccess","jsx","FormGroup","HelpItem","ValidatedOptions","KeycloakTextInput","e","FormProvider","DefaultSwitchControl","TextControl","Controller","allClientScopeTypes","field","Select","SelectVariant","_","clientScopeTypesSelectOptions","option","SelectOption","getProtocolName","Switch","KeycloakTextArea","ActionGroup","Button","props","Link","toClientScopes"],"mappings":"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"}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy