@keycloakify/keycloak-admin-ui
Version:
Repackaged Keycloak Admin UI
22 lines • 3.33 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
import { Fragment, useState } from "react";
import { useTranslation } from "react-i18next";
import { Alert, Button, ButtonVariant, Divider, Form, FormGroup, Modal, Radio, Switch, } from "@patternfly/react-core";
import { JsonFileUpload } from "../../components/json-file-upload/JsonFileUpload";
import { HelpItem } from "../../ui-shared";
export const ImportDialog = ({ onConfirm, closeDialog }) => {
const { t } = useTranslation();
const [imported, setImported] = useState({});
return (_jsxs(Modal, { title: t("import"), isOpen: true, variant: "small", onClose: closeDialog, actions: [
_jsx(Button, { id: "modal-confirm", onClick: () => {
onConfirm(imported);
closeDialog();
}, "data-testid": "confirm", children: t("confirm") }, "confirm"),
_jsx(Button, { "data-testid": "cancel", id: "modal-cancel", variant: ButtonVariant.link, onClick: () => {
closeDialog();
}, children: t("cancel") }, "cancel"),
], children: [_jsx(Form, { children: _jsx(JsonFileUpload, { id: "import-resource", onChange: setImported }) }), Object.keys(imported).length !== 0 && (_jsxs(_Fragment, { children: [_jsx(Divider, {}), _jsx("p", { className: "pf-v5-u-my-lg", children: t("importResources") }), _jsxs(Form, { isHorizontal: true, children: [_jsx(FormGroup, { label: t("policyEnforcementMode"), labelIcon: _jsx(HelpItem, { helpText: t("policyEnforcementModeHelp"), fieldLabelId: "policyEnforcementMode" }), fieldId: "policyEnforcementMode", hasNoPaddingTop: true, children: _jsx(Radio, { id: "policyEnforcementMode", name: "policyEnforcementMode", label: t(`policyEnforcementModes.${imported.policyEnforcementMode}`), isChecked: true, isDisabled: true, className: "pf-v5-u-mb-md" }) }), _jsx(FormGroup, { label: t("decisionStrategy"), labelIcon: _jsx(HelpItem, { helpText: t("decisionStrategyHelp"), fieldLabelId: "decisionStrategy" }), fieldId: "decisionStrategy", hasNoPaddingTop: true, children: _jsx(Radio, { id: "decisionStrategy", name: "decisionStrategy", isChecked: true, isDisabled: true, label: t(`decisionStrategies.${imported.decisionStrategy}`), className: "pf-v5-u-mb-md" }) }), _jsx(FormGroup, { hasNoPaddingTop: true, label: t("allowRemoteResourceManagement"), fieldId: "allowRemoteResourceManagement", labelIcon: _jsx(HelpItem, { helpText: t("allowRemoteResourceManagement"), fieldLabelId: "allowRemoteResourceManagement" }), children: _jsx(Switch, { id: "allowRemoteResourceManagement", label: t("on"), labelOff: t("off"), isChecked: imported.allowRemoteResourceManagement, isDisabled: true, "aria-label": t("allowRemoteResourceManagement") }) })] }), _jsx("div", { className: "pf-v5-u-mt-md", children: Object.entries(imported)
.filter(([, value]) => Array.isArray(value))
.map(([key, value]) => (_jsxs(Fragment, { children: [_jsx(Divider, {}), _jsx("p", { className: "pf-v5-u-my-sm", children: _jsxs("strong", { children: [value.length, " ", t(key)] }) })] }, key))) }), _jsx(Divider, {}), _jsx(Alert, { variant: "warning", className: "pf-v5-u-mt-lg", isInline: true, title: t("importWarning") })] }))] }));
};
//# sourceMappingURL=ImportDialog.js.map