UNPKG

@openshift-assisted/ui-lib

Version:

React component library for the Assisted Installer UI

62 lines 3.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ProgressBarTexts = void 0; const tslib_1 = require("tslib"); const react_1 = tslib_1.__importDefault(require("react")); const check_circle_icon_1 = require("@patternfly/react-icons/dist/js/icons/check-circle-icon"); const exclamation_circle_icon_1 = require("@patternfly/react-icons/dist/js/icons/exclamation-circle-icon"); const in_progress_icon_1 = require("@patternfly/react-icons/dist/js/icons/in-progress-icon"); const global_danger_color_100_1 = require("@patternfly/react-tokens/dist/js/global_danger_color_100"); const global_success_color_100_1 = require("@patternfly/react-tokens/dist/js/global_success_color_100"); const ClusterProgressItem_1 = tslib_1.__importDefault(require("./ClusterProgressItem")); const use_translation_wrapper_1 = require("../../hooks/use-translation-wrapper"); const ProgressBarTexts = ({ hosts, hostRole }) => { const { t } = (0, use_translation_wrapper_1.useTranslation)(); const hostRoleText = hostRole === 'master' ? t('ai:Control Plane', { count: hosts.length }) : t('ai:Worker', { count: hosts.length }); if (hosts.some((host) => ['cancelled', 'error'].includes(host.status))) { const failedHostsCount = hosts.filter((host) => host.status === 'error').length; return (react_1.default.createElement(ClusterProgressItem_1.default, { icon: react_1.default.createElement(exclamation_circle_icon_1.ExclamationCircleIcon, { color: global_danger_color_100_1.global_danger_color_100.value }) }, react_1.default.createElement(react_1.default.Fragment, null, hostRoleText, react_1.default.createElement("br", null), react_1.default.createElement("small", null, failedHostsCount, "/", hostRole === 'master' ? t('ai:{{count}} control plane node failed', { count: hosts.length }) : t('ai:{{count}} worker failed', { count: hosts.length }))))); } const installedHosts = hosts.filter((host) => ['installed', 'added-to-existing-cluster'].includes(host.status)); const beingInstalledHosts = hosts.filter((host) => [ 'preparing-for-installation', 'preparing-successful', 'pending-for-input', 'installing', 'installing-in-progress', 'installing-pending-user-action', 'resetting-pending-user-action', 'resetting', ].includes(host.status)); if (beingInstalledHosts.length > 0) { return (react_1.default.createElement(ClusterProgressItem_1.default, { icon: react_1.default.createElement(in_progress_icon_1.InProgressIcon, null) }, react_1.default.createElement(react_1.default.Fragment, null, hostRoleText, react_1.default.createElement("br", null), react_1.default.createElement("small", null, hostRole === 'master' ? t('ai:Installing {{count}} control plane node', { count: beingInstalledHosts.length, }) : t('ai:Installing {{count}} worker', { count: beingInstalledHosts.length }))))); } return (react_1.default.createElement(ClusterProgressItem_1.default, { icon: react_1.default.createElement(check_circle_icon_1.CheckCircleIcon, { color: global_success_color_100_1.global_success_color_100.value }) }, react_1.default.createElement(react_1.default.Fragment, null, hostRoleText, react_1.default.createElement("br", null), react_1.default.createElement("small", null, hostRole === 'master' ? t('ai:{{count}} control plane node installed', { count: installedHosts.length }) : t('ai:{{count}} worker installed', { count: installedHosts.length }))))); }; exports.ProgressBarTexts = ProgressBarTexts; //# sourceMappingURL=ProgressBarTexts.js.map