diff --git a/src/stories/UserFedWizard.stories.tsx b/src/stories/UserFedKerberosWizard.stories.tsx
similarity index 89%
rename from src/stories/UserFedWizard.stories.tsx
rename to src/stories/UserFedKerberosWizard.stories.tsx
index f09c92648f..b503ea5aef 100644
--- a/src/stories/UserFedWizard.stories.tsx
+++ b/src/stories/UserFedKerberosWizard.stories.tsx
@@ -4,7 +4,7 @@ import { Page } from "@patternfly/react-core";
import { UserFederationKerberosWizard } from "../user-federation/UserFederationKerberosWizard";
export default {
- title: "User Federation Wizard",
+ title: "User Federation Kerberos Wizard",
component: UserFederationKerberosWizard,
} as Meta;
diff --git a/src/stories/UserFedLdapWizard.stories.tsx b/src/stories/UserFedLdapWizard.stories.tsx
new file mode 100644
index 0000000000..9dcd3e3141
--- /dev/null
+++ b/src/stories/UserFedLdapWizard.stories.tsx
@@ -0,0 +1,17 @@
+import React from "react";
+import { Meta } from "@storybook/react";
+import { Page } from "@patternfly/react-core";
+import { UserFederationLdapWizard } from "../user-federation/UserFederationLdapWizard";
+
+export default {
+ title: "User Federation LDAP Wizard",
+ component: UserFederationLdapWizard,
+} as Meta;
+
+export const view = () => {
+ return (
+
+
+
+ );
+};
diff --git a/src/user-federation/UserFederationKerberosWizard.tsx b/src/user-federation/UserFederationKerberosWizard.tsx
index 6b052935de..1275c895c6 100644
--- a/src/user-federation/UserFederationKerberosWizard.tsx
+++ b/src/user-federation/UserFederationKerberosWizard.tsx
@@ -9,7 +9,11 @@ export const UserFederationKerberosWizard = () => {
const steps = [
{ name: "Required settings", component: },
- { name: "Cache settings", component: },
+ {
+ name: "Cache settings",
+ component: ,
+ nextButtonText: "Finish", // TODO: needs to disable until cache policy is valid
+ },
];
const title = "Add Kerberos user federation provider";
diff --git a/src/user-federation/UserFederationLdapWizard.tsx b/src/user-federation/UserFederationLdapWizard.tsx
new file mode 100644
index 0000000000..1ee28eafa9
--- /dev/null
+++ b/src/user-federation/UserFederationLdapWizard.tsx
@@ -0,0 +1,156 @@
+import {
+ Button,
+ Wizard,
+ WizardContextConsumer,
+ WizardFooter,
+} from "@patternfly/react-core";
+import { useTranslation } from "react-i18next";
+import React from "react";
+import { LdapSettingsGeneral } from "./LdapSettingsGeneral";
+import { LdapSettingsConnection } from "./LdapSettingsConnection";
+import { LdapSettingsSearching } from "./LdapSettingsSearching";
+import { LdapSettingsSynchronization } from "./LdapSettingsSynchronization";
+import { LdapSettingsKerberosIntegration } from "./LdapSettingsKerberosIntegration";
+import { LdapSettingsCache } from "./LdapSettingsCache";
+import { LdapSettingsAdvanced } from "./LdapSettingsAdvanced";
+
+export const UserFederationLdapWizard = () => {
+ const { t } = useTranslation("user-federation");
+
+ const steps = [
+ {
+ name: "Required settings",
+ id: "ldapRequiredSettingsStep",
+ component: ,
+ },
+ {
+ name: "Connection settings",
+ id: "ldapConnectionSettingsStep",
+ component: ,
+ },
+ {
+ name: "Searching settings",
+ id: "ldapSearchingSettingsStep",
+ component: ,
+ },
+ {
+ name: "Synchronization settings",
+ id: "ldapSynchronizationSettingsStep",
+ component: ,
+ },
+ {
+ name: "KerberosIntegration settings",
+ id: "ldapKerberosIntegrationSettingsStep",
+ component: ,
+ },
+ {
+ name: "Cache settings",
+ id: "ldapCacheSettingsStep",
+ component: ,
+ },
+ {
+ name: "Advanced settings",
+ id: "ldapAdvancedSettingsStep",
+ component: ,
+ },
+ ];
+
+ const title = "Add LDAP user federation provider";
+
+ const footer = (
+
+
+ {({
+ activeStep,
+ goToStepByName,
+ goToStepById,
+ onNext,
+ onBack,
+ onClose,
+ }) => {
+ // First step buttons
+ if (activeStep.id == "ldapRequiredSettingsStep") {
+ return (
+ <>
+
+
+
+ >
+ );
+ }
+ // Other required step buttons
+ else if (
+ activeStep.id == "ldapConnectionSettingsStep" ||
+ activeStep.id == "ldapSearchingSettingsStep"
+ ) {
+ return (
+ <>
+
+
+
+ >
+ );
+ }
+ // Last step buttons
+ else if (activeStep.id == "ldapAdvancedSettingsStep") {
+ return (
+ <>
+
+
+
+ >
+ );
+ }
+ // All the other steps buttons
+ return (
+ <>
+
+
+
+
+ >
+ );
+ }}
+
+
+ );
+
+ return (
+
+ );
+};