UNPKG

@openshift-assisted/ui-lib

Version:

React component library for the Assisted Installer UI

58 lines 4.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const React = tslib_1.__importStar(require("react")); const react_core_1 = require("@patternfly/react-core"); const formik_1 = require("formik"); const common_1 = require("../../../common"); const OcmFormFields_1 = require("../ui/OcmFormFields"); const ClusterWizardContext_1 = require("../clusterWizard/ClusterWizardContext"); const DeleteCustomManifestModal_1 = tslib_1.__importDefault(require("./manifestsConfiguration/DeleteCustomManifestModal")); const services_1 = require("../../services"); const apis_1 = require("../../services/apis"); const Label = () => { return (React.createElement(React.Fragment, null, "Include custom manifests", ' ', React.createElement(common_1.PopoverIcon, { noVerticalAlign: true, bodyContent: React.createElement("p", null, "Incorporate third-party manifests that are not supported in Assisted Installer and APIs.") }))); }; const CustomManifestCheckbox = ({ clusterId, isDisabled }) => { const [{ name }, { value }, { setValue }] = (0, formik_1.useField)('addCustomManifest'); const fieldId = (0, common_1.getFieldId)(name, 'input'); const clusterWizardContext = (0, ClusterWizardContext_1.useClusterWizardContext)(); const [isDeleteCustomManifestsOpen, setDeleteCustomManifestsOpen] = React.useState(false); const cleanCustomManifests = React.useCallback(() => tslib_1.__awaiter(void 0, void 0, void 0, function* () { const { data: manifests } = yield apis_1.ClustersAPI.getManifests(clusterId); void services_1.ClustersService.removeClusterManifests(manifests, clusterId); setValue(false); clusterWizardContext.setCustomManifestsStep(false); setDeleteCustomManifestsOpen(false); yield clusterWizardContext.updateUISettings({ addCustomManifests: false, customManifestsAdded: false, }); }), [clusterWizardContext, setValue, clusterId]); const onChange = React.useCallback((checked) => { var _a; if (!checked && ((_a = clusterWizardContext.uiSettings) === null || _a === void 0 ? void 0 : _a.customManifestsAdded)) { setDeleteCustomManifestsOpen(true); } setValue(checked); clusterWizardContext.setCustomManifestsStep(checked); }, [setValue, clusterWizardContext, setDeleteCustomManifestsOpen]); const onClose = React.useCallback(() => { setValue(true); clusterWizardContext.setCustomManifestsStep(true); setDeleteCustomManifestsOpen(false); }, [clusterWizardContext, setValue]); return (React.createElement(React.Fragment, null, React.createElement(react_core_1.FormGroup, { id: `form-control__${fieldId}`, isInline: true, fieldId: fieldId }, React.createElement(OcmFormFields_1.OcmCheckbox, { id: fieldId, name: name, label: React.createElement(Label, null), "aria-describedby": `${fieldId}-helper`, description: React.createElement(react_core_1.FormGroup, null, React.createElement(react_core_1.FormHelperText, null, React.createElement(react_core_1.HelperText, { id: fieldId }, React.createElement(react_core_1.HelperTextItem, null, "Additional manifests will be applied at the install time for advanced configuration of the cluster.")))), onChange: (_event, value) => onChange(value), className: "with-tooltip", isChecked: value, isDisabled: isDisabled }), React.createElement(DeleteCustomManifestModal_1.default, { isOpen: isDeleteCustomManifestsOpen, onClose: onClose, onDelete: () => void cleanCustomManifests() })), value && (React.createElement(react_core_1.Alert, { isInline: true, variant: "info", title: 'This is an advanced configuration feature.' }, "Custom manifests will be added to the wizard as a new step.")))); }; exports.default = CustomManifestCheckbox; //# sourceMappingURL=CustomManifestCheckbox.js.map