diff --git a/src/user-federation/ldap/mappers/LdapMapperFullNameAttribute.tsx b/src/user-federation/ldap/mappers/LdapMapperFullNameAttribute.tsx
new file mode 100644
index 0000000000..458a0f2dee
--- /dev/null
+++ b/src/user-federation/ldap/mappers/LdapMapperFullNameAttribute.tsx
@@ -0,0 +1,104 @@
+import { FormGroup, Switch, TextInput } from "@patternfly/react-core";
+import React from "react";
+import { HelpItem } from "../../../components/help-enabler/HelpItem";
+import { Controller, UseFormMethods } from "react-hook-form";
+import { FormAccess } from "../../../components/form-access/FormAccess";
+import { useTranslation } from "react-i18next";
+import { LdapMapperGeneral } from "./shared/LdapMapperGeneral";
+
+export type LdapMapperFullNameAttributeProps = {
+ form: UseFormMethods;
+};
+
+export const LdapMapperFullNameAttribute = ({
+ form,
+}: LdapMapperFullNameAttributeProps) => {
+ const { t } = useTranslation("user-federation");
+ const helpText = useTranslation("user-federation-help").t;
+
+ return (
+ <>
+
+
+
+
+ }
+ fieldId="kc-full-name-attribute"
+ isRequired
+ >
+
+
+
+ }
+ fieldId="kc-read-only"
+ hasNoPaddingTop
+ >
+ (
+ onChange([`${value}`])}
+ isChecked={value[0] === "true"}
+ label={t("common:on")}
+ labelOff={t("common:off")}
+ />
+ )}
+ >
+
+
+ }
+ fieldId="kc-read-only"
+ hasNoPaddingTop
+ >
+ (
+ onChange([`${value}`])}
+ isChecked={value[0] === "true"}
+ label={t("common:on")}
+ labelOff={t("common:off")}
+ />
+ )}
+ >
+
+
+ >
+ );
+};
diff --git a/src/user-federation/ldap/mappers/LdapMapperHardcodedAttribute.tsx b/src/user-federation/ldap/mappers/LdapMapperHardcodedAttribute.tsx
new file mode 100644
index 0000000000..e71c13adfd
--- /dev/null
+++ b/src/user-federation/ldap/mappers/LdapMapperHardcodedAttribute.tsx
@@ -0,0 +1,68 @@
+import { FormGroup, TextInput } from "@patternfly/react-core";
+import React from "react";
+import { HelpItem } from "../../../components/help-enabler/HelpItem";
+import { UseFormMethods } from "react-hook-form";
+import { FormAccess } from "../../../components/form-access/FormAccess";
+import { useTranslation } from "react-i18next";
+import { LdapMapperGeneral } from "./shared/LdapMapperGeneral";
+
+export type LdapMapperHardcodedAttributeProps = {
+ form: UseFormMethods;
+};
+
+export const LdapMapperHardcodedAttribute = ({
+ form,
+}: LdapMapperHardcodedAttributeProps) => {
+ const { t } = useTranslation("user-federation");
+ const helpText = useTranslation("user-federation-help").t;
+
+ return (
+ <>
+
+
+
+ }
+ fieldId="kc-user-model-attribute"
+ isRequired
+ >
+
+
+
+ }
+ fieldId="kc-attribute-value"
+ isRequired
+ >
+
+
+
+ >
+ );
+};
diff --git a/src/user-federation/ldap/mappers/LdapMapperHardcodedLdapAttribute.tsx b/src/user-federation/ldap/mappers/LdapMapperHardcodedLdapAttribute.tsx
new file mode 100644
index 0000000000..e1b786592e
--- /dev/null
+++ b/src/user-federation/ldap/mappers/LdapMapperHardcodedLdapAttribute.tsx
@@ -0,0 +1,69 @@
+import { FormGroup, TextInput } from "@patternfly/react-core";
+import React from "react";
+import { HelpItem } from "../../../components/help-enabler/HelpItem";
+import { UseFormMethods } from "react-hook-form";
+import { FormAccess } from "../../../components/form-access/FormAccess";
+import { useTranslation } from "react-i18next";
+import { LdapMapperGeneral } from "./shared/LdapMapperGeneral";
+
+export type LdapMapperHardcodedLdapAttributeProps = {
+ form: UseFormMethods;
+};
+
+export const LdapMapperHardcodedLdapAttribute = ({
+ form,
+}: LdapMapperHardcodedLdapAttributeProps) => {
+ const { t } = useTranslation("user-federation");
+ const helpText = useTranslation("user-federation-help").t;
+
+ return (
+ <>
+
+
+
+
+ }
+ fieldId="kc-ldap-attribute-name"
+ isRequired
+ >
+
+
+
+ }
+ fieldId="kc-ldap-attribute-value"
+ isRequired
+ >
+
+
+
+ >
+ );
+};
diff --git a/src/user-federation/ldap/mappers/LdapMapperHardcodedLdapGroup.tsx b/src/user-federation/ldap/mappers/LdapMapperHardcodedLdapGroup.tsx
new file mode 100644
index 0000000000..f6c3b3893e
--- /dev/null
+++ b/src/user-federation/ldap/mappers/LdapMapperHardcodedLdapGroup.tsx
@@ -0,0 +1,47 @@
+import { FormGroup, TextInput } from "@patternfly/react-core";
+import React from "react";
+import { HelpItem } from "../../../components/help-enabler/HelpItem";
+import { UseFormMethods } from "react-hook-form";
+import { FormAccess } from "../../../components/form-access/FormAccess";
+import { useTranslation } from "react-i18next";
+import { LdapMapperGeneral } from "./shared/LdapMapperGeneral";
+
+export type LdapMapperHardcodedLdapGroupProps = {
+ form: UseFormMethods;
+};
+
+export const LdapMapperHardcodedLdapGroup = ({
+ form,
+}: LdapMapperHardcodedLdapGroupProps) => {
+ const { t } = useTranslation("user-federation");
+ const helpText = useTranslation("user-federation-help").t;
+
+ return (
+ <>
+
+
+
+ }
+ fieldId="kc-group"
+ isRequired
+ >
+
+
+
+ >
+ );
+};
diff --git a/src/user-federation/ldap/mappers/LdapMapperHardcodedLdapRole.tsx b/src/user-federation/ldap/mappers/LdapMapperHardcodedLdapRole.tsx
new file mode 100644
index 0000000000..9bcf71d85c
--- /dev/null
+++ b/src/user-federation/ldap/mappers/LdapMapperHardcodedLdapRole.tsx
@@ -0,0 +1,47 @@
+import { FormGroup, TextInput } from "@patternfly/react-core";
+import React from "react";
+import { HelpItem } from "../../../components/help-enabler/HelpItem";
+import { UseFormMethods } from "react-hook-form";
+import { FormAccess } from "../../../components/form-access/FormAccess";
+import { useTranslation } from "react-i18next";
+import { LdapMapperGeneral } from "./shared/LdapMapperGeneral";
+
+export type LdapMapperHardcodedLdapRoleProps = {
+ form: UseFormMethods;
+};
+
+export const LdapMapperHardcodedLdapRole = ({
+ form,
+}: LdapMapperHardcodedLdapRoleProps) => {
+ const { t } = useTranslation("user-federation");
+ const helpText = useTranslation("user-federation-help").t;
+
+ return (
+ <>
+
+
+
+ }
+ fieldId="kc-role"
+ isRequired
+ >
+
+
+
+ >
+ );
+};
diff --git a/src/user-federation/ldap/mappers/LdapMapperMsadLdsUserAccount.tsx b/src/user-federation/ldap/mappers/LdapMapperMsadLdsUserAccount.tsx
new file mode 100644
index 0000000000..b1ad0a2c82
--- /dev/null
+++ b/src/user-federation/ldap/mappers/LdapMapperMsadLdsUserAccount.tsx
@@ -0,0 +1,20 @@
+import React from "react";
+import { UseFormMethods } from "react-hook-form";
+import { FormAccess } from "../../../components/form-access/FormAccess";
+import { LdapMapperGeneral } from "./shared/LdapMapperGeneral";
+
+export type LdapMapperMsadLdsUserAccountProps = {
+ form: UseFormMethods;
+};
+
+export const LdapMapperMsadLdsUserAccount = ({
+ form,
+}: LdapMapperMsadLdsUserAccountProps) => {
+ return (
+ <>
+
+
+
+ >
+ );
+};
diff --git a/src/user-federation/ldap/mappers/LdapMapperMsadUserAccount.tsx b/src/user-federation/ldap/mappers/LdapMapperMsadUserAccount.tsx
new file mode 100644
index 0000000000..de4d9e3d26
--- /dev/null
+++ b/src/user-federation/ldap/mappers/LdapMapperMsadUserAccount.tsx
@@ -0,0 +1,54 @@
+import { FormGroup, Switch } from "@patternfly/react-core";
+import React from "react";
+import { HelpItem } from "../../../components/help-enabler/HelpItem";
+import { Controller, UseFormMethods } from "react-hook-form";
+import { FormAccess } from "../../../components/form-access/FormAccess";
+import { useTranslation } from "react-i18next";
+import { LdapMapperGeneral } from "./shared/LdapMapperGeneral";
+
+export type LdapMapperMsadUserAccountProps = {
+ form: UseFormMethods;
+};
+
+export const LdapMapperMsadUserAccount = ({
+ form,
+}: LdapMapperMsadUserAccountProps) => {
+ const { t } = useTranslation("user-federation");
+ const helpText = useTranslation("user-federation-help").t;
+
+ return (
+ <>
+
+
+
+ }
+ fieldId="kc-der-formatted"
+ hasNoPaddingTop
+ >
+ (
+ onChange([`${value}`])}
+ isChecked={value[0] === "true"}
+ label={t("common:on")}
+ labelOff={t("common:off")}
+ />
+ )}
+ >
+
+
+ >
+ );
+};
diff --git a/src/user-federation/ldap/mappers/LdapMapperUserAttribute.tsx b/src/user-federation/ldap/mappers/LdapMapperUserAttribute.tsx
index 8446de2301..31f11198d1 100644
--- a/src/user-federation/ldap/mappers/LdapMapperUserAttribute.tsx
+++ b/src/user-federation/ldap/mappers/LdapMapperUserAttribute.tsx
@@ -120,7 +120,6 @@ export const LdapMapperUserAttribute = ({
)}
>
-
-
-
{mapperType === "certificate-ldap-mapper" ? (
<>
}
fieldId="kc-der-formatted"
diff --git a/src/user-federation/ldap/mappers/LdapMappingDetails.tsx b/src/user-federation/ldap/mappers/LdapMappingDetails.tsx
index d71a1f8afd..d485f12aa9 100644
--- a/src/user-federation/ldap/mappers/LdapMappingDetails.tsx
+++ b/src/user-federation/ldap/mappers/LdapMappingDetails.tsx
@@ -14,7 +14,17 @@ import { useHistory, useParams } from "react-router-dom";
import { useForm } from "react-hook-form";
import { useAlerts } from "../../../components/alert/Alerts";
import { useTranslation } from "react-i18next";
+
import { LdapMapperUserAttribute } from "./LdapMapperUserAttribute";
+import { LdapMapperMsadUserAccount } from "./LdapMapperMsadUserAccount";
+import { LdapMapperMsadLdsUserAccount } from "./LdapMapperMsadLdsUserAccount";
+import { LdapMapperFullNameAttribute } from "./LdapMapperFullNameAttribute";
+
+import { LdapMapperHardcodedLdapRole } from "./LdapMapperHardcodedLdapRole";
+import { LdapMapperHardcodedLdapGroup } from "./LdapMapperHardcodedLdapGroup";
+import { LdapMapperHardcodedLdapAttribute } from "./LdapMapperHardcodedLdapAttribute";
+import { LdapMapperHardcodedAttribute } from "./LdapMapperHardcodedAttribute";
+
import { useRealm } from "../../../context/realm-context/RealmContext";
export const LdapMappingDetails = () => {
@@ -81,6 +91,41 @@ export const LdapMappingDetails = () => {
/>
)
: ""}
+ {mapper
+ ? mapper.providerId! === "msad-user-account-control-mapper" && (
+
+ )
+ : ""}
+ {mapper
+ ? mapper.providerId! === "msad-lds-user-account-control-mapper" && (
+
+ )
+ : ""}
+ {mapper
+ ? mapper.providerId! === "full-name-ldap-mapper" && (
+
+ )
+ : ""}
+ {mapper
+ ? mapper.providerId! === "hardcoded-ldap-role-mapper" && (
+
+ )
+ : ""}
+ {mapper
+ ? mapper.providerId! === "hardcoded-ldap-group-mapper" && (
+
+ )
+ : ""}
+ {mapper
+ ? mapper.providerId! === "hardcoded-ldap-attribute-mapper" && (
+
+ )
+ : ""}
+ {mapper
+ ? mapper.providerId! === "hardcoded-attribute-mapper" && (
+
+ )
+ : ""}