@keycloakify/keycloak-admin-ui
Version:
Repackaged Keycloak Admin UI
55 lines • 3.02 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { useAlerts, useFetch } from "../ui-shared";
import { ActionGroup, AlertVariant, Button, Form, PageSection, } from "@patternfly/react-core";
import { FormProvider, useForm } from "react-hook-form";
import { useTranslation } from "react-i18next";
import { useNavigate } from "react-router-dom";
import { useAdminClient } from "../admin-client";
import { useRealm } from "../context/realm-context/RealmContext";
import { useParams } from "../utils/useParams";
import { KerberosSettingsRequired } from "../user-federation/kerberos/KerberosSettingsRequired";
import { toUserFederation } from "../user-federation/routes/UserFederation";
import { Header } from "../user-federation/shared/Header";
import { SettingsCache } from "../user-federation/shared/SettingsCache";
export default function UserFederationKerberosSettings() {
const { adminClient } = useAdminClient();
const { t } = useTranslation();
const form = useForm({ mode: "onChange" });
const navigate = useNavigate();
const { realm } = useRealm();
const { id } = useParams();
const { addAlert, addError } = useAlerts();
useFetch(async () => {
if (id) {
return adminClient.components.findOne({ id });
}
}, (fetchedComponent) => {
if (fetchedComponent) {
setupForm(fetchedComponent);
}
else if (id) {
throw new Error(t("notFound"));
}
}, []);
const setupForm = (component) => {
form.reset({ ...component });
};
const save = async (component) => {
try {
if (!id) {
await adminClient.components.create(component);
navigate(`/${realm}/user-federation`);
}
else {
await adminClient.components.update({ id }, component);
}
setupForm(component);
addAlert(t(!id ? "createUserProviderSuccess" : "userProviderSaveSuccess"), AlertVariant.success);
}
catch (error) {
addError(!id ? "createUserProviderError" : "userProviderSaveError", error);
}
};
return (_jsxs(FormProvider, { ...form, children: [_jsx(Header, { provider: "Kerberos", save: () => form.handleSubmit(save)() }), _jsx(PageSection, { variant: "light", children: _jsx(KerberosSettingsRequired, { form: form, showSectionHeading: true }) }), _jsxs(PageSection, { variant: "light", isFilled: true, children: [_jsx(SettingsCache, { form: form, showSectionHeading: true }), _jsx(Form, { onSubmit: form.handleSubmit(save), children: _jsxs(ActionGroup, { children: [_jsx(Button, { isDisabled: !form.formState.isDirty, variant: "primary", type: "submit", "data-testid": "kerberos-save", children: t("save") }), _jsx(Button, { variant: "link", onClick: () => navigate(toUserFederation({ realm })), "data-testid": "kerberos-cancel", children: t("cancel") })] }) })] })] }));
}
//# sourceMappingURL=UserFederationKerberosSettings.js.map