UNPKG

@keycloakify/keycloak-admin-ui

Version:
39 lines 2.43 kB
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime"; import { FormGroup, Title } from "@patternfly/react-core"; import { useFormContext } from "react-hook-form"; import { useTranslation } from "react-i18next"; import { FormErrorText, HelpItem } from "../../ui-shared"; import { useAdminClient } from "../../admin-client"; import { JsonFileUpload } from "../../components/json-file-upload/JsonFileUpload"; import { DiscoveryEndpointField } from "../../identity-providers/component/DiscoveryEndpointField"; import { DiscoverySettings } from "../../identity-providers/add/DiscoverySettings"; export const OpenIdConnectSettings = () => { const { adminClient } = useAdminClient(); const { t } = useTranslation(); const id = "oidc"; const { setValue, setError, clearErrors, formState: { errors }, } = useFormContext(); const setupForm = (result) => { Object.keys(result).map((k) => setValue(`config.${k}`, result[k])); }; const fileUpload = async (obj) => { clearErrors("discoveryError"); if (!obj) { return; } const formData = new FormData(); formData.append("providerId", id); formData.append("file", new Blob([JSON.stringify(obj)])); try { const result = await adminClient.identityProviders.importFromUrl(formData); setupForm(result); } catch (error) { setError("discoveryError", { type: "manual", message: error.message, }); } }; return (_jsxs(_Fragment, { children: [_jsx(Title, { headingLevel: "h2", size: "xl", className: "kc-form-panel__title", children: t("oidcSettings") }), _jsx(DiscoveryEndpointField, { id: "oidc", fileUpload: _jsxs(FormGroup, { label: t("importConfig"), fieldId: "kc-import-config", labelIcon: _jsx(HelpItem, { helpText: t("importConfigHelp"), fieldLabelId: "importConfig" }), children: [_jsx(JsonFileUpload, { id: "kc-import-config", helpText: t("identity=providers-help:jsonFileUpload"), hideDefaultPreview: true, unWrap: true, validated: errors.discoveryError ? "error" : "default", onChange: (value) => fileUpload(value) }), errors.discoveryError && (_jsx(FormErrorText, { message: errors.discoveryError.message }))] }), children: (readonly) => _jsx(DiscoverySettings, { readOnly: readonly }) })] })); }; //# sourceMappingURL=OpenIdConnectSettings.js.map