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 ( + + ); +};