@keycloakify/keycloak-admin-ui
Version:
Repackaged Keycloak Admin UI
36 lines • 2.29 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import { FormSubmitButton } from "../ui-shared";
import { ActionGroup, Button, PageSection } from "@patternfly/react-core";
import { FormProvider, useForm } from "react-hook-form";
import { useTranslation } from "react-i18next";
import { Link, useNavigate } from "react-router-dom";
import { useAdminClient } from "../admin-client";
import { useAlerts } from "../ui-shared";
import { FormAccess } from "../components/form/FormAccess";
import { ViewHeader } from "../components/view-header/ViewHeader";
import { useRealm } from "../context/realm-context/RealmContext";
import { OrganizationForm, convertToOrg, } from "../organizations/OrganizationForm";
import { toEditOrganization } from "../organizations/routes/EditOrganization";
import { toOrganizations } from "../organizations/routes/Organizations";
export default function NewOrganization() {
const { adminClient } = useAdminClient();
const { addAlert, addError } = useAlerts();
const { t } = useTranslation();
const navigate = useNavigate();
const { realm } = useRealm();
const form = useForm();
const { handleSubmit, formState } = form;
const save = async (org) => {
try {
const organization = convertToOrg(org);
const { id } = await adminClient.organizations.create(organization);
addAlert(t("organizationSaveSuccess"));
navigate(toEditOrganization({ realm, id, tab: "settings" }));
}
catch (error) {
addError("organizationSaveError", error);
}
};
return (_jsxs(_Fragment, { children: [_jsx(ViewHeader, { titleKey: "createOrganization" }), _jsx(PageSection, { variant: "light", children: _jsx(FormAccess, { role: "anyone", onSubmit: handleSubmit(save), isHorizontal: true, children: _jsxs(FormProvider, { ...form, children: [_jsx(OrganizationForm, {}), _jsxs(ActionGroup, { children: [_jsx(FormSubmitButton, { formState: formState, "data-testid": "save", children: t("save") }), _jsx(Button, { "data-testid": "cancel", variant: "link", component: (props) => (_jsx(Link, { ...props, to: toOrganizations({ realm }) })), children: t("cancel") })] })] }) }) })] }));
}
//# sourceMappingURL=NewOrganization.js.map