From dfd3fee95a69c0577769d95bed11bb0cd35fbdf7 Mon Sep 17 00:00:00 2001 From: Erik Jan de Wit Date: Tue, 27 Feb 2024 10:05:24 +0100 Subject: [PATCH] reset form when provider / mapperPype changes (#26971) fixes: #26697 Signed-off-by: Erik Jan de Wit --- .../ldap/mappers/LdapMapperDetails.tsx | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/js/apps/admin-ui/src/user-federation/ldap/mappers/LdapMapperDetails.tsx b/js/apps/admin-ui/src/user-federation/ldap/mappers/LdapMapperDetails.tsx index ebfc472f997..4e44e2d4d5f 100644 --- a/js/apps/admin-ui/src/user-federation/ldap/mappers/LdapMapperDetails.tsx +++ b/js/apps/admin-ui/src/user-federation/ldap/mappers/LdapMapperDetails.tsx @@ -24,7 +24,10 @@ import { HelpItem } from "ui-shared"; import { adminClient } from "../../../admin-client"; import { useAlerts } from "../../../components/alert/Alerts"; import { useConfirmDialog } from "../../../components/confirm-dialog/ConfirmDialog"; -import { DynamicComponents } from "../../../components/dynamic/DynamicComponents"; +import { + DynamicComponents, + convertToName, +} from "../../../components/dynamic/DynamicComponents"; import { FormAccess } from "../../../components/form/FormAccess"; import { KeycloakSpinner } from "../../../components/keycloak-spinner/KeycloakSpinner"; import { KeycloakTextInput } from "../../../components/keycloak-text-input/KeycloakTextInput"; @@ -302,7 +305,18 @@ export default function LdapMapperDetails() { } isOpen={isMapperDropdownOpen} onSelect={(_, value) => { - field.onChange(value as string); + setupForm({ + providerId: value as string, + ...Object.fromEntries( + components + .find((c) => c.id === value) + ?.properties.filter((m) => m.type === "List") + .map((m) => [ + convertToName(m.name!), + m.options?.[0], + ]) || [], + ), + }); setIsMapperDropdownOpen(false); }} selections={field.value}