@openshift-assisted/ui-lib
Version:
React component library for the Assisted Installer UI
45 lines • 3.1 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const React = tslib_1.__importStar(require("react"));
const Yup = tslib_1.__importStar(require("yup"));
const react_core_1 = require("@patternfly/react-core");
const formik_1 = require("formik");
const common_1 = require("../../../common");
const utils_1 = require("./utils");
const use_translation_wrapper_1 = require("../../../common/hooks/use-translation-wrapper");
const validationSchema = Yup.object({
sshPublicKey: common_1.sshPublicKeyValidationSchema.required('An SSH key is required to debug hosts as they register.'),
});
const EditSSHKeyModal = ({ isOpen, onClose, infraEnv, onSubmit, hasAgents, hasBMHs, }) => {
var _a;
const [error, setError] = React.useState();
const { t } = (0, use_translation_wrapper_1.useTranslation)();
const warningMsg = (0, utils_1.getWarningMessage)(hasAgents, hasBMHs, t);
return (React.createElement(react_core_1.Modal, { "aria-label": t('ai:Edit SSH public key dialog'), title: t('ai:Edit SSH public key'), isOpen: isOpen, onClose: onClose, variant: react_core_1.ModalVariant.small, hasNoBodyWrapper: true, id: "edit-ssh-key-modal" },
React.createElement(formik_1.Formik, { initialValues: {
sshPublicKey: ((_a = infraEnv.spec) === null || _a === void 0 ? void 0 : _a.sshAuthorizedKey) || '',
}, validationSchema: validationSchema, onSubmit: (values) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
try {
yield onSubmit(values, infraEnv);
onClose();
}
catch (err) {
const error = err;
setError((error === null || error === void 0 ? void 0 : error.message) || t('ai:An error occured'));
}
}), validateOnMount: true }, ({ isSubmitting, isValid, submitForm }) => (React.createElement(React.Fragment, null,
React.createElement(react_core_1.ModalBoxBody, null,
React.createElement(react_core_1.Stack, { hasGutter: true },
React.createElement(react_core_1.StackItem, null,
React.createElement(react_core_1.Alert, { isInline: true, variant: "warning", title: warningMsg })),
React.createElement(react_core_1.StackItem, null,
React.createElement(common_1.UploadSSH, null)),
error && (React.createElement(react_core_1.StackItem, null,
React.createElement(react_core_1.Alert, { title: error, variant: "danger", isInline: true }))))),
React.createElement(react_core_1.ModalBoxFooter, null,
React.createElement(react_core_1.Button, { onClick: submitForm, isDisabled: isSubmitting || !isValid }, t('ai:Save')),
React.createElement(react_core_1.Button, { onClick: onClose, variant: react_core_1.ButtonVariant.secondary }, t('ai:Cancel'))))))));
};
exports.default = EditSSHKeyModal;
//# sourceMappingURL=EditSSHKeyModal.js.map