UNPKG

@openshift-assisted/ui-lib

Version:

React component library for the Assisted Installer UI

59 lines 6.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const react_1 = tslib_1.__importDefault(require("react")); const react_core_1 = require("@patternfly/react-core"); const react_measure_1 = tslib_1.__importDefault(require("react-measure")); const common_1 = require("../../../common"); const helpers_1 = require("../helpers"); const MinimalHWRequirements_1 = tslib_1.__importDefault(require("../Agent/MinimalHWRequirements")); const modals_1 = require("../modals"); const ClusterDeploymentHostDiscoveryTable_1 = tslib_1.__importDefault(require("./ClusterDeploymentHostDiscoveryTable")); const use_translation_wrapper_1 = require("../../../common/hooks/use-translation-wrapper"); const AddHostDropdown_1 = tslib_1.__importDefault(require("../InfraEnv/AddHostDropdown")); const DiscoveryInstructions = () => { const { t } = (0, use_translation_wrapper_1.useTranslation)(); return (react_1.default.createElement(react_core_1.TextContent, null, react_1.default.createElement(react_core_1.Text, { component: "h3" }, t('ai:Adding hosts instructions')), react_1.default.createElement(react_core_1.TextList, { component: "ol", type: react_core_1.OrderType.number, style: { marginLeft: 0 } }, react_1.default.createElement(react_core_1.TextListItem, null, t('ai:Click the Add hosts button.')), react_1.default.createElement(react_core_1.TextListItem, null, t('ai:Configure the SSH key and proxy settings after the modal appears (optional).')), react_1.default.createElement(react_core_1.TextListItem, null, t("ai:Select how you'd like to add hosts (Discovery ISO, iPXE, or BMC form) and follow the instructions that appear.")), react_1.default.createElement(react_core_1.TextListItem, null, t('ai:Booted hosts should appear in the host inventory table. This may take a few minutes.'))))); }; const ClusterDeploymentHostsDiscovery = (_a) => { var { agentClusterInstall, agents, bareMetalHosts, aiConfigMap, infraEnv, infraNMStates, usedHostnames, onChangeHostname, onEditRole, onSetInstallationDiskId, onSaveBMH, fetchSecret, onChangeBMHHostname, onApproveAgent, onDeleteHost } = _a, rest = tslib_1.__rest(_a, ["agentClusterInstall", "agents", "bareMetalHosts", "aiConfigMap", "infraEnv", "infraNMStates", "usedHostnames", "onChangeHostname", "onEditRole", "onSetInstallationDiskId", "onSaveBMH", "fetchSecret", "onChangeBMHHostname", "onApproveAgent", "onDeleteHost"]); const [isDiscoveryHintModalOpen, setDiscoveryHintModalOpen] = react_1.default.useState(false); const [editBMH, setEditBMH] = react_1.default.useState(); const [editAgent, setEditAgent] = react_1.default.useState(); const isVM = true; // TODO(mlibra): calculate from agent's inventory const isSNOCluster = (0, helpers_1.getIsSNOCluster)(agentClusterInstall); const { t } = (0, use_translation_wrapper_1.useTranslation)(); return (react_1.default.createElement(react_core_1.Grid, { hasGutter: true }, react_1.default.createElement(react_core_1.GridItem, null, react_1.default.createElement(react_core_1.TextContent, null, react_1.default.createElement(DiscoveryInstructions, null))), react_1.default.createElement(react_core_1.GridItem, { span: 5 }, react_1.default.createElement(AddHostDropdown_1.default, Object.assign({ infraEnv: infraEnv, agentClusterInstall: agentClusterInstall, usedHostnames: usedHostnames }, rest))), react_1.default.createElement(react_core_1.GridItem, null, react_1.default.createElement(react_core_1.TextContent, null, react_1.default.createElement(react_core_1.Text, { component: "h3" }, t('ai:Information and warnings')), aiConfigMap && (react_1.default.createElement(react_core_1.Text, { component: "p" }, react_1.default.createElement(MinimalHWRequirements_1.default, { aiConfigMap: aiConfigMap, isSNOCluster: isSNOCluster }))), react_1.default.createElement(react_core_1.Text, { component: "p" }, react_1.default.createElement(common_1.HostsNotShowingLink, { setDiscoveryHintModalOpen: setDiscoveryHintModalOpen })), isVM && react_1.default.createElement(common_1.VMRebootConfigurationInfo, null))), react_1.default.createElement(react_core_1.GridItem, null, react_1.default.createElement(common_1.FormatDiskWarning, null)), react_1.default.createElement(react_core_1.GridItem, null, react_1.default.createElement(react_measure_1.default, { bounds: true }, ({ measureRef, contentRect }) => { var _a; return (react_1.default.createElement("div", { ref: measureRef }, react_1.default.createElement(ClusterDeploymentHostDiscoveryTable_1.default, { agents: agents, bareMetalHosts: bareMetalHosts, infraEnv: infraEnv, onEditHost: setEditAgent, onEditRole: onEditRole, onSetInstallationDiskId: onSetInstallationDiskId, onEditBMH: setEditBMH, onChangeHostname: onChangeHostname, onChangeBMHHostname: onChangeBMHHostname, onApprove: onApproveAgent, width: (_a = contentRect.bounds) === null || _a === void 0 ? void 0 : _a.width, onDeleteHost: onDeleteHost }))); }), react_1.default.createElement(modals_1.EditBMHModal, { infraEnv: infraEnv, bmh: editBMH, nmStates: infraNMStates, isOpen: !!editBMH, onClose: () => setEditBMH(undefined), onEdit: onSaveBMH, fetchSecret: fetchSecret, usedHostnames: usedHostnames || [] }), editAgent && (react_1.default.createElement(modals_1.EditAgentModal, { onClose: () => setEditAgent(undefined), usedHostnames: usedHostnames, agent: editAgent, onSave: (0, helpers_1.onAgentChangeHostname)(agents, bareMetalHosts, onChangeHostname, onChangeBMHHostname) }))), react_1.default.createElement(common_1.DiscoveryTroubleshootingModal, { isOpen: isDiscoveryHintModalOpen, setDiscoveryHintModalOpen: setDiscoveryHintModalOpen }))); }; exports.default = ClusterDeploymentHostsDiscovery; //# sourceMappingURL=ClusterDeploymentHostsDiscovery.js.map