@openshift-assisted/ui-lib
Version:
React component library for the Assisted Installer UI
60 lines • 4.48 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.MinimalHWRequirementsModal = exports.getHWRequirements = void 0;
const tslib_1 = require("tslib");
const React = tslib_1.__importStar(require("react"));
const react_core_1 = require("@patternfly/react-core");
const info_circle_icon_1 = require("@patternfly/react-icons/dist/js/icons/info-circle-icon");
const HostRequirements_1 = tslib_1.__importDefault(require("../../../common/components/hosts/HostRequirements"));
const use_translation_wrapper_1 = require("../../../common/hooks/use-translation-wrapper");
const common_1 = require("../../../common");
const getHWRequirements = (aiConfigMap) => {
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
let hwRequirements;
try {
const hwData = JSON.parse(((_a = aiConfigMap.data) === null || _a === void 0 ? void 0 : _a.HW_VALIDATOR_REQUIREMENTS) || '[]');
hwRequirements = hwData.find((req) => req.version === 'default');
}
catch (_l) {
// console.error('Failed to parse hw requirements config map');
hwRequirements = undefined;
}
return {
master: {
cpuCores: (_b = hwRequirements === null || hwRequirements === void 0 ? void 0 : hwRequirements.master) === null || _b === void 0 ? void 0 : _b.cpu_cores,
ramMib: (_c = hwRequirements === null || hwRequirements === void 0 ? void 0 : hwRequirements.master) === null || _c === void 0 ? void 0 : _c.ram_mib,
diskSizeGb: (_d = hwRequirements === null || hwRequirements === void 0 ? void 0 : hwRequirements.master) === null || _d === void 0 ? void 0 : _d.disk_size_gb,
},
worker: {
cpuCores: (_e = hwRequirements === null || hwRequirements === void 0 ? void 0 : hwRequirements.worker) === null || _e === void 0 ? void 0 : _e.cpu_cores,
ramMib: (_f = hwRequirements === null || hwRequirements === void 0 ? void 0 : hwRequirements.worker) === null || _f === void 0 ? void 0 : _f.ram_mib,
diskSizeGb: (_g = hwRequirements === null || hwRequirements === void 0 ? void 0 : hwRequirements.worker) === null || _g === void 0 ? void 0 : _g.disk_size_gb,
},
sno: {
cpuCores: (_h = hwRequirements === null || hwRequirements === void 0 ? void 0 : hwRequirements.sno) === null || _h === void 0 ? void 0 : _h.cpu_cores,
ramMib: (_j = hwRequirements === null || hwRequirements === void 0 ? void 0 : hwRequirements.sno) === null || _j === void 0 ? void 0 : _j.ram_mib,
diskSizeGb: (_k = hwRequirements === null || hwRequirements === void 0 ? void 0 : hwRequirements.sno) === null || _k === void 0 ? void 0 : _k.disk_size_gb,
},
};
};
exports.getHWRequirements = getHWRequirements;
const MinimalHWRequirements = ({ aiConfigMap, isSNOCluster, }) => {
const [isHostRequirementsOpen, setHostRequirementsOpen] = React.useState(false);
const { t } = (0, use_translation_wrapper_1.useTranslation)();
return (React.createElement(React.Fragment, null,
React.createElement(react_core_1.Button, { variant: react_core_1.ButtonVariant.link, onClick: () => setHostRequirementsOpen(true), isInline: true, className: "host-requirements-link" },
React.createElement(common_1.UiIcon, { size: "sm", status: "warning", icon: React.createElement(info_circle_icon_1.InfoCircleIcon, null) }),
"\u00A0",
t('ai:Minimum hardware requirements')),
React.createElement(exports.MinimalHWRequirementsModal, { isOpen: isHostRequirementsOpen, onClose: () => setHostRequirementsOpen(false), aiConfigMap: aiConfigMap, isSNOCluster: isSNOCluster })));
};
const MinimalHWRequirementsModal = ({ isOpen, aiConfigMap, isSNOCluster, onClose, }) => {
const { t } = (0, use_translation_wrapper_1.useTranslation)();
return (React.createElement(react_core_1.Modal, { title: t('ai:Minimum hardware requirements'), isOpen: isOpen, actions: [
React.createElement(react_core_1.Button, { key: "close", variant: react_core_1.ButtonVariant.primary, onClick: onClose }, t('ai:Close')),
], onClose: onClose, variant: react_core_1.ModalVariant.medium },
React.createElement(HostRequirements_1.default, Object.assign({}, (0, exports.getHWRequirements)(aiConfigMap), { isSNOCluster: isSNOCluster }))));
};
exports.MinimalHWRequirementsModal = MinimalHWRequirementsModal;
exports.default = MinimalHWRequirements;
//# sourceMappingURL=MinimalHWRequirements.js.map
;