UNPKG

@openshift-assisted/ui-lib

Version:

React component library for the Assisted Installer UI

38 lines 3.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const react_core_1 = require("@patternfly/react-core"); const React = tslib_1.__importStar(require("react")); const common_1 = require("../../../common"); const toAssisted_1 = require("../helpers/toAssisted"); const status_1 = require("../helpers/status"); require("@patternfly/react-styles/css/utilities/Text/text.css"); const AdditionalNTPSourcesDialogToggle_1 = require("../ClusterDeployment/AdditionalNTPSourcesDialogToggle"); const use_translation_wrapper_1 = require("../../../common/hooks/use-translation-wrapper"); const ValidationsRunningAlert_1 = tslib_1.__importDefault(require("../common/ValidationsRunningAlert")); const agentStatus_1 = require("../helpers/agentStatus"); const SpecSyncErrAlert_1 = tslib_1.__importDefault(require("../common/SpecSyncErrAlert")); const AgentStatus = ({ agent, onApprove, onEditHostname, zIndex, wizardStepId, isDay2, }) => { var _a; const { t } = (0, use_translation_wrapper_1.useTranslation)(); const [host] = (0, toAssisted_1.getAIHosts)([agent]); const editHostname = onEditHostname ? () => onEditHostname(agent) : undefined; const pendingApproval = !agent.spec.approved; const hostname = (0, common_1.getHostname)(host, ((_a = agent.status) === null || _a === void 0 ? void 0 : _a.inventory) || {}); const agentStatuses = (0, agentStatus_1.agentStatus)(t); const status = wizardStepId ? (0, status_1.getWizardStepAgentStatus)(agent, wizardStepId, t) : (0, status_1.getAgentStatus)(agent, agentStatuses, false); const showValidationsRunning = isDay2 && Object.values(status.validationsInfo).some((valInfo) => valInfo.some((v) => ['pending', 'error', 'failure'].includes(v.status))); return (React.createElement(common_1.HostStatus, Object.assign({ host: host, onEditHostname: editHostname, zIndex: zIndex, AdditionalNTPSourcesDialogToggleComponent: AdditionalNTPSourcesDialogToggle_1.AdditionalNTPSourcesDialogToggle, autoCSR: true, additionalPopoverContent: status.status.key === 'specSyncErr' ? (React.createElement(react_core_1.StackItem, null, React.createElement(SpecSyncErrAlert_1.default, { agent: agent }))) : showValidationsRunning ? (React.createElement(react_core_1.StackItem, null, React.createElement(ValidationsRunningAlert_1.default, null))) : undefined }, status), pendingApproval && onApprove && (React.createElement(react_core_1.Popover, { "aria-label": t('ai:Approve host popover'), minWidth: "30rem", maxWidth: "50rem", headerContent: React.createElement("div", null, t('ai:Approve host to join infrastructure environment')), bodyContent: React.createElement(react_core_1.Stack, { hasGutter: true }, React.createElement(react_core_1.StackItem, null, t('ai:Make sure that you expect and recognize the host before approving.')), React.createElement(react_core_1.StackItem, null, hostname && React.createElement(React.Fragment, null, t('ai:Hostname: {{hostname}}', { hostname })))), footerContent: // eslint-disable-next-line @typescript-eslint/no-misused-promises React.createElement(react_core_1.Button, { variant: "link", onClick: () => onApprove(agent), isInline: true }, t('ai:Approve host')) }, React.createElement(react_core_1.Button, { variant: "link", isInline: true, className: "pf-v5-u-font-size-xs" }, t('ai:Approve host')))))); }; exports.default = AgentStatus; //# sourceMappingURL=AgentStatus.js.map