UNPKG

@keycloakify/keycloak-admin-ui

Version:
36 lines 2.29 kB
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