Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
theme.keycloak.v2.admin.resources.assets.ExecutorForm-2f575a42.js.map Maven / Gradle / Ivy
Go to download
The user inferface to administrate the Keycloak server.
{"version":3,"file":"ExecutorForm-2f575a42.js","sources":["../../src/realm-settings/ExecutorForm.tsx"],"sourcesContent":["import type { ConfigPropertyRepresentation } from \"@keycloak/keycloak-admin-client/lib/defs/authenticatorConfigInfoRepresentation\";\nimport type ClientProfileRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/clientProfileRepresentation\";\nimport type ComponentTypeRepresentation from \"@keycloak/keycloak-admin-client/lib/defs/componentTypeRepresentation\";\nimport {\n ActionGroup,\n AlertVariant,\n Button,\n FormGroup,\n PageSection,\n Select,\n SelectOption,\n SelectVariant,\n} from \"@patternfly/react-core\";\nimport { useState } from \"react\";\nimport { Controller, FormProvider, useForm } 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 { DynamicComponents } from \"../components/dynamic/DynamicComponents\";\nimport { FormAccess } from \"../components/form/FormAccess\";\nimport { ViewHeader } from \"../components/view-header/ViewHeader\";\nimport { useServerInfo } from \"../context/server-info/ServerInfoProvider\";\nimport { useFetch } from \"../utils/useFetch\";\nimport { useParams } from \"../utils/useParams\";\nimport { ClientProfileParams, toClientProfile } from \"./routes/ClientProfile\";\nimport type { ExecutorParams } from \"./routes/Executor\";\n\ntype ExecutorForm = {\n config?: object;\n executor: string;\n};\n\nconst defaultValues: ExecutorForm = {\n config: {},\n executor: \"\",\n};\n\nexport default function ExecutorForm() {\n const { t } = useTranslation(\"realm-settings\");\n const navigate = useNavigate();\n const { realm, profileName } = useParams();\n const { executorName } = useParams();\n const { addAlert, addError } = useAlerts();\n const [selectExecutorTypeOpen, setSelectExecutorTypeOpen] = useState(false);\n const serverInfo = useServerInfo();\n const executorTypes =\n serverInfo.componentTypes?.[\n \"org.keycloak.services.clientpolicy.executor.ClientPolicyExecutorProvider\"\n ];\n const [executors, setExecutors] = useState([]);\n const [executorProperties, setExecutorProperties] = useState<\n ConfigPropertyRepresentation[]\n >([]);\n const [globalProfiles, setGlobalProfiles] = useState<\n ClientProfileRepresentation[]\n >([]);\n const [profiles, setProfiles] = useState([]);\n const form = useForm({ defaultValues });\n const { control, reset, handleSubmit } = form;\n const editMode = !!executorName;\n\n const setupForm = (profiles: ClientProfileRepresentation[]) => {\n const profile = profiles.find((profile) => profile.name === profileName);\n const executor = profile?.executors?.find(\n (executor) => executor.executor === executorName\n );\n if (executor) reset({ config: executor.configuration });\n };\n\n useFetch(\n () =>\n adminClient.clientPolicies.listProfiles({ includeGlobalProfiles: true }),\n (profiles) => {\n setGlobalProfiles(profiles.globalProfiles!);\n setProfiles(profiles.profiles!);\n\n setupForm(profiles.profiles!);\n setupForm(profiles.globalProfiles!);\n },\n []\n );\n\n const save = async () => {\n const formValues = form.getValues();\n const updatedProfiles = profiles.map((profile) => {\n if (profile.name !== profileName) {\n return profile;\n }\n\n const executors = (profile.executors ?? []).concat({\n executor: formValues.executor,\n configuration: formValues.config || {},\n });\n\n if (editMode) {\n const profileExecutor = profile.executors!.find(\n (executor) => executor.executor === executorName\n );\n profileExecutor!.configuration = {\n ...profileExecutor!.configuration,\n ...formValues.config,\n };\n }\n\n if (editMode) {\n return profile;\n }\n return {\n ...profile,\n executors,\n };\n });\n try {\n await adminClient.clientPolicies.createProfiles({\n profiles: updatedProfiles,\n globalProfiles: globalProfiles,\n });\n addAlert(\n editMode\n ? t(\"realm-settings:updateExecutorSuccess\")\n : t(\"realm-settings:addExecutorSuccess\"),\n AlertVariant.success\n );\n\n navigate(toClientProfile({ realm, profileName }));\n } catch (error) {\n addError(\n editMode\n ? \"realm-settings:updateExecutorError\"\n : \"realm-settings:addExecutorError\",\n error\n );\n }\n };\n\n const globalProfile = globalProfiles.find(\n (globalProfile) => globalProfile.name === profileName\n );\n\n const profileExecutorType = executorTypes?.find(\n (executor) => executor.id === executorName\n );\n\n const editedProfileExecutors =\n profileExecutorType?.properties.map(\n (property) => {\n const globalDefaultValues = editMode ? property.defaultValue : \"\";\n return {\n ...property,\n defaultValue: globalDefaultValues,\n };\n }\n );\n\n return (\n <>\n \n \n \n 0 && executors[0].helpText! !== \"\" ? (\n \n ) : editMode ? (\n \n ) : undefined\n }\n >\n (\n setSelectExecutorTypeOpen(isOpen)}\n onSelect={(_, value) => {\n reset({ ...defaultValues, executor: value.toString() });\n const selectedExecutor = executorTypes?.filter(\n (type) => type.id === value\n );\n setExecutors(selectedExecutor ?? []);\n setExecutorProperties(\n selectedExecutor?.[0].properties ?? []\n );\n setSelectExecutorTypeOpen(false);\n }}\n selections={editMode ? executorName : field.value}\n variant={SelectVariant.single}\n data-testid=\"executorType-select\"\n aria-label={t(\"executorType\")}\n isOpen={selectExecutorTypeOpen}\n maxHeight={580}\n isDisabled={editMode}\n >\n {executorTypes?.map((option) => (\n \n ))}\n \n )}\n />\n \n \n \n \n {!globalProfile && (\n \n handleSubmit(save)()}\n data-testid=\"addExecutor-saveBtn\"\n >\n {editMode ? t(\"common:save\") : t(\"common:add\")}\n \n (\n \n )}\n data-testid=\"addExecutor-cancelBtn\"\n >\n {t(\"common:cancel\")}\n \n \n )}\n \n {editMode && globalProfile && (\n \n (\n \n )}\n variant=\"primary\"\n >\n {t(\"realm-settings:back\")}\n \n
\n )}\n \n >\n );\n}\n"],"names":["defaultValues","ExecutorForm","t","useTranslation","navigate","useNavigate","realm","profileName","useParams","executorName","addAlert","addError","useAlerts","selectExecutorTypeOpen","setSelectExecutorTypeOpen","useState","executorTypes","useServerInfo","executors","setExecutors","executorProperties","setExecutorProperties","globalProfiles","setGlobalProfiles","profiles","setProfiles","form","useForm","control","reset","handleSubmit","editMode","setupForm","executor","profile","useFetch","adminClient","save","formValues","updatedProfiles","profileExecutor","AlertVariant","toClientProfile","error","globalProfile","profileExecutorType","editedProfileExecutors","property","globalDefaultValues","jsxs","Fragment","jsx","ViewHeader","PageSection","FormAccess","FormGroup","HelpItem","Controller","field","Select","isOpen","_","value","selectedExecutor","type","SelectVariant","option","SelectOption","FormProvider","DynamicComponents","ActionGroup","Button","props","Link"],"mappings":"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"}